linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
@ 2019-03-29  6:49 Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 2/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG " Andrey Smirnov
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Lucas Stach, Angus Ainslie, Chris Healy,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality(this at least
breaks RAVE SP serdev driver on RDU2). Fix the code to specify
IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect
clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx6qdl.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 9f9aa6e7ed0e..354feba077b2 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -949,7 +949,7 @@
 				compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
 				reg = <0x020ec000 0x4000>;
 				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&clks IMX6QDL_CLK_SDMA>,
+				clocks = <&clks IMX6QDL_CLK_IPG>,
 					 <&clks IMX6QDL_CLK_SDMA>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 2/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 3/9] ARM: dts: imx7d: Specify IMX7D_CLK_IPG " Andrey Smirnov
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX6SX_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX6SX_CLK_IPG as "ipg" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx6sx.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index df0c59519886..b16a123990a2 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -820,7 +820,7 @@
 				compatible = "fsl,imx6sx-sdma", "fsl,imx6q-sdma";
 				reg = <0x020ec000 0x4000>;
 				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&clks IMX6SX_CLK_SDMA>,
+				clocks = <&clks IMX6SX_CLK_IPG>,
 					 <&clks IMX6SX_CLK_SDMA>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 3/9] ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 2/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 4/9] ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG " Andrey Smirnov
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX7D_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX7D_CLK_IPG as "ipg" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx7s.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi
index e67c8dd4bdab..31c610e6c788 100644
--- a/arch/arm/boot/dts/imx7s.dtsi
+++ b/arch/arm/boot/dts/imx7s.dtsi
@@ -1071,8 +1071,8 @@
 				compatible = "fsl,imx7d-sdma", "fsl,imx35-sdma";
 				reg = <0x30bd0000 0x10000>;
 				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&clks IMX7D_SDMA_CORE_CLK>,
-					 <&clks IMX7D_AHB_CHANNEL_ROOT_CLK>;
+				clocks = <&clks IMX7D_IPG_ROOT_CLK>,
+					 <&clks IMX7D_SDMA_CORE_CLK>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
 				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 4/9] ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 2/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG " Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 3/9] ARM: dts: imx7d: Specify IMX7D_CLK_IPG " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 5/9] ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG " Andrey Smirnov
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX6UL_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX6UL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx6ul.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi
index a77bbcae4571..bbf010c73336 100644
--- a/arch/arm/boot/dts/imx6ul.dtsi
+++ b/arch/arm/boot/dts/imx6ul.dtsi
@@ -708,7 +708,7 @@
 					     "fsl,imx35-sdma";
 				reg = <0x020ec000 0x4000>;
 				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&clks IMX6UL_CLK_SDMA>,
+				clocks = <&clks IMX6UL_CLK_IPG>,
 					 <&clks IMX6UL_CLK_SDMA>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 5/9] ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG as "ipg" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (2 preceding siblings ...)
  2019-03-29  6:49 ` [PATCH v3 4/9] ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 6/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" " Andrey Smirnov
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX6SLL_CLK_SDMA result in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX6SLL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx6sll.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6sll.dtsi b/arch/arm/boot/dts/imx6sll.dtsi
index 62847c68330b..ed598d72038c 100644
--- a/arch/arm/boot/dts/imx6sll.dtsi
+++ b/arch/arm/boot/dts/imx6sll.dtsi
@@ -621,7 +621,7 @@
 				compatible = "fsl,imx6sll-sdma", "fsl,imx35-sdma";
 				reg = <0x020ec000 0x4000>;
 				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&clks IMX6SLL_CLK_SDMA>,
+				clocks = <&clks IMX6SLL_CLK_IPG>,
 					 <&clks IMX6SLL_CLK_SDMA>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 6/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (3 preceding siblings ...)
  2019-03-29  6:49 ` [PATCH v3 5/9] ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 7/9] ARM: dts: imx53: Specify IMX5_CLK_IPG " Andrey Smirnov
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX6SL_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX6SL_CLK_AHB as "ahb" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx6sl.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
index 0ad5d507abec..9ddbeea64b72 100644
--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -748,7 +748,7 @@
 				reg = <0x020ec000 0x4000>;
 				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX6SL_CLK_SDMA>,
