freebsd-dev/sys/dev/usb
Rafal Jaworowski 35d01728c6 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
2009-08-19 14:39:08 +00:00
..
controller Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
input Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
misc - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
net Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
quirk - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
serial ULPT: 2009-07-30 00:16:06 +00:00
storage Sync to p4 2009-06-27 21:23:30 +00:00
template - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
wlan Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
ufm_ioctl.h
usb_bus.h
usb_busdma.c Fix USB cache sync operations for platforms with non-coherent DMA. 2009-08-19 14:39:08 +00:00
usb_busdma.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_cdc.h
usb_compat_linux.c Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
usb_compat_linux.h USB CORE - compat Linux: 2009-07-30 00:16:50 +00:00
usb_controller.h USB CORE: 2009-07-30 00:14:34 +00:00
usb_core.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_core.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_debug.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_debug.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_dev.c Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
usb_dev.h USB core: 2009-07-30 00:15:50 +00:00
usb_device.c USB core: 2009-07-30 00:15:50 +00:00
usb_device.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_dynamic.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_dynamic.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_endian.h
usb_error.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_freebsd.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_generic.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_generic.h
usb_handle_request.c Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
usb_hid.c USB CORE - Improve HID parsing 2009-07-30 00:17:08 +00:00
usb_hub.c Make the newbus subsystem Giant free by adding the new newbus sxlock. 2009-08-02 14:28:40 +00:00
usb_hub.h
usb_if.m Sync to p4 2009-06-27 21:23:30 +00:00
usb_ioctl.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_lookup.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_mbuf.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_mbuf.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_msctest.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_msctest.h
usb_parse.c USB core: 2009-07-30 00:15:50 +00:00
usb_pci.h
usb_process.c Change the usb workers from kernel processes to threads, this is mostly a 2009-08-16 14:13:55 +00:00
usb_process.h Change the usb workers from kernel processes to threads, this is mostly a 2009-08-16 14:13:55 +00:00
usb_request.c USB core: 2009-07-30 00:15:50 +00:00
usb_request.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_transfer.c USB CORE: 2009-07-30 00:14:34 +00:00
usb_transfer.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_util.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_util.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usbdevs fixes a typo for DWA120 device ID. 2009-07-30 18:53:06 +00:00
usbdi_util.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usbdi.h Missed this file for r195963: 2009-07-30 00:57:54 +00:00
usbhid.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00