* [PATCHv3 0/2] iommu/arm-smmu: Add Stratix10 SMMU Support
@ 2018-10-03 22:28 ` thor.thayer-VuQAYsv1563Yd54FQh9/CA
0 siblings, 0 replies; 12+ messages in thread
From: thor.thayer @ 2018-10-03 22:28 UTC (permalink / raw)
To: dinguyen, robh+dt, mark.rutland, will.deacon, robin.murphy, joro,
aisheng.dong, sboyd
Cc: vivek.gautam, linux-clk, devicetree, linux-kernel,
linux-arm-kernel, iommu, Thor Thayer
From: Thor Thayer <thor.thayer@linux.intel.com>
Add SMMU support for the Stratix10 SOCFPGA. This patch requires
clock enables for the master TBUs and therefore has a dependency
on patches currently being reviewed.
This patchset is dependent on the patch series
"[PATCH V6 0/4] clk: new APIs to handle all available clocks"
(https://lkml.org/lkml/2018/8/31/97)
v1->v2 Change to dependency on
"iommu/arm-smmu: Add runtime pm/sleep support"
(https://patchwork.ozlabs.org/cover/946160/)
v2->v3 Change dependency on device tree bulk clock patches.
Thor Thayer (2):
arm64: dts: stratix10: Add Stratix10 SMMU support
iommu/arm-smmu: Add SMMU clock
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 28 +++++++++++++++++++++++
drivers/iommu/arm-smmu.c | 20 ++++++++++++++++
2 files changed, 48 insertions(+)
--
2.7.4
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv3 0/2] iommu/arm-smmu: Add Stratix10 SMMU Support
@ 2018-10-03 22:28 ` thor.thayer-VuQAYsv1563Yd54FQh9/CA
0 siblings, 0 replies; 12+ messages in thread
From: thor.thayer-VuQAYsv1563Yd54FQh9/CA @ 2018-10-03 22:28 UTC (permalink / raw)
To: dinguyen-DgEjT+Ai2ygdnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
mark.rutland-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
robin.murphy-5wv7dgnIgG8, joro-zLv9SwRftAIdnm+yROfE0A,
aisheng.dong-3arQi8VN3Tc, sboyd-DgEjT+Ai2ygdnm+yROfE0A
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
linux-clk-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Thor Thayer <thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Add SMMU support for the Stratix10 SOCFPGA. This patch requires
clock enables for the master TBUs and therefore has a dependency
on patches currently being reviewed.
This patchset is dependent on the patch series
"[PATCH V6 0/4] clk: new APIs to handle all available clocks"
(https://lkml.org/lkml/2018/8/31/97)
v1->v2 Change to dependency on
"iommu/arm-smmu: Add runtime pm/sleep support"
(https://patchwork.ozlabs.org/cover/946160/)
v2->v3 Change dependency on device tree bulk clock patches.
Thor Thayer (2):
arm64: dts: stratix10: Add Stratix10 SMMU support
iommu/arm-smmu: Add SMMU clock
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 28 +++++++++++++++++++++++
drivers/iommu/arm-smmu.c | 20 ++++++++++++++++
2 files changed, 48 insertions(+)
--
2.7.4
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv3 0/2] iommu/arm-smmu: Add Stratix10 SMMU Support
@ 2018-10-03 22:28 ` thor.thayer-VuQAYsv1563Yd54FQh9/CA
0 siblings, 0 replies; 12+ messages in thread
From: thor.thayer at linux.intel.com @ 2018-10-03 22:28 UTC (permalink / raw)
To: linux-arm-kernel
From: Thor Thayer <thor.thayer@linux.intel.com>
Add SMMU support for the Stratix10 SOCFPGA. This patch requires
clock enables for the master TBUs and therefore has a dependency
on patches currently being reviewed.
This patchset is dependent on the patch series
"[PATCH V6 0/4] clk: new APIs to handle all available clocks"
(https://lkml.org/lkml/2018/8/31/97)
v1->v2 Change to dependency on
"iommu/arm-smmu: Add runtime pm/sleep support"
(https://patchwork.ozlabs.org/cover/946160/)
v2->v3 Change dependency on device tree bulk clock patches.
Thor Thayer (2):
arm64: dts: stratix10: Add Stratix10 SMMU support
iommu/arm-smmu: Add SMMU clock
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 28 +++++++++++++++++++++++
drivers/iommu/arm-smmu.c | 20 ++++++++++++++++
2 files changed, 48 insertions(+)
--
2.7.4
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv3 1/2] arm64: dts: stratix10: Add Stratix10 SMMU support
2018-10-03 22:28 ` thor.thayer-VuQAYsv1563Yd54FQh9/CA
@ 2018-10-03 22:28 ` thor.thayer at linux.intel.com
-1 siblings, 0 replies; 12+ messages in thread
From: thor.thayer @ 2018-10-03 22:28 UTC (permalink / raw)
To: dinguyen, robh+dt, mark.rutland, will.deacon, robin.murphy, joro,
aisheng.dong, sboyd
Cc: vivek.gautam, linux-clk, devicetree, linux-kernel,
linux-arm-kernel, iommu, Thor Thayer
From: Thor Thayer <thor.thayer@linux.intel.com>
Add SMMU support to the Stratix10 Device Tree which
includes adding the SMMU node and adding IOMMU stream
ids to the SMMU peripherals.
Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
---
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 28 +++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
index 42c411dd35b9..aa870a768996 100644
--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
@@ -137,6 +137,7 @@
reset-names = "stmmaceth", "stmmaceth-ocp";
clocks = <&clkmgr STRATIX10_EMAC0_CLK>;
clock-names = "stmmaceth";
+ iommus = <&smmu 1>;
status = "disabled";
};
@@ -150,6 +151,7 @@
reset-names = "stmmaceth", "stmmaceth-ocp";
clocks = <&clkmgr STRATIX10_EMAC1_CLK>;
clock-names = "stmmaceth";
+ iommus = <&smmu 2>;
status = "disabled";
};
@@ -163,6 +165,7 @@
reset-names = "stmmaceth", "stmmaceth-ocp";
clocks = <&clkmgr STRATIX10_EMAC2_CLK>;
clock-names = "stmmaceth";
+ iommus = <&smmu 3>;
status = "disabled";
};
@@ -273,6 +276,7 @@
clocks = <&clkmgr STRATIX10_L4_MP_CLK>,
<&clkmgr STRATIX10_SDMMC_CLK>;
clock-names = "biu", "ciu";
+ iommus = <&smmu 5>;
status = "disabled";
};
@@ -307,6 +311,28 @@
altr,modrst-offset = <0x20>;
};
+ smmu: iommu@fa000000 {
+ compatible = "arm,mmu-500", "arm,smmu-v2";
+ reg = <0xfa000000 0x40000>;
+ #global-interrupts = <2>;
+ #iommu-cells = <1>;
+ clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>;
+ interrupt-parent = <&intc>;
+ interrupts = <0 128 4>, /* Global Secure Fault */
+ <0 129 4>, /* Global Non-secure Fault */
+ /* Non-secure Context Interrupts (32) */
+ <0 138 4>, <0 139 4>, <0 140 4>, <0 141 4>,
+ <0 142 4>, <0 143 4>, <0 144 4>, <0 145 4>,
+ <0 146 4>, <0 147 4>, <0 148 4>, <0 149 4>,
+ <0 150 4>, <0 151 4>, <0 152 4>, <0 153 4>,
+ <0 154 4>, <0 155 4>, <0 156 4>, <0 157 4>,
+ <0 158 4>, <0 159 4>, <0 160 4>, <0 161 4>,
+ <0 162 4>, <0 163 4>, <0 164 4>, <0 165 4>,
+ <0 166 4>, <0 167 4>, <0 168 4>, <0 169 4>;
+ stream-match-mask = <0x7ff0>;
+ status = "disabled";
+ };
+
spi0: spi@ffda4000 {
compatible = "snps,dw-apb-ssi";
#address-cells = <1>;
@@ -416,6 +442,7 @@
resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>;
reset-names = "dwc2", "dwc2-ecc";
clocks = <&clkmgr STRATIX10_USB_CLK>;
+ iommus = <&smmu 6>;
status = "disabled";
};
@@ -428,6 +455,7 @@
resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>;
reset-names = "dwc2", "dwc2-ecc";
clocks = <&clkmgr STRATIX10_USB_CLK>;
+ iommus = <&smmu 7>;
status = "disabled";
};
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCHv3 1/2] arm64: dts: stratix10: Add Stratix10 SMMU support
@ 2018-10-03 22:28 ` thor.thayer at linux.intel.com
0 siblings, 0 replies; 12+ messages in thread
From: thor.thayer at linux.intel.com @ 2018-10-03 22:28 UTC (permalink / raw)
To: linux-arm-kernel
From: Thor Thayer <thor.thayer@linux.intel.com>
Add SMMU support to the Stratix10 Device Tree which
includes adding the SMMU node and adding IOMMU stream
ids to the SMMU peripherals.
Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
---
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 28 +++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
index 42c411dd35b9..aa870a768996 100644
--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
@@ -137,6 +137,7 @@
reset-names = "stmmaceth", "stmmaceth-ocp";
clocks = <&clkmgr STRATIX10_EMAC0_CLK>;
clock-names = "stmmaceth";
+ iommus = <&smmu 1>;
status = "disabled";
};
@@ -150,6 +151,7 @@
reset-names = "stmmaceth", "stmmaceth-ocp";
clocks = <&clkmgr STRATIX10_EMAC1_CLK>;
clock-names = "stmmaceth";
+ iommus = <&smmu 2>;
status = "disabled";
};
@@ -163,6 +165,7 @@
reset-names = "stmmaceth", "stmmaceth-ocp";
clocks = <&clkmgr STRATIX10_EMAC2_CLK>;
clock-names = "stmmaceth";
+ iommus = <&smmu 3>;
status = "disabled";
};
@@ -273,6 +276,7 @@
clocks = <&clkmgr STRATIX10_L4_MP_CLK>,
<&clkmgr STRATIX10_SDMMC_CLK>;
clock-names = "biu", "ciu";
+ iommus = <&smmu 5>;
status = "disabled";
};
@@ -307,6 +311,28 @@
altr,modrst-offset = <0x20>;
};
+ smmu: iommu at fa000000 {
+ compatible = "arm,mmu-500", "arm,smmu-v2";
+ reg = <0xfa000000 0x40000>;
+ #global-interrupts = <2>;
+ #iommu-cells = <1>;
+ clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>;
+ interrupt-parent = <&intc>;
+ interrupts = <0 128 4>, /* Global Secure Fault */
+ <0 129 4>, /* Global Non-secure Fault */
+ /* Non-secure Context Interrupts (32) */
+ <0 138 4>, <0 139 4>, <0 140 4>, <0 141 4>,
+ <0 142 4>, <0 143 4>, <0 144 4>, <0 145 4>,
+ <0 146 4>, <0 147 4>, <0 148 4>, <0 149 4>,
+ <0 150 4>, <0 151 4>, <0 152 4>, <0 153 4>,
+ <0 154 4>, <0 155 4>, <0 156 4>, <0 157 4>,
+ <0 158 4>, <0 159 4>, <0 160 4>, <0 161 4>,
+ <0 162 4>, <0 163 4>, <0 164 4>, <0 165 4>,
+ <0 166 4>, <0 167 4>, <0 168 4>, <0 169 4>;
+ stream-match-mask = <0x7ff0>;
+ status = "disabled";
+ };
+
spi0: spi at ffda4000 {
compatible = "snps,dw-apb-ssi";
#address-cells = <1>;
@@ -416,6 +442,7 @@
resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>;
reset-names = "dwc2", "dwc2-ecc";
clocks = <&clkmgr STRATIX10_USB_CLK>;
+ iommus = <&smmu 6>;
status = "disabled";
};
@@ -428,6 +455,7 @@
resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>;
reset-names = "dwc2", "dwc2-ecc";
clocks = <&clkmgr STRATIX10_USB_CLK>;
+ iommus = <&smmu 7>;
status = "disabled";
};
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
2018-10-03 22:28 ` thor.thayer-VuQAYsv1563Yd54FQh9/CA
@ 2018-10-03 22:28 ` thor.thayer at linux.intel.com
-1 siblings, 0 replies; 12+ messages in thread
From: thor.thayer @ 2018-10-03 22:28 UTC (permalink / raw)
To: dinguyen, robh+dt, mark.rutland, will.deacon, robin.murphy, joro,
aisheng.dong, sboyd
Cc: vivek.gautam, linux-clk, devicetree, linux-kernel,
linux-arm-kernel, iommu, Thor Thayer
From: Thor Thayer <thor.thayer@linux.intel.com>
Add a clock to the SMMU structure. In the device tree case,
check for a clock node and enable the clock if found.
This patch is dependent upon the following patches that add
a device tree bulk clock function.
"[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
https://patchwork.kernel.org/patch/10583133/
"[V6, 2/4] clk: add new APIs to operation on all available
clocks"
https://patchwork.kernel.org/patch/10583131/
"[V6, 3/4] clk: add managerged version of clk_bulk_get_all"
https://patchwork.kernel.org/patch/10583139/
Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
---
drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 5a28ae892504..0f4596b42ca7 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -213,6 +213,8 @@ struct arm_smmu_device {
/* IOMMU core code handle */
struct iommu_device iommu;
+ int num_clks;
+ struct clk_bulk_data *clks;
};
enum arm_smmu_context_fmt {
@@ -2038,6 +2040,17 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev,
const struct arm_smmu_match_data *data;
struct device *dev = &pdev->dev;
bool legacy_binding;
+ int ret;
+
+ /* If a clock is declared, enable it */
+ ret = devm_clk_bulk_get_all(smmu->dev, &smmu->clks);
+ if (IS_ERR(ret)) {
+ smmu->clks = NULL;
+ dev_dbg(dev, "cannot get smmu clock\n");
+ } else {
+ smmu->num_clks = ret;
+ clk_bulk_prepare_enable(smmu->num_clks, smmu->clks);
+ }
if (of_property_read_u32(dev->of_node, "#global-interrupts",
&smmu->num_global_irqs)) {
@@ -2236,6 +2249,10 @@ static int arm_smmu_device_remove(struct platform_device *pdev)
/* Turn the thing off */
writel(sCR0_CLIENTPD, ARM_SMMU_GR0_NS(smmu) + ARM_SMMU_GR0_sCR0);
+
+ if (smmu->clks)
+ clk_bulk_disable_unprepare(smmu->num_clks, smmu->clks);
+
return 0;
}
@@ -2248,6 +2265,9 @@ static int __maybe_unused arm_smmu_pm_resume(struct device *dev)
{
struct arm_smmu_device *smmu = dev_get_drvdata(dev);
+ if (smmu->clks)
+ clk_bulk_prepare_enable(smmu->num_clks, smmu->clks);
+
arm_smmu_device_reset(smmu);
return 0;
}
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
@ 2018-10-03 22:28 ` thor.thayer at linux.intel.com
0 siblings, 0 replies; 12+ messages in thread
From: thor.thayer at linux.intel.com @ 2018-10-03 22:28 UTC (permalink / raw)
To: linux-arm-kernel
From: Thor Thayer <thor.thayer@linux.intel.com>
Add a clock to the SMMU structure. In the device tree case,
check for a clock node and enable the clock if found.
This patch is dependent upon the following patches that add
a device tree bulk clock function.
"[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
https://patchwork.kernel.org/patch/10583133/
"[V6, 2/4] clk: add new APIs to operation on all available
clocks"
https://patchwork.kernel.org/patch/10583131/
"[V6, 3/4] clk: add managerged version of clk_bulk_get_all"
https://patchwork.kernel.org/patch/10583139/
Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
---
drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 5a28ae892504..0f4596b42ca7 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -213,6 +213,8 @@ struct arm_smmu_device {
/* IOMMU core code handle */
struct iommu_device iommu;
+ int num_clks;
+ struct clk_bulk_data *clks;
};
enum arm_smmu_context_fmt {
@@ -2038,6 +2040,17 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev,
const struct arm_smmu_match_data *data;
struct device *dev = &pdev->dev;
bool legacy_binding;
+ int ret;
+
+ /* If a clock is declared, enable it */
+ ret = devm_clk_bulk_get_all(smmu->dev, &smmu->clks);
+ if (IS_ERR(ret)) {
+ smmu->clks = NULL;
+ dev_dbg(dev, "cannot get smmu clock\n");
+ } else {
+ smmu->num_clks = ret;
+ clk_bulk_prepare_enable(smmu->num_clks, smmu->clks);
+ }
if (of_property_read_u32(dev->of_node, "#global-interrupts",
&smmu->num_global_irqs)) {
@@ -2236,6 +2249,10 @@ static int arm_smmu_device_remove(struct platform_device *pdev)
/* Turn the thing off */
writel(sCR0_CLIENTPD, ARM_SMMU_GR0_NS(smmu) + ARM_SMMU_GR0_sCR0);
+
+ if (smmu->clks)
+ clk_bulk_disable_unprepare(smmu->num_clks, smmu->clks);
+
return 0;
}
@@ -2248,6 +2265,9 @@ static int __maybe_unused arm_smmu_pm_resume(struct device *dev)
{
struct arm_smmu_device *smmu = dev_get_drvdata(dev);
+ if (smmu->clks)
+ clk_bulk_prepare_enable(smmu->num_clks, smmu->clks);
+
arm_smmu_device_reset(smmu);
return 0;
}
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
@ 2018-10-04 18:49 ` Vivek Gautam
0 siblings, 0 replies; 12+ messages in thread
From: Vivek Gautam @ 2018-10-04 18:49 UTC (permalink / raw)
To: thor.thayer, dinguyen, robh+dt, mark.rutland, will.deacon,
robin.murphy, joro, aisheng.dong, sboyd
Cc: linux-clk, devicetree, linux-kernel, linux-arm-kernel, iommu
Hi Thor,
On 10/4/2018 3:58 AM, thor.thayer@linux.intel.com wrote:
> From: Thor Thayer <thor.thayer@linux.intel.com>
>
> Add a clock to the SMMU structure. In the device tree case,
> check for a clock node and enable the clock if found.
>
> This patch is dependent upon the following patches that add
> a device tree bulk clock function.
> "[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
> https://patchwork.kernel.org/patch/10583133/
> "[V6, 2/4] clk: add new APIs to operation on all available
> clocks"
> https://patchwork.kernel.org/patch/10583131/
> "[V6, 3/4] clk: add managerged version of clk_bulk_get_all"
> https://patchwork.kernel.org/patch/10583139/
>
> Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
> ---
> drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
The clock part is already handled by one of the patch in the
runtime pm series of arm-smmu [1]. This patch should not be needed.
[1] https://patchwork.kernel.org/patch/10581899/
[...]
Regards
Vivek
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
@ 2018-10-04 18:49 ` Vivek Gautam
0 siblings, 0 replies; 12+ messages in thread
From: Vivek Gautam @ 2018-10-04 18:49 UTC (permalink / raw)
To: thor.thayer-VuQAYsv1563Yd54FQh9/CA,
dinguyen-DgEjT+Ai2ygdnm+yROfE0A, robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
mark.rutland-5wv7dgnIgG8, will.deacon-5wv7dgnIgG8,
robin.murphy-5wv7dgnIgG8, joro-zLv9SwRftAIdnm+yROfE0A,
aisheng.dong-3arQi8VN3Tc, sboyd-DgEjT+Ai2ygdnm+yROfE0A
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
linux-clk-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
Hi Thor,
On 10/4/2018 3:58 AM, thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org wrote:
> From: Thor Thayer <thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
>
> Add a clock to the SMMU structure. In the device tree case,
> check for a clock node and enable the clock if found.
>
> This patch is dependent upon the following patches that add
> a device tree bulk clock function.
> "[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
> https://patchwork.kernel.org/patch/10583133/
> "[V6, 2/4] clk: add new APIs to operation on all available
> clocks"
> https://patchwork.kernel.org/patch/10583131/
> "[V6, 3/4] clk: add managerged version of clk_bulk_get_all"
> https://patchwork.kernel.org/patch/10583139/
>
> Signed-off-by: Thor Thayer <thor.thayer-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
> ---
> drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
The clock part is already handled by one of the patch in the
runtime pm series of arm-smmu [1]. This patch should not be needed.
[1] https://patchwork.kernel.org/patch/10581899/
[...]
Regards
Vivek
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
@ 2018-10-04 18:49 ` Vivek Gautam
0 siblings, 0 replies; 12+ messages in thread
From: Vivek Gautam @ 2018-10-04 18:49 UTC (permalink / raw)
To: linux-arm-kernel
Hi Thor,
On 10/4/2018 3:58 AM, thor.thayer at linux.intel.com wrote:
> From: Thor Thayer <thor.thayer@linux.intel.com>
>
> Add a clock to the SMMU structure. In the device tree case,
> check for a clock node and enable the clock if found.
>
> This patch is dependent upon the following patches that add
> a device tree bulk clock function.
> "[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
> https://patchwork.kernel.org/patch/10583133/
> "[V6, 2/4] clk: add new APIs to operation on all available
> clocks"
> https://patchwork.kernel.org/patch/10583131/
> "[V6, 3/4] clk: add managerged version of clk_bulk_get_all"
> https://patchwork.kernel.org/patch/10583139/
>
> Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
> ---
> drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
The clock part is already handled by one of the patch in the
runtime pm series of arm-smmu [1]. This patch should not be needed.
[1] https://patchwork.kernel.org/patch/10581899/
[...]
Regards
Vivek
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
2018-10-04 18:49 ` Vivek Gautam
@ 2018-10-04 21:00 ` Thor Thayer
-1 siblings, 0 replies; 12+ messages in thread
From: Thor Thayer @ 2018-10-04 21:00 UTC (permalink / raw)
To: Vivek Gautam, dinguyen, robh+dt, mark.rutland, will.deacon,
robin.murphy, joro, aisheng.dong, sboyd
Cc: linux-clk, devicetree, linux-kernel, linux-arm-kernel, iommu
Hi Vivek,
On 10/04/2018 01:49 PM, Vivek Gautam wrote:
> Hi Thor,
>
>
> On 10/4/2018 3:58 AM, thor.thayer@linux.intel.com wrote:
>> From: Thor Thayer <thor.thayer@linux.intel.com>
>>
>> Add a clock to the SMMU structure. In the device tree case,
>> check for a clock node and enable the clock if found.
>>
>> This patch is dependent upon the following patches that add
>> a device tree bulk clock function.
>> "[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
>> https://patchwork.kernel.org/patch/10583133/
>> "[V6, 2/4] clk: add new APIs to operation on all available
>> clocks"
>> https://patchwork.kernel.org/patch/10583131/
>> "[V6, 3/4] clk: add managed version of clk_bulk_get_all"
>> https://patchwork.kernel.org/patch/10583139/
>>
>> Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
>> ---
>> drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
>> 1 file changed, 20 insertions(+)
>
> The clock part is already handled by one of the patch in the
> runtime pm series of arm-smmu [1]. This patch should not be needed.
>
> [1] https://patchwork.kernel.org/patch/10581899/
>
> [...]
>
> Regards
> Vivek
>
Thanks. FYI, I had problems applying [v16,2/5] on [1] but was able to
apply [v17,2/5] cleanly.
The bigger issue is that with your patchset I need to create a new
structure for my variation of the ARM SMMUv2 due to the
of_device_get_match_data() call in arm_smmu_device_dt_probe(). I want to
use the default arm_mmu500 but it doesn't have a clock specified and I
end up with num_clks of 0.
Creating a new smmu_match_data structure for each variant feels wrong
because I have the clock data specified in my device tree. The
of_clk_bulk_get() call handles this nicely but that patchset isn't
getting much attention.
I'll investigate adding the of_clk_bulk_get() call on top of your
patches. This may simplify your patches too since the additional
structures in [v16,5/5] wouldn't be needed.
Thanks,
Thor
[1] git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git - next
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock
@ 2018-10-04 21:00 ` Thor Thayer
0 siblings, 0 replies; 12+ messages in thread
From: Thor Thayer @ 2018-10-04 21:00 UTC (permalink / raw)
To: linux-arm-kernel
Hi Vivek,
On 10/04/2018 01:49 PM, Vivek Gautam wrote:
> Hi Thor,
>
>
> On 10/4/2018 3:58 AM, thor.thayer at linux.intel.com wrote:
>> From: Thor Thayer <thor.thayer@linux.intel.com>
>>
>> Add a clock to the SMMU structure. In the device tree case,
>> check for a clock node and enable the clock if found.
>>
>> This patch is dependent upon the following patches that add
>> a device tree bulk clock function.
>> "[V6, 1/4] clk: bulk: add of_clk_bulk_get()"
>> https://patchwork.kernel.org/patch/10583133/
>> "[V6, 2/4] clk: add new APIs to operation on all available
>> clocks"
>> https://patchwork.kernel.org/patch/10583131/
>> "[V6, 3/4] clk: add managed version of clk_bulk_get_all"
>> https://patchwork.kernel.org/patch/10583139/
>>
>> Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com>
>> ---
>> ? drivers/iommu/arm-smmu.c | 20 ++++++++++++++++++++
>> ? 1 file changed, 20 insertions(+)
>
> The clock part is already handled by one of the patch in the
> runtime pm series of arm-smmu [1]. This patch should not be needed.
>
> [1] https://patchwork.kernel.org/patch/10581899/
>
> [...]
>
> Regards
> Vivek
>
Thanks. FYI, I had problems applying [v16,2/5] on [1] but was able to
apply [v17,2/5] cleanly.
The bigger issue is that with your patchset I need to create a new
structure for my variation of the ARM SMMUv2 due to the
of_device_get_match_data() call in arm_smmu_device_dt_probe(). I want to
use the default arm_mmu500 but it doesn't have a clock specified and I
end up with num_clks of 0.
Creating a new smmu_match_data structure for each variant feels wrong
because I have the clock data specified in my device tree. The
of_clk_bulk_get() call handles this nicely but that patchset isn't
getting much attention.
I'll investigate adding the of_clk_bulk_get() call on top of your
patches. This may simplify your patches too since the additional
structures in [v16,5/5] wouldn't be needed.
Thanks,
Thor
[1] git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git - next
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-10-04 21:02 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-03 22:28 [PATCHv3 0/2] iommu/arm-smmu: Add Stratix10 SMMU Support thor.thayer
2018-10-03 22:28 ` thor.thayer at linux.intel.com
2018-10-03 22:28 ` thor.thayer-VuQAYsv1563Yd54FQh9/CA
2018-10-03 22:28 ` [PATCHv3 1/2] arm64: dts: stratix10: Add Stratix10 SMMU support thor.thayer
2018-10-03 22:28 ` thor.thayer at linux.intel.com
2018-10-03 22:28 ` [PATCHv3 2/2] iommu/arm-smmu: Add SMMU clock thor.thayer
2018-10-03 22:28 ` thor.thayer at linux.intel.com
2018-10-04 18:49 ` Vivek Gautam
2018-10-04 18:49 ` Vivek Gautam
2018-10-04 18:49 ` Vivek Gautam
2018-10-04 21:00 ` Thor Thayer
2018-10-04 21:00 ` Thor Thayer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.