-					 <&clks IMX6SL_CLK_SDMA>;
+					 <&clks IMX6SL_CLK_AHB>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
 				/* imx6sl reuses imx6q sdma firmware */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 7/9] ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (4 preceding siblings ...)
  2019-03-29  6:49 ` [PATCH v3 6/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 8/9] ARM: dts: imx51: " Andrey Smirnov
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX5_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX5_CLK_AHB as "ahb" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx53.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index b3300300aabe..9b672ed2486d 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -702,7 +702,7 @@
 				reg = <0x63fb0000 0x4000>;
 				interrupts = <6>;
 				clocks = <&clks IMX5_CLK_SDMA_GATE>,
-					 <&clks IMX5_CLK_SDMA_GATE>;
+					 <&clks IMX5_CLK_AHB>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
 				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 8/9] ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (5 preceding siblings ...)
  2019-03-29  6:49 ` [PATCH v3 7/9] ARM: dts: imx53: Specify IMX5_CLK_IPG " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-03-29  6:49 ` [PATCH v3 9/9] ARM: dts: imx50: " Andrey Smirnov
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX5_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX5_CLK_AHB as "ahb" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx51.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
index 0b28b68a17bb..e3fa3d213cd8 100644
--- a/arch/arm/boot/dts/imx51.dtsi
+++ b/arch/arm/boot/dts/imx51.dtsi
@@ -502,7 +502,7 @@
 				reg = <0x83fb0000 0x4000>;
 				interrupts = <6>;
 				clocks = <&clks IMX5_CLK_SDMA_GATE>,
-					 <&clks IMX5_CLK_SDMA_GATE>;
+					 <&clks IMX5_CLK_AHB>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
 				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v3 9/9] ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (6 preceding siblings ...)
  2019-03-29  6:49 ` [PATCH v3 8/9] ARM: dts: imx51: " Andrey Smirnov
@ 2019-03-29  6:49 ` Andrey Smirnov
  2019-04-10 18:47 ` [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" " Adam Ford
  2019-04-11  2:30 ` Shawn Guo
  9 siblings, 0 replies; 13+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:49 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Chris Healy, Lucas Stach,
	Fabio Estevam, linux-arm-kernel, linux-kernel

Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
clock to determine if it needs to configure the IP block as operating
at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
clocks as IMX5_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA funtionality. Fix the code
to specify IMX5_CLK_AHB as "ahb" clock for SDMA, to avoid detecting
incorrect clock ratio.

Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Angus Ainslie (Purism) <angus@akkea.ca>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
 arch/arm/boot/dts/imx50.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx50.dtsi b/arch/arm/boot/dts/imx50.dtsi
index 5dd61bff3b76..0bfe7c91d0eb 100644
--- a/arch/arm/boot/dts/imx50.dtsi
+++ b/arch/arm/boot/dts/imx50.dtsi
@@ -430,7 +430,7 @@
 				reg = <0x63fb0000 0x4000>;
 				interrupts = <6>;
 				clocks = <&clks IMX5_CLK_SDMA_GATE>,
