Date: Wed, 19 Aug 2009 14:39:08 +0000 (UTC) From: Rafal Jaworowski <raj@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/usb usb_busdma.c Message-ID: <200908191439.n7JEdTv2058299@repoman.freebsd.org>
index | next in thread | raw e-mail
raj 2009-08-19 14:39:08 UTC
FreeBSD src repository
Modified files:
sys/dev/usb usb_busdma.c
Log:
SVN rev 196380 on 2009-08-19 14:39:08Z by raj
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
Revision Changes Path
1.14 +3 -4 src/sys/dev/usb/usb_busdma.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908191439.n7JEdTv2058299>
