linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA
@ 2019-03-25  5:01 Andrey Smirnov
  2019-03-25 10:39 ` Lucas Stach
  2019-03-25 10:49 ` Fabio Estevam
  0 siblings, 2 replies; 6+ messages in thread
From: Andrey Smirnov @ 2019-03-25  5:01 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 IMX6QDL_CLK_SDMA results in driver incorrectly thinking that
ratio is 1:1 which results in broken SDMA functionality(this at least
breaks RAVE SP serdev driver on RDU2). Fix the code to specify
IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to the problem.

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
---

This probably has been fixed already, so please ignore this patch if
that is the case.

Thanks,
Andrey Smirnov

 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] 6+ messages in thread

* Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA
  2019-03-25  5:01 [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA Andrey Smirnov
@ 2019-03-25 10:39 ` Lucas Stach
  2019-03-25 10:49 ` Fabio Estevam
  1 sibling, 0 replies; 6+ messages in thread
From: Lucas Stach @ 2019-03-25 10:39 UTC (permalink / raw)
  To: Andrey Smirnov, Shawn Guo
  Cc: Angus Ainslie, Chris Healy, Fabio Estevam, linux-arm-kernel,
	linux-kernel

Am Sonntag, den 24.03.2019, 22:01 -0700 schrieb Andrey Smirnov:
> 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 functionality(this at least
> breaks RAVE SP serdev driver on RDU2). Fix the code to specify
> IMX6QDL_CLK_IPG as "ipg" clock for SDMA, to the problem.

As this is breaking DT backward compatibility, I think we need a
blacklist in the driver for SOCs where the DT is known to be broken.

But fixing the broken DT is still a good idea, so:

Reviewed-by: Lucas Stach <l.stach@pengutronix.de>

> 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
> ---
> 
> This probably has been fixed already, so please ignore this patch if
> that is the case.
> 
> Thanks,
> Andrey Smirnov
> 
>  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>;

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

* Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA
  2019-03-25  5:01 [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA Andrey Smirnov
  2019-03-25 10:39 ` Lucas Stach
@ 2019-03-25 10:49 ` Fabio Estevam
  2019-03-27  2:52   ` Andrey Smirnov
  1 sibling, 1 reply; 6+ messages in thread
From: Fabio Estevam @ 2019-03-25 10:49 UTC (permalink / raw)
  To: Andrey Smirnov
  Cc: Shawn Guo, Angus Ainslie, linux-kernel, Chris Healy,
	Fabio Estevam,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Lucas Stach

Hi Andrey,

On Mon, Mar 25, 2019 at 2:01 AM Andrey Smirnov <andrew.smirnov@gmail.com> wrote:

> 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>,

This problem affects other i.MX SoCs, such as i,MX6SX as originally
reported here:
https://patchwork.kernel.org/patch/10864867/

So I think we need either a  dtsi fix for the other i.MX SoCs or maybe
a fix in the SDMA driver?

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

* Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA
  2019-03-25 10:49 ` Fabio Estevam
@ 2019-03-27  2:52   ` Andrey Smirnov
  2019-03-27 11:17     ` Fabio Estevam
  0 siblings, 1 reply; 6+ messages in thread
From: Andrey Smirnov @ 2019-03-27  2:52 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Shawn Guo, Angus Ainslie, linux-kernel, Chris Healy,
	Fabio Estevam,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Lucas Stach

On Mon, Mar 25, 2019 at 3:49 AM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Andrey,
>
> On Mon, Mar 25, 2019 at 2:01 AM Andrey Smirnov <andrew.smirnov@gmail.com> wrote:
>
> > 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>,
>
> This problem affects other i.MX SoCs, such as i,MX6SX as originally
> reported here:
> https://patchwork.kernel.org/patch/10864867/
>
> So I think we need either a  dtsi fix for the other i.MX SoCs or maybe
> a fix in the SDMA driver?

I think it is worth fixing in DT, regardless if we do anything about
SDMA driver or not. I'll add fixes for 6SX and 7D in v2.

Thanks,
Andrey Smirnov

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

* Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA
  2019-03-27  2:52   ` Andrey Smirnov
@ 2019-03-27 11:17     ` Fabio Estevam
  2019-03-29  6:33       ` Andrey Smirnov
  0 siblings, 1 reply; 6+ messages in thread
From: Fabio Estevam @ 2019-03-27 11:17 UTC (permalink / raw)
  To: Andrey Smirnov
  Cc: Shawn Guo, Angus Ainslie, linux-kernel, Chris Healy,
	Fabio Estevam,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Lucas Stach

Hi Andrey,

On Tue, Mar 26, 2019 at 11:52 PM Andrey Smirnov
<andrew.smirnov@gmail.com> wrote:

> I think it is worth fixing in DT, regardless if we do anything about
> SDMA driver or not. I'll add fixes for 6SX and 7D in v2.

What about imx25, imx31, imx50, imx51, imx53, imx6sl, imx6ul, imx6sll,
imx6ull, etc?

If we plan to fix the DT files, I think we should cover all i.MX SoCs then.

Thanks

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

* Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA
  2019-03-27 11:17     ` Fabio Estevam
@ 2019-03-29  6:33       ` Andrey Smirnov
  0 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2019-03-29  6:33 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Shawn Guo, Angus Ainslie, linux-kernel, Chris Healy,
	Fabio Estevam,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	Lucas Stach

On Wed, Mar 27, 2019 at 4:17 AM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Andrey,
>
> On Tue, Mar 26, 2019 at 11:52 PM Andrey Smirnov
> <andrew.smirnov@gmail.com> wrote:
>
> > I think it is worth fixing in DT, regardless if we do anything about
> > SDMA driver or not. I'll add fixes for 6SX and 7D in v2.
>
> What about imx25, imx31, imx50, imx51, imx53, imx6sl, imx6ul, imx6sll,
> imx6ull, etc?
>

I believe imx25, imx31, imx35 already have proper clocks configured.
I'll add the rest in v3.

Thanks,
Andrey Smirnov

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

end of thread, other threads:[~2019-03-29  6:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-25  5:01 [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA Andrey Smirnov
2019-03-25 10:39 ` Lucas Stach
2019-03-25 10:49 ` Fabio Estevam
2019-03-27  2:52   ` Andrey Smirnov
2019-03-27 11:17     ` Fabio Estevam
2019-03-29  6:33       ` Andrey Smirnov

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).