Messages in this thread | | | Subject | Re: [PATCH] ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock for SDMA | From | Lucas Stach <> | Date | Mon, 25 Mar 2019 11:39:10 +0100 |
| |
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>;
| |