1
linux/drivers/usb/host
Michael Hennerich ebb8a4e487 USB: isp1760: use a write barrier to ensure proper ndelay timing
The ISP1760 has some timing requirements where it has to delay a short
period after a write to a register has started.  However, this delay is
from the time the write hits the USB chip (the ISP1760), not from the
time where the processor started processing the write.  So on a quick
enough processor, it is sometimes possible for the write to not hit the
device before we start delaying, and we then violate the part's timing
requirements, so things stop working.

To avoid all this, insert a write barrier after the register write and
before the timing delay/register read so we can guarantee we only start
counting time after the write has hit the device.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-23 20:50:15 -07:00
..
whci USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
ehci-atmel.c USB: ehci-atmel.c: use resource_size() 2010-03-02 14:53:18 -08:00
ehci-au1xxx.c USB: add do_wakeup parameter for PCI HCD suspend 2010-08-10 14:35:37 -07:00
ehci-dbg.c USB: ehci: fix remove of ehci debugfs dir 2010-08-10 14:35:44 -07:00
ehci-fsl.c USB: add do_wakeup parameter for PCI HCD suspend 2010-08-10 14:35:37 -07:00
ehci-fsl.h
ehci-hcd.c USB: EHCI: add missing frame -> microframe conversion 2010-08-10 14:35:40 -07:00
ehci-hub.c USB: controller resume should check the root hub 2010-08-10 14:35:37 -07:00
ehci-ixp4xx.c
ehci-lpm.c USB: EHCI: EHCI 1.1 addendum: Basic LPM feature support 2010-08-10 14:35:35 -07:00
ehci-mem.c USB: EHCI: defer reclamation of siTDs 2010-04-22 15:18:28 -07:00
ehci-mxc.c Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2010-07-29 15:48:37 +01:00
ehci-omap.c USB: ehci_omap: fix device detect issue with modules 2010-08-10 14:35:39 -07:00
ehci-orion.c USB: ehci-orion.c: use resource_size() 2010-03-02 14:53:17 -08:00
ehci-pci.c USB: EHCI: remove PCI assumption 2010-08-10 14:35:40 -07:00
ehci-ppc-of.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
ehci-ps3.c
ehci-q.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
ehci-sched.c USB: EHCI: remove dead code in the periodic scheduler 2010-08-10 14:35:40 -07:00
ehci-w90x900.c
ehci-xilinx-of.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
ehci.h USB: ehci: fix remove of ehci debugfs dir 2010-08-10 14:35:44 -07:00
fhci-dbg.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-hcd.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fhci-hub.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-mem.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-q.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci-sched.c fix comment/printk typos concerning "already" 2010-07-11 21:45:40 +02:00
fhci-tds.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
fhci.h USB: FHCI: cq_get() should check kfifo_out()'s return value 2010-05-20 13:21:46 -07:00
hwa-hc.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
imx21-dbg.c USB: MXC: Add i.MX21 specific USB host controller driver. 2010-03-02 14:52:55 -08:00
imx21-hcd.c usb: imx21-hcd: set task state with schedule_timeout_uninterruptible() 2010-08-10 14:35:43 -07:00
imx21-hcd.h USB: MXC: Add i.MX21 specific USB host controller driver. 2010-03-02 14:52:55 -08:00
isp116x-hcd.c USB: make hcd.h public (drivers dependency) 2010-05-20 13:21:30 -07:00
isp116x.h
isp1362-hcd.c USB: isp1362-hcd, fix double lock 2010-06-30 08:16:06 -07:00
isp1362.h USB: host: Remove dead CONFIG_ARCH_KARO 2010-08-10 14:35:40 -07:00
isp1760-hcd.c USB: isp1760: use a write barrier to ensure proper ndelay timing 2010-08-23 20:50:15 -07:00
isp1760-hcd.h
isp1760-if.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
Kconfig USB: EHCI: make CONFIG_USB_EHCI_TT_NEWSCHED default to Y 2010-08-10 14:35:34 -07:00
Makefile USB: xhci: rename driver to xhci_hcd 2010-03-19 07:24:08 -07:00
ohci-at91.c USB: ohci-at91: fix power management hanging 2010-04-30 09:25:12 -07:00
ohci-au1xxx.c
ohci-da8xx.c USB: OHCI: DA8xx/OMAP-L1x: fix up macro rename 2010-04-22 15:18:24 -07:00
ohci-dbg.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
ohci-ep93xx.c
ohci-hcd.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
ohci-hub.c USB: controller resume should check the root hub 2010-08-10 14:35:37 -07:00
ohci-jz4740.c USB: Add JZ4740 OHCI support 2010-08-05 13:26:19 +01:00
ohci-lh7a404.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
ohci-mem.c
ohci-omap3.c USB: ohci: introduce omap3 ohci-hcd driver 2010-05-20 13:21:44 -07:00
ohci-omap.c
ohci-pci.c USB: add do_wakeup parameter for PCI HCD suspend 2010-08-10 14:35:37 -07:00
ohci-pnx4008.c i2c: Add support for custom probe function 2010-08-11 18:20:56 +02:00
ohci-pnx8550.c
ohci-ppc-of.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
ohci-ppc-soc.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
ohci-ps3.c
ohci-pxa27x.c [ARM] pxa: fix incorrect CONFIG_CPU_PXA27x to CONFIG_PXA27x 2010-07-15 17:20:23 +08:00
ohci-q.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ohci-s3c2410.c
ohci-sa1111.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
ohci-sh.c
ohci-sm501.c
ohci-ssb.c USB: Add USB 2.0 to ssb ohci driver 2010-08-10 14:35:44 -07:00
ohci-tmio.c
ohci.h
oxu210hp-hcd.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
oxu210hp.h
pci-quirks.c
pci-quirks.h
r8a66597-hcd.c USB: r8a66597: Fix failure in change of status 2010-06-30 08:16:05 -07:00
r8a66597.h usb: r8a66597-hcd pio to mmio accessor conversion. 2010-06-02 16:31:15 +09:00
sl811_cs.c pcmcia: do not use io_req_t when calling pcmcia_request_io() 2010-08-03 09:04:11 +02:00
sl811-hcd.c usb: host: sl811-hcd: check kzalloc() result 2010-08-10 14:35:42 -07:00
sl811.h
u132-hcd.c USB: fix u132-hcd code/data warning 2010-05-20 13:21:43 -07:00
uhci-debug.c USB: remove fake "address-of" expressions 2010-08-10 14:35:45 -07:00
uhci-hcd.c USB: remove fake "address-of" expressions 2010-08-10 14:35:45 -07:00
uhci-hcd.h USB: UHCI: add support for Intel's wakeup flags 2010-08-10 14:35:38 -07:00
uhci-hub.c USB: controller resume should check the root hub 2010-08-10 14:35:37 -07:00
uhci-q.c USB: UHCI: acquire spinlock before calling start_rh() 2010-08-10 14:35:33 -07:00
xhci-dbg.c USB: xhci: Correct assumptions about number of rings per endpoint. 2010-05-20 13:21:38 -07:00
xhci-ext-caps.h USB: xhci: Fix finding extended capabilities registers 2010-03-02 14:55:02 -08:00
xhci-hub.c USB: xhci: Remove the arbitrary limit of 15 xHCI ports 2010-05-20 13:21:45 -07:00
xhci-mem.c USB: xhci: Make xhci_set_hc_event_deq() static. 2010-08-10 14:35:44 -07:00
xhci-pci.c USB: xhci: Set DMA mask for host. 2010-08-10 14:35:45 -07:00
xhci-ring.c USB: xhci: Don't flush doorbell writes. 2010-08-10 14:35:45 -07:00
xhci.c USB: xhci: Performance - move interrupt handlers into xhci-ring.c 2010-08-10 14:35:44 -07:00
xhci.h USB: xhci: Make xhci_set_hc_event_deq() static. 2010-08-10 14:35:44 -07:00