* [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 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 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 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
* [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 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
* 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.