-					 <&clks IMX5_CLK_SDMA_GATE>;
+					 <&clks IMX5_CLK_AHB>;
 				clock-names = "ipg", "ahb";
 				#dma-cells = <3>;
 				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx50.bin";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (7 preceding siblings ...)
  2019-03-29  6:49 ` [PATCH v3 9/9] ARM: dts: imx50: " Andrey Smirnov
@ 2019-04-10 18:47 ` Adam Ford
  2019-04-11  2:30 ` Shawn Guo
  9 siblings, 0 replies; 13+ messages in thread
From: Adam Ford @ 2019-04-10 18:47 UTC (permalink / raw)
  To: Andrey Smirnov
  Cc: Shawn Guo, Angus Ainslie, Linux Kernel Mailing List, Chris Healy,
	Fabio Estevam, arm-soc, Lucas Stach

On Fri, Mar 29, 2019 at 1:49 AM Andrey Smirnov <andrew.smirnov@gmail.com> wrote:
>
> Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
> clock to determine if it needs to configure the IP block as operating
> at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
> clocks as IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
> ratio is 1:1 which results in broken SDMA funtionality(this at least
> breaks RAVE SP serdev driver on RDU2). Fix the code to specify
> IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect
> clock ratio.
>
Thank you for this!  I the 5.1 kernel is the first revision to include
the i.MX6 kit from Logic PD and I thought I messed something up, so I
was off in a completely different direction trying to figure out why
it was broken.  With your patch, my board works again!

> Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> Reviewed-by: Lucas Stach <l.stach@pengutronix.de>

Tested-by: Adam Ford <aford173@gmail.com> #imx6q-logicpd

> Cc: Angus Ainslie (Purism) <angus@akkea.ca>
> Cc: Chris Healy <cphealy@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  arch/arm/boot/dts/imx6qdl.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index 9f9aa6e7ed0e..354feba077b2 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -949,7 +949,7 @@
>                                 compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
>                                 reg = <0x020ec000 0x4000>;
>                                 interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
> -                               clocks = <&clks IMX6QDL_CLK_SDMA>,
> +                               clocks = <&clks IMX6QDL_CLK_IPG>,
>                                          <&clks IMX6QDL_CLK_SDMA>;
>                                 clock-names = "ipg", "ahb";
>                                 #dma-cells = <3>;
> --
> 2.20.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
  2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
                   ` (8 preceding siblings ...)
  2019-04-10 18:47 ` [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" " Adam Ford
@ 2019-04-11  2:30 ` Shawn Guo
  2019-04-20 12:14   ` Adam Ford
  9 siblings, 1 reply; 13+ messages in thread
From: Shawn Guo @ 2019-04-11  2:30 UTC (permalink / raw)
  To: Andrey Smirnov
  Cc: Lucas Stach, Angus Ainslie, Chris Healy, Fabio Estevam,
	linux-arm-kernel, linux-kernel

On Thu, Mar 28, 2019 at 11:49:16PM -0700, Andrey Smirnov wrote:
> Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
> clock to determine if it needs to configure the IP block as operating
> at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
> clocks as IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
> ratio is 1:1 which results in broken SDMA funtionality(this at least
> breaks RAVE SP serdev driver on RDU2). Fix the code to specify
> IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect
> clock ratio.
> 
> Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")

Since we have a fix in the dma driver, I dropped the Fixes tag here.

Applied all, thanks.

Shawn

> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
> Cc: Angus Ainslie (Purism) <angus@akkea.ca>
> Cc: Chris Healy <cphealy@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  arch/arm/boot/dts/imx6qdl.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index 9f9aa6e7ed0e..354feba077b2 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -949,7 +949,7 @@
>  				compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
>  				reg = <0x020ec000 0x4000>;
>  				interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&clks IMX6QDL_CLK_SDMA>,
> +				clocks = <&clks IMX6QDL_CLK_IPG>,
>  					 <&clks IMX6QDL_CLK_SDMA>;
>  				clock-names = "ipg", "ahb";
>  				#dma-cells = <3>;
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
  2019-04-11  2:30 ` Shawn Guo
@ 2019-04-20 12:14   ` Adam Ford
  2019-04-20 13:33     ` Shawn Guo
  0 siblings, 1 reply; 13+ messages in thread
From: Adam Ford @ 2019-04-20 12:14 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Angus Ainslie, Linux Kernel Mailing List,
	Chris Healy, Fabio Estevam, arm-soc, Lucas Stach

