[PATCH] ARM: dts: imx6: enable pl310 "shared attribute override enable" bit

Lucas Stach l.stach at pengutronix.de
Thu Jan 21 01:21:59 PST 2016


Am Mittwoch, den 20.01.2016, 21:08 -0800 schrieb Stefan Agner:
> Hi Andy,
> 
> On 2016-01-20 19:28, Fugang Duan wrote:
> > The default behavior of the L220 or PL310 cache controllers with respect
> > to the shareable attribute is to transform "normal memory non-cacheable
> > transactions" into "cacheable no allocate" (for reads) or "write through
> > no write allocate" (for writes).
> > 
> > On i.MX6 series platforms, enet/audio/usb/nand DMA buffer have corruption
> > without CMA. So set this property "arm,shared-override" in L2 dts node to
> > enable "shared attribute override enable" bit.
> 
> Do you happen to know if Vybrid could also suffer this too? Some IP's
> are the same/similar ones...
> 
This is a bug in the default configuration of the PL310 L2 cache
controller. AFAIK Vybrid does not use this IP block, so it should be
safe.

Regards,
Lucas

> Did this manifest in any way?
> 
> --
> Stefan
> 
> 
> > 
> > Signed-off-by: Fugang Duan <B38611 at freescale.com>
> > ---
> >  arch/arm/boot/dts/imx6qdl.dtsi | 1 +
> >  arch/arm/boot/dts/imx6sl.dtsi  | 1 +
> >  arch/arm/boot/dts/imx6sx.dtsi  | 1 +
> >  3 files changed, 3 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> > index 4f6ae92..b4de39a 100644
> > --- a/arch/arm/boot/dts/imx6qdl.dtsi
> > +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> > @@ -185,6 +185,7 @@
> >  			cache-level = <2>;
> >  			arm,tag-latency = <4 2 3>;
> >  			arm,data-latency = <4 2 3>;
> > +			arm,shared-override;
> >  		};
> >  
> >  		pcie: pcie at 0x01000000 {
> > diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
> > index d12b250..3b80b45 100644
> > --- a/arch/arm/boot/dts/imx6sl.dtsi
> > +++ b/arch/arm/boot/dts/imx6sl.dtsi
> > @@ -113,6 +113,7 @@
> >  			cache-level = <2>;
> >  			arm,tag-latency = <4 2 3>;
> >  			arm,data-latency = <4 2 3>;
> > +			arm,shared-override;
> >  		};
> >  
> >  		pmu {
> > diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
> > index a5f7602..42f8f3b 100644
> > --- a/arch/arm/boot/dts/imx6sx.dtsi
> > +++ b/arch/arm/boot/dts/imx6sx.dtsi
> > @@ -155,6 +155,7 @@
> >  			cache-level = <2>;
> >  			arm,tag-latency = <4 2 3>;
> >  			arm,data-latency = <4 2 3>;
> > +			arm,shared-override;
> >  		};
> >  
> >  		dma_apbh: dma-apbh at 01804000 {

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |




More information about the linux-arm-kernel mailing list