• Marek Szyprowski's avatar
    iommu/exynos: Use device dependency links to control runtime pm · 2f5f44f2
    Marek Szyprowski authored
    This patch uses recently introduced device dependency links to track the
    runtime pm state of the master's device. The goal is to let SYSMMU
    controller device's runtime PM to follow the runtime PM state of the
    respective master's device. This way each SYSMMU controller is active
    only when its master's device is active and can properly restore or save
    its state instead on runtime PM transition of master's device.
    This approach replaces old behavior, when SYSMMU controller was set to
    runtime active once after attaching to the master device. In the new
    approach SYSMMU controllers no longer prevents respective power domains
    to be turned off when master's device is not being used.
    
    This patch reduces total power consumption of idle system, because most
    power domains can be finally turned off. For example, on Exynos 4412
    based Odroid U3 this patch reduces power consuption from 136mA to 130mA
    at 5V (by 4.4%).
    
    The dependency links also enforce proper order of suspending/restoring
    devices during system sleep transition, so there is no more need to use
    LATE_SYSTEM_SLEEP_PM_OPS-based workaround for ensuring that SYSMMUs are
    suspended after their master devices.
    Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    2f5f44f2
exynos-iommu.c 37.6 KB