aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorManoj Iyer <manoj.iyer@canonical.com>2012-08-22 12:53:18 -0400
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2012-09-04 18:07:29 -0400
commit29d214576f936db627ff62afb9ef438eea18bcd2 (patch)
treeca724d479d7dd8350f31a53590b0bc7c1bcdd2e7 /drivers/usb/host
parentfea7a08acb13524b47711625eebea40a0ede69a0 (diff)
xhci: Recognize USB 3.0 devices as superspeed at powerup
On Intel Panther Point chipset USB 3.0 devices show up as high-speed devices on powerup, but after an s3 cycle they are correctly recognized as SuperSpeed. At powerup switch the port to xHCI so that USB 3.0 devices are correctly recognized. BugLink: http://bugs.launchpad.net/bugs/1000424 This patch should be backported to kernels as old as 3.0, that contain commit ID 69e848c2090aebba5698a1620604c7dccb448684 "Intel xhci: Support EHCI/xHCI port switching." Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/pci-quirks.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index c5e9e4a76f14..486e8122f0d8 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -870,9 +870,10 @@ static void __devinit quirk_usb_handoff_xhci(struct pci_dev *pdev)
870 /* Disable any BIOS SMIs and clear all SMI events*/ 870 /* Disable any BIOS SMIs and clear all SMI events*/
871 writel(val, base + ext_cap_offset + XHCI_LEGACY_CONTROL_OFFSET); 871 writel(val, base + ext_cap_offset + XHCI_LEGACY_CONTROL_OFFSET);
872 872
873hc_init:
873 if (usb_is_intel_switchable_xhci(pdev)) 874 if (usb_is_intel_switchable_xhci(pdev))
874 usb_enable_xhci_ports(pdev); 875 usb_enable_xhci_ports(pdev);
875hc_init: 876
876 op_reg_base = base + XHCI_HC_LENGTH(readl(base)); 877 op_reg_base = base + XHCI_HC_LENGTH(readl(base));
877 878
878 /* Wait for the host controller to be ready before writing any 879 /* Wait for the host controller to be ready before writing any