linux/drivers
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
..
acorn/char Fix default compose table initialization 2008-03-03 14:53:16 -08:00
acpi Revert "ACPI: EC: Handle IRQ storm on Acer laptops" 2008-03-18 21:32:24 -07:00
amba
ata [libata] ahci: SB600 workaround is suspect... play it safe for now 2008-03-24 22:40:40 -04:00
atm fore2000 - fix misannotations 2008-03-17 07:56:31 -04:00
auxdisplay
base drivers: fix dma_get_required_mask 2008-03-10 16:33:33 -07:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-03-18 07:43:14 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
cdrom make cdrom.c:check_for_audio_disc() static 2008-03-04 11:28:41 +01:00
char hw_random doc updates 2008-03-24 19:22:19 -07:00
clocksource
connector connector: convert to single-threaded workqueue 2008-03-23 21:51:12 -07:00
cpufreq [CPUFREQ] fix section mismatch warnings 2008-03-05 14:45:31 -05:00
cpuidle ACPI, cpuidle: Clarify C-state description in sysfs 2008-02-14 00:09:55 -05:00
crypto [HIFN]: Fix invalid config ifdefs for RNG support 2008-02-15 19:15:05 +08:00
dca
dio
dma fsldma: Fix the DMA halt when using DMA_INTERRUPT async_tx transfer. 2008-03-18 17:00:59 -07:00
edac
eisa
firewire firewire: fix panic in handle_at_packet 2008-03-20 18:13:05 +01:00
firmware dmi: prevent linked list corruption 2008-02-23 17:12:15 -08:00
gpio gpio/pca953x bugfix: mark as can_sleep 2008-03-10 18:01:19 -07:00
hid HID: update key codes for Apple aluminium 2008-03-18 11:20:33 +01:00
hwmon ibmpex: report temperatures in mC, not C 2008-03-19 18:53:36 -07:00
i2c i2c: chips subdirectory is deprecated 2008-03-12 14:15:00 +01:00
ide Revert "ide-tape: schedule driver for removal after 6 months" 2008-03-22 16:44:27 +01:00
ieee1394 ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk) 2008-03-14 00:56:59 +01:00
infiniband RDMA/nes: Fix MSS calculation on RDMA path 2008-03-21 13:59:28 -07:00
input Input: ALPS - fix forward/back buttons reversed on Acer 5520-5290 2008-03-18 00:39:55 -04:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
leds
lguest lguest: Revert 1ce70c4fac, fix real problem. 2008-03-11 09:35:58 +11:00
macintosh [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c 2008-03-13 10:09:27 +11:00
mca
md drivers/md/raid5.c: fix printk warnings 2008-03-19 18:53:37 -07:00
media V4L/DVB (7367): bug #10211: Fix depencencies for cx2341x 2008-03-20 12:39:02 -03:00
memstick memstick: optimize setup of JMicron host parameters 2008-03-19 18:53:37 -07:00
message [SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers 2008-03-18 15:13:40 -05:00
mfd sm501: add support for the SM502 programmable PLL 2008-03-04 16:35:13 -08:00
misc Merge branches 'release', 'ejd', 'sony' and 'wmi' into release 2008-03-13 01:59:52 -04:00
mmc mmc: use sysfs groups to handle conditional attributes 2008-03-22 17:02:20 -07:00
mtd mtd: memory corruption in block2mtd.c 2008-03-24 19:22:19 -07:00
net Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-03-24 13:09:34 -07:00
nubus
of
oprofile d_path: Make get_dcookie() use a struct path argument 2008-02-14 21:17:08 -08:00
parisc [PARISC] make ptr_to_pide() static 2008-03-15 19:17:12 -07:00
parport parport: section fixup 2008-02-13 16:21:19 -08:00
pci pciehp: don't enable slot unless forced 2008-03-17 19:26:05 -07:00
pcmcia PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes 2008-02-21 15:34:35 -08:00
pnp ISAPNP: fix limits of logical device register set 2008-03-22 17:00:03 -07:00
power
ps3 [POWERPC] PS3: Update sys-manager button events 2008-02-14 22:11:01 +11:00
rapidio docbook: fix rapidio source files 2008-03-03 10:47:13 -08:00
rtc rtc-at91sam9 fixes 2008-03-19 18:53:37 -07:00
s390 [S390] zcrypt: fix ap_device_list handling 2008-03-05 12:37:19 +01:00
sbus
scsi [SCSI] a100u2w: fix bitmap lookup routine 2008-03-20 09:19:25 -05:00
serial serial: sh-sci: Fix fifo stall on SH7760/SH7780/SH7785 SCIF. 2008-03-11 13:58:50 +09:00
sh maple: fix device detection 2008-02-26 14:12:09 +09:00
sn ioc3.c: replace remaining __FUNCTION__ occurrences 2008-03-17 08:11:48 -04:00
spi spi_bitbang: short transfer status fix 2008-03-13 13:11:43 -07:00
ssb ssb: Add pcibios_enable_device() return value check 2008-03-04 18:36:35 -05:00
tc
telephony
thermal thermal: delete "default y" 2008-03-18 01:22:10 -04:00
uio UIO: fix Greg's stupid changes 2008-02-21 15:27:07 -08:00
usb USB: ehci: stop vt6212 bus hogging 2008-03-24 22:26:15 -07:00
video fbdev: defio and Metronomefb 2008-03-19 18:53:37 -07:00
virtio virtio: fix race in enable_cb 2008-03-17 22:58:21 +11:00
w1 ds1wm: report bus reset error 2008-03-04 16:35:12 -08:00
watchdog [WATCHDOG] make watchdog/hpwdt.c:asminline_call() static 2008-03-06 21:32:21 +00:00
xen
zorro
Kconfig
Makefile