[U-Boot] [PATCH] ehci-hcd.c, musb_core, usb.h: Add USB_DMA_MINALIGN define for cache alignment

Ilya Yanok ilya.yanok at cogentembedded.com
Thu Jul 5 20:25:00 CEST 2012


Hi Tom,

On Thu, Jul 5, 2012 at 9:15 PM, Tom Rini <trini at ti.com> wrote:

> On Wed, Jul 04, 2012 at 05:03:59PM +0400, Ilya Yanok wrote:
> `
> > From: Tom Rini <trini at ti.com>
> >
> > The USB spec says that 32 bytes is the minimum required alignment.
> > However on some platforms we have a larger minimum requirement for cache
> > coherency.  In those cases, use that value rather than the USB spec
> > minimum.  We add a cpp check to <usb.h> to define USB_DMA_MINALIGN and
> > make use of it in ehci-hcd.c and musb_core.h.  We cannot use MAX() here
> > as we are not allowed to have tests inside of align(...).
> >
> > Cc: Marek Vasut <marex at denx.de>
> > Signed-off-by: Tom Rini <trini at ti.com>
> > [ilya.yanok]: fix size alignment, drop (incorrect) rounding
> > when invalidating the buffer. If we got unaligned buffer from the
> > upper layer -- that's definetely a bug so it's good to buzz
> > about it. But we have to align the buffer length -- upper layers
> > should take care to reserve enough space.
> > Signed-off-by: Ilya Yanok <ilya.yanok at cogentembedded.com>
>
> So trying this on ethernet still gives a handful of unaligned areas.  Do
>

 Not surprised. USB Ethernet drivers are unfixed wrt cache alignment.

you have a beagleboard xM available?
>

Unfortunately no.

Regards, Ilya.


More information about the U-Boot mailing list