]> git.baikalelectronics.ru Git - kernel.git/commit
USB: ehci: stop vt6212 bus hogging
authorRene Herman <rene.herman@gmail.com>
Thu, 20 Mar 2008 07:58:16 +0000 (00:58 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 25 Mar 2008 05:26:15 +0000 (22:26 -0700)
commit37b957aaaf13ab9dbdddf14e6cf6eda06e4bb93e
treeb069544cd7a804c6a6d3be2b0d59b7356b8060e6
parentb816828bb5abe8d8d9075d6e59b6343c5021dc2a
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>
drivers/usb/host/ehci-pci.c