[PATCH v4 4/4] OMAP3/4: iommu: adapt to runtime pm

Ramirez Luna, Omar omar.ramirez at ti.com
Fri Dec 23 11:30:53 EST 2011


On Mon, Dec 19, 2011 at 10:27 AM, Felipe Contreras
<felipe.contreras at gmail.com> wrote:
> On Fri, Dec 16, 2011 at 5:18 AM, Ramirez Luna, Omar <omar.ramirez at ti.com> wrote:
>> On Thu, Dec 15, 2011 at 6:53 PM, Felipe Contreras
>> <felipe.contreras at gmail.com> wrote:
>>> On Thu, Dec 15, 2011 at 6:18 AM, Omar Ramirez Luna <omar.ramirez at ti.com> wrote:
>>>> Use runtime PM functionality interfaced with hwmod enable/idle
>>>> functions, to replace direct clock operations, reset and sysconfig
>>>> handling.
>>>>
>>>> Removed clk handling during interrupt, given that in order to receive one,
>>>> the device should be powered on in advance. Now doing pm_runtime_get/put
>>>> on iommu_enable/disable so it doesn't rely on others to keep the clocks on.
>>>>
>>>> Signed-off-by: Omar Ramirez Luna <omar.ramirez at ti.com>
>>>> ---
>>>>  arch/arm/mach-omap2/iommu2.c             |   17 -----------
>>>>  arch/arm/mach-omap2/omap-iommu.c         |    1 -
>>>>  arch/arm/plat-omap/include/plat/iommu.h  |    2 -
>>>>  arch/arm/plat-omap/include/plat/iommu2.h |    2 -
>>>>  drivers/iommu/omap-iommu.c               |   44 ++++++++++++-----------------
>>>>  5 files changed, 18 insertions(+), 48 deletions(-)
>>>
>>> Shouldn't pm_runtime_enable() be called in omap_iommu_init(), and
>>> omap_iommu_probe() call pm_runtime_get_sync()/put() on the sections
>>> where the device should be active?
>>
>> omap_iommu_init is called on module init however omap_iommu_probe is
>> called by driver instance (isp, iva), on probe pm_runtime_enable
>> activates runtime for both isp and iva devices, one at a time.
>
> Yes, but omap_iommu_init() will *always* be called at boot time and
> will register the data for all the devices.

There are 2 omap_iommu_init :/ Thought you were talking about the one
in drivers/iommu/omap-iommu.c.

> If the 'iommu' module is
> never loaded, then the devices will remain active the whole time.

oma-iommu is meant to be built-in as part of the kernel, there is no
option for module anymore.

Regards,

Omar



More information about the linux-arm-kernel mailing list