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 <[email protected]>

> Fixes: 25aaa75df1e6 ("dmaengine: imx-sdma: add clock ratio 1:1 check")
> > Signed-off-by: Andrey Smirnov <[email protected]>
> > Cc: Angus Ainslie (Purism) <[email protected]>
> > Cc: Chris Healy <[email protected]>
> > Cc: Lucas Stach <[email protected]>
> > Cc: Fabio Estevam <[email protected]>
> > Cc: Shawn Guo <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> ---
> 
> 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>;

Reply via email to