On Wed, Apr 10, 2019 at 9:30 PM Shawn Guo <shawnguo@kernel.org> wrote:
>
> On Thu, Mar 28, 2019 at 11:49:16PM -0700, Andrey Smirnov wrote:
> > Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
> > clock to determine if it needs to configure the IP block as operating
> > at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
> > clocks as IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
> > ratio is 1:1 which results in broken SDMA funtionality(this at least
> > breaks RAVE SP serdev driver on RDU2). Fix the code to specify
> > IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect
> > clock ratio.
> >
> > Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
>
> Since we have a fix in the dma driver, I dropped the Fixes tag here.
>
> Applied all, thanks.

Do you know if the SDMA fixes will be back-ported to 5.0.y branch?  To
get 5.0 working, I need to manually apply the patches.

thanks

adam
>
> Shawn
>
> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> > Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Angus Ainslie (Purism) <angus@akkea.ca>
> > Cc: Chris Healy <cphealy@gmail.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > Cc: linux-arm-kernel@lists.infradead.org
> > Cc: linux-kernel@vger.kernel.org
> > ---
> >  arch/arm/boot/dts/imx6qdl.dtsi | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> > index 9f9aa6e7ed0e..354feba077b2 100644
> > --- a/arch/arm/boot/dts/imx6qdl.dtsi
> > +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> > @@ -949,7 +949,7 @@
> >                               compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
> >                               reg = <0x020ec000 0x4000>;
> >                               interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clks IMX6QDL_CLK_SDMA>,
> > +                             clocks = <&clks IMX6QDL_CLK_IPG>,
> >                                        <&clks IMX6QDL_CLK_SDMA>;
> >                               clock-names = "ipg", "ahb";
> >                               #dma-cells = <3>;
> > --
> > 2.20.1
> >
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
  2019-04-20 12:14   ` Adam Ford
@ 2019-04-20 13:33     ` Shawn Guo
  0 siblings, 0 replies; 13+ messages in thread
From: Shawn Guo @ 2019-04-20 13:33 UTC (permalink / raw)
  To: Adam Ford
  Cc: Andrey Smirnov, Angus Ainslie, Linux Kernel Mailing List,
	Chris Healy, Fabio Estevam, arm-soc, Lucas Stach

On Sat, Apr 20, 2019 at 07:14:26AM -0500, Adam Ford wrote:
> On Wed, Apr 10, 2019 at 9:30 PM Shawn Guo <shawnguo@kernel.org> wrote:
> >
> > On Thu, Mar 28, 2019 at 11:49:16PM -0700, Andrey Smirnov wrote:
> > > Since 25aaa75df1e6 SDMA driver uses clock rates of "ipg" and "ahb"
> > > clock to determine if it needs to configure the IP block as operating
> > > at 1:1 or 1:2 clock ratio (ACR bit in SDMAARM_CONFIG). Specifying both
> > > clocks as IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
> > > ratio is 1:1 which results in broken SDMA funtionality(this at least
> > > breaks RAVE SP serdev driver on RDU2). Fix the code to specify
> > > IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to avoid detecting incorrect
> > > clock ratio.
> > >
> > > Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
> >
> > Since we have a fix in the dma driver, I dropped the Fixes tag here.
> >
> > Applied all, thanks.
> 
> Do you know if the SDMA fixes will be back-ported to 5.0.y branch?  To
> get 5.0 working, I need to manually apply the patches.

I'm confused here.  The regression was caused by 25aaa75df1e6
("dmaengine: imx-sdma: add clock ratio 1:1 check"), which only lands on
mainline with v5.1-rc1.  How would 5.0.y branch need fixing?

Shawn

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-04-20 13:33 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-29  6:49 [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 2/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 3/9] ARM: dts: imx7d: Specify IMX7D_CLK_IPG " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 4/9] ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 5/9] ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 6/9] ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 7/9] ARM: dts: imx53: Specify IMX5_CLK_IPG " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 8/9] ARM: dts: imx51: " Andrey Smirnov
2019-03-29  6:49 ` [PATCH v3 9/9] ARM: dts: imx50: " Andrey Smirnov
2019-04-10 18:47 ` [PATCH v3 1/9] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" " Adam Ford
2019-04-11  2:30 ` Shawn Guo
2019-04-20 12:14   ` Adam Ford
2019-04-20 13:33     ` Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).