Hello, This patch series finally implements proper runtime PM support in Exynos IOMMU driver. This has been achieved by using recently introduce device links, which lets SYSMMU controller's runtime PM to follow master's device runtime PM state (the device which actually performs DMA transaction). The main idea behind this solution is an observation that any DMA activity from master device can be done only when master device is active, thus when master device is suspended SYSMMU controller device can also be suspended. This patchset solves the situation that power domains are always enabled, because all SYSMMU controllers (which belongs to those domains) are permanently active (because existing driver was simplified and kept SYSMMU device active all the time after initialization). Patch requires second version of Rafeal's "Functional dependencies between devices" patchset, which is available here: https://lkml.org/lkml/2016/9/8/798 If one wants to test this patchset, I've provided a branch with all needed patches (some fixes for Exynos4 FIMC-IS driver are needed): https://git.linaro.org/people/marek.szyprowski/linux-srpol.git v4.8-iommu-pm-v3 Patches are based on vanilla v4.8-rc6 kernel with Rafael's patches applied. Best regards Marek Szyprowski Samsung R&D Institute Poland Changelog: v3: - rebased on top of latest device dependencies/links patchset - added proper locking between runtime pm, iommu_attach/detach and sysmmu enable/disable(added per iommu owner device's rpm lock) v2: - replaced PM notifiers with generic device dependencies/links developped by Rafael J. Wysocki v1: http://www.spinics.net/lists/arm-kernel/msg509600.html - initial version Patch summary: Marek Szyprowski (2): iommu/exynos: Remove excessive, useless debug iommu/exynos: Add proper runtime pm support drivers/iommu/exynos-iommu.c | 228 ++++++++++++++++++------------------------- 1 file changed, 94 insertions(+), 134 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html