[PATCHv2 2/3] bus: mvebu-mbus: use automatic I/O synchronization barriers

Aaro Koskinen aaro.koskinen at iki.fi
Thu May 28 12:43:33 PDT 2015


Hi,

On Fri, Apr 17, 2015 at 12:45:34PM +0200, Nicolas Schichan wrote:
> On 01/16/2015 05:11 PM, Thomas Petazzoni wrote:
> > Instead of using explicit I/O synchronization barriers shoehorned
> > inside the streaming DMA mappings API (in
> > arch/arm/mach-mvebu/coherency.c), we are switching to use automatic
> > I/O synchronization barrier.
> 
> Hello Thomas,
> 
> I'm affraid this patche causes issue on mv88f6282 (and most probably on
> mv88f6281 as well): see below.

Is this issue already fixed in 4.1-rc5?

I just noticed that on mvebu/openrd-client the built-in PCI XGI framebuffer
stopped working somewhere between 3.19 and 4.0, and I bisected it to this
commit. The issue is also present in 4.1-rc5 and reverting this commit
makes the display to work again.

A.

> [...]
> 
> > diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c
> > index eb7682d..398f0ee 100644
> > --- a/drivers/bus/mvebu-mbus.c
> > +++ b/drivers/bus/mvebu-mbus.c
> > @@ -69,6 +69,7 @@
> >   */
> >  #define WIN_CTRL_OFF		0x0000
> >  #define   WIN_CTRL_ENABLE       BIT(0)
> > +#define   WIN_CTRL_SYNCBARRIER  BIT(1)
> 
> In the 88f6282 datasheet this bit in the "WindowX Control Register" is
> documented as reserved on all windows but window 6 and 7.
> 
> For windows 6 and 7 this bit is documented to write protect the window when set.
> 
> In our configuration, this window gets chosen for the PCI memory accesses
> (target 0x4, attribute 0xe8) and we effectively end up only being able to read
> from the PCI devices (mwl8k fails to load the firmware and sky2 timeouts on
> MDIO accesses). Write accesses are silently discarded (no external aborts of
> any kind), but that's probably expected as the AHB error propagation is disabled.
> 
> Reverting this patch made all the PCI device work correctly.
> 
> Regards,
> 
> -- 
> Nicolas Schichan
> Freebox SAS
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list