-
Sricharan R authored
The smmu needs to be functional only when the respective master's using it are active. The device_link feature helps to track such functional dependencies, so that the iommu gets powered when the master device enables itself using pm_runtime. So by adapting the smmu driver for runtime pm, above said dependency can be addressed. This patch adds the pm runtime/sleep callbacks to the driver and the corresponding bulk clock handling for all the clocks needed by smmu. Also, while we enable the runtime pm, add a pm sleep suspend callback that pushes devices to low power state by turning the clocks off in a system sleep. Add corresponding clock enable path in resume callback as well. Signed-off-by:
Sricharan R <sricharan@codeaurora.org> Signed-off-by:
Archit Taneja <architt@codeaurora.org> [Thor: Rework to get clocks from device tree] Signed-off-by:
Thor Thayer <thor.thayer@linux.intel.com> [vivek: rework for clock and pm ops] Signed-off-by:
Vivek Gautam <vivek.gautam@codeaurora.org> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Tested-by:
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by:
Robin Murphy <robin.murphy@arm.com> Tested-by:
Thor Thayer <thor.thayer@linux.intel.com> Signed-off-by:
Will Deacon <will.deacon@arm.com>
96a299d2