hwspinlocks: disable runtime PM
authorSebastien Jan <s-jan@ti.com>
Mon, 2 Jan 2012 10:33:31 +0000 (18:33 +0800)
committerAndy Green <andy.green@linaro.org>
Mon, 2 Jan 2012 10:33:31 +0000 (18:33 +0800)
On 3.1 kernel, rpm_idle takes 2.7ms when usage_count=0 (this function
runs under a spinlock with irqs disabled).
The root cause is not known yet, but this is clearly not expected and
is much shorter on 3.0 based kernel.
This causes x2 cpu-load and performances drop on a video decode
use-case using IVAHD (and syslink) on OMAP4. Disabling rpm brings back
load and performance figures in line with k3.0.

While the root-cause is not identified and fixed, keep runtime-pm
disabled for hwspinlocks.

Signed-off-by: Sebastien Jan <s-jan@ti.com>

arch/arm/plat-omap/hwspinlock.c

index 7cfe877..a33478f 100644 (file)
@@ -288,7 +288,6 @@ static int __devinit hwspinlock_probe(struct platform_device *pdev)
                hwspinlocks[id].lock_reg        = io_base + pdata->
                                        lock_base_offset + sizeof(u32) * id;
        }
-       pm_runtime_enable(&pdev->dev);
 
        return 0;
 }