• Omar Ramirez Luna's avatar
    iommu/omap: Adapt to runtime pm · ebf7cda0
    Omar Ramirez Luna authored
    Use runtime PM functionality interfaced with hwmod enable/idle
    functions, to replace direct clock operations and sysconfig
    handling.
    
    Due to reset sequence, pm_runtime_[get|put]_sync must be used, to
    avoid possible operations with the module under reset. Because of
    this and given that the driver uses spin_locks to protect their
    critical sections, we must use pm_runtime_irq_safe in order for the
    runtime ops to be happy, otherwise might_sleep_if checks in runtime
    framework will complain.
    
    The remaining pm_runtime out of iommu_enable and iommu_disable
    corresponds to paths that can be accessed through debugfs, some of
    them doesn't work if the module is not enabled first, but in future
    if the mmu is idled withouth freeing, these are needed to debug.
    Signed-off-by: default avatarOmar Ramirez Luna <omar.luna@linaro.org>
    Tested-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
    Acked-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
    ebf7cda0
omap-iommu.c 1.79 KB