[PATCH V2] ARM: PMU: fix runtime PM enable
Kevin Hilman
khilman at deeprootsystems.com
Thu Oct 25 17:38:54 EDT 2012
Jon Hunter <jon-hunter at ti.com> writes:
> Commit 7be2958 (ARM: PMU: Add runtime PM Support) updated the ARM PMU code to
> use runtime PM which was prototyped and validated on the OMAP devices. In this
> commit, there is no call pm_runtime_enable() and for OMAP devices
> pm_runtime_enable() is currently being called from the OMAP PMU code when the
> PMU device is created. However, there are two problems with this:
>
> 1. For any other ARM device wishing to use runtime PM for PMU they will need
> to call pm_runtime_enable() for runtime PM to work.
> 2. When booting with device-tree and using device-tree to create the PMU
> device, pm_runtime_enable() needs to be called from within the ARM PERF
> driver as we are no longer calling any device specific code to create the
> device. Hence, PMU does not work on OMAP devices that use the runtime PM
> callbacks when using device-tree to create the PMU device.
>
> Therefore, call pm_runtime_enable() directly from the ARM PMU driver when
> registering the device. For platforms that do not use runtime PM,
> pm_runtime_enable() does nothing and for platforms that do use runtime PM but
> may not require it specifically for PMU, this will just add a little overhead
> when initialising and uninitialising the PMU device.
>
> Tested with PERF on OMAP2420, OMAP3430 and OMAP4460.
>
> V2 changes:
> - Call pm_runtime_enable() unconditionally on registering the PMU device.
>
> Signed-off-by: Jon Hunter <jon-hunter at ti.com>
Acked-by: Kevin Hilman <khilman at ti.com>
More information about the linux-arm-kernel
mailing list