svn commit: r196380 - head/sys/dev/usb

Sam Leffler sam at errno.com
Wed Aug 19 15:30:39 UTC 2009


Rafal Jaworowski wrote:
> Author: raj
> Date: Wed Aug 19 14:39:08 2009
> New Revision: 196380
> URL: http://svn.freebsd.org/changeset/base/196380
> 
> Log:
>   Fix USB cache sync operations for platforms with non-coherent DMA.
>   
>   - usb_pc_cpu_invalidate() is called between [consecutive] reads from a device,
>     so a sequence of BUS_DMASYNC_POSTREAD and _PREREAD should be used. Note we
>     cannot use or'ed shorthand ( _POSTREAD | _PREREAD) for BUS_DMASYNC flags, as
>     the low level bus dma sync operation is implementation dependent and we
>     cannot assume the required order of operations to be guaranteed.
>   
>   - usb_pc_cpu_flush() is called before writing to a device, so
>     BUS_DMASYNC_PREWRITE should be used.
>   
>   Submitted by:	Grzegorz Bernacki
>   Reviewed by:	HPS, arm@, usb@ ML
>   Tested by:	HPS, Mike Tancsa
>   Approved by:	re (kib)
>   Obtained from:	Semihalf

Is this different from the patch I tested on Gateworks 2358 boards which 
didn't completely resolve problems?

	Sam


More information about the svn-src-head mailing list