On Tue, 25 Jan 2011, Andiry Xu wrote: > This patch moves the AMD PLL quirk code in OHCI/EHCI driver to pci-quirks.c, > and exports the functions to be used by xHCI driver later. > > AMD PLL quirk disable the optional PM feature inside specific > SB700/SB800/Hudson-2/3 platforms under the following conditions: > > 1. If an isochronous device is connected to OHCI/EHCI/xHCI port and is active; > 2. Optional PM feature that powers down the internal Bus PLL when the link is > in low power state is enabled. > > Without AMD PLL quirk, USB isochronous stream may stutter or have breaks > occasionally, which greatly impair the performance of audio/video streams. > > Currently AMD PLL quirk is implemented in OHCI and EHCI driver, and will be > added to xHCI driver too. They are doing similar things actually, so move > the quirk code to pci-quirks.c, which has several advantages: > > 1. Remove duplicate defines and functions in OHCI/EHCI (and xHCI) driver and > make them cleaner; > 2. AMD chipset information will be probed only once and then stored. > Currently they're probed during every OHCI/EHCI initialization, move > the detect code to pci-quirks.c saves the repeat detect cost; > 3. Build up synchronization among OHCI/EHCI/xHCI driver. In current > code, every host controller enable/disable PLL only according to > its own status, and may enable PLL while there is still isoc transfer on > other HCs. Move the quirk to pci-quirks.c prevents this issue. Sixth time's the charm! :-) Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html