On 11/27/18 4:11 AM, Vivek Gautam wrote:
From: Sricharan R <sricha...@codeaurora.org>

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 also the functions to parse the smmu clocks
from DT and enable them in resume/suspend.
We pull all the information about clocks from device tree.

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.
Also add corresponding clock enable path in resume callback.

Signed-off-by: Sricharan R <sricha...@codeaurora.org>
Signed-off-by: Archit Taneja <arch...@codeaurora.org>
[Thor: Rework to get clocks from device tree]
Signed-off-by: Thor Thayer <thor.tha...@linux.intel.com>
[vivek: rework for clock and pm ops]
Signed-off-by: Vivek Gautam <vivek.gau...@codeaurora.org>
Reviewed-by: Tomasz Figa <tf...@chromium.org>
Tested-by: Srinivas Kandagatla <srinivas.kandaga...@linaro.org>
Reviewed-by: Robin Murphy <robin.mur...@arm.com>
---
  drivers/iommu/arm-smmu.c | 100 +++++++++++++++++++++++++++++++++++++++++++++--
  1 file changed, 97 insertions(+), 3 deletions(-)

diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 5a28ae892504..e47c840fc6a8 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -44,10 +44,12 @@
  #include <linux/module.h>
  #include <linux/of.h>
  #include <linux/of_address.h>
+#include <linux/of_clk.h>
  #include <linux/of_device.h>
  #include <linux/of_iommu.h>
  #include <linux/pci.h>
  #include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
  #include <linux/slab.h>
  #include <linux/spinlock.h>
 <snip>

Thanks! Tested the device tree clock portions on Intel SOCFPGA Stratix10 DevKit.

Tested-by: Thor Thayer <thor.tha...@linux.intel.com>
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to