linux/drivers/usb/host
Rene Herman 055b93c9e3 USB: ehci: stop vt6212 bus hogging
The VIA VT6212 defaults to only waiting 1us between passes over EHCI's
async ring, which hammers PCI badly ... and by preventing other devices
from accessing the bus, causes problems like drops in IDE throughput,
a problem that's been bugging users of those chips for several years.

A (partial) datasheet for this chip eventually turned up, letting us
see how to make it use a VIA-specific register to switch over to the
the normal 10us value instead, as suggested by the EHCI specification
Solution noted by Lev A. Melnikovsky.

It's not clear whether this register exists on other VIA chips; we
know that it's ineffective on the vt8235.  So this patch only applies
to chips that seem to be incarnations of the (discrete) vt6212.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Tested-by: Lev A. Melnikovsky <melnikovsky@mail.ru>
Tested-by: Alessandro Suardi <alessandro.suardi@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-03-24 22:26:15 -07:00
..
Kconfig ehci-fsl: add PPC_MPC837x to default y 2008-02-21 15:38:56 -08:00
Makefile USB: r8a66597-hcd: host controller driver for R8A66597 2007-07-12 16:29:45 -07:00
ehci-au1xxx.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-dbg.c USB: EHCI: add separate IAA watchdog timer 2008-02-01 14:34:55 -08:00
ehci-fsl.c USB: Spelling fixes 2008-02-01 14:34:57 -08:00
ehci-fsl.h ehci-fsl: fix cache coherency problem on system with large memory 2007-05-23 20:14:15 -07:00
ehci-hcd.c USB: fix ehci unlink regressions 2008-03-10 16:42:27 -07:00
ehci-hub.c usb: ehci, remove false clear-reset path 2008-02-01 14:35:06 -08:00
ehci-ixp4xx.c USB: add ehci-ixp bus glue 2008-02-01 14:35:02 -08:00
ehci-mem.c Revert "USB: EHCI cpufreq fix" 2007-08-20 23:38:44 -07:00
ehci-orion.c USB: add Marvell Orion USB host support 2008-02-01 14:34:58 -08:00
ehci-pci.c USB: ehci: stop vt6212 bus hogging 2008-03-24 22:26:15 -07:00
ehci-ppc-of.c USB: add ehci-ppc-of bus glue (device-tree aware) 2008-02-01 14:35:01 -08:00
ehci-ppc-soc.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-ps3.c USB: force handover port to companion when hub_port_connect_change fails 2008-02-01 14:34:52 -08:00
ehci-q.c USB: ehci: handle large bulk URBs correctly (again) 2008-03-04 14:57:43 -08:00
ehci-sched.c USB: ehci completes high speed ISO URBs sooner 2008-02-01 14:35:02 -08:00
ehci.h usb: ehci should use u16 for isochronous intervals 2008-02-01 14:35:06 -08:00
isp116x-hcd.c USB: isp116x: fix enumeration on boot 2008-03-04 14:57:43 -08:00
isp116x.h USB: isp116x: fix enumeration on boot 2008-03-04 14:57:43 -08:00
ohci-at91.c USB: ohci-at91 uses generic GPIO calls 2008-02-01 14:35:01 -08:00
ohci-au1xxx.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-dbg.c USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
ohci-ep93xx.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
ohci-hcd.c usb: ohci-sm501 driver 2008-02-01 14:35:05 -08:00
ohci-hub.c USB: Fix NEC OHCI chip silicon bug 2007-07-12 16:34:29 -07:00
ohci-lh7a404.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-mem.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-omap.c i2c/tps65010: move header to <linux/i2c/...> 2008-01-27 18:14:49 +01:00
ohci-pci.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-pnx4008.c i2c: Kill rogue driver IDs 2008-01-27 18:14:47 +01:00
ohci-pnx8550.c [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
ohci-ppc-of.c [POWERPC] mpc5200: normalize compatible property bindings 2008-01-26 15:26:01 -07:00
ohci-ppc-soc.c USB: add runtime frame_no quirk for big-endian OHCI 2007-10-12 14:55:32 -07:00
ohci-ps3.c USB: PS3: USB system-bus rework 2007-07-12 16:34:30 -07:00
ohci-pxa27x.c [ARM] USB: update pxa27x ohci driver to use clk support 2008-01-26 15:07:53 +00:00
ohci-q.c USB: Eliminate urb->status usage! 2007-10-12 14:55:23 -07:00
ohci-s3c2410.c Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
ohci-sa1111.c ohci: Rework bus glue integration to allow several at once 2007-02-07 15:44:33 -08:00
ohci-sh.c USB: add support for SuperH OHCI 2008-02-01 14:35:03 -08:00
ohci-sm501.c usb: ohci-sm501 driver 2008-02-01 14:35:05 -08:00
ohci-ssb.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
ohci.h USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
pci-quirks.c PCI: use dev_printk in quirk messages 2008-02-01 15:04:26 -08:00
pci-quirks.h [PATCH] USB: pci-quirks.c: proper prototypes 2006-04-14 11:12:20 -07:00
r8a66597-hcd.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
r8a66597.h USB: Spelling fixes 2008-02-01 14:34:57 -08:00
sl811-hcd.c PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
sl811.h
sl811_cs.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
u132-hcd.c Fix u132-hcd.c compile error 2008-02-23 20:29:09 -08:00
uhci-debug.c USB: add urb->unlinked field 2007-10-12 14:55:19 -07:00
uhci-hcd.c USB: use IRQF_DISABLED for HCD interrupt handlers 2007-12-17 10:47:15 -08:00
uhci-hcd.h USB: Eliminate urb->status usage! 2007-10-12 14:55:23 -07:00
uhci-hub.c UHCI: fix port resume problem 2007-03-09 19:52:23 -08:00
uhci-q.c USB: fix scheduling of Iso URBs in uhci-hcd 2007-10-25 12:18:43 -07:00