aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell Webb <russell.webb@linux.intel.com>2012-11-09 16:58:49 -0500
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2012-11-28 14:21:29 -0500
commitbb1e5dd7113d2fd178d3af9aca8f480ae0468edf (patch)
treeb05cb157faf76db194a4e830a69319902986871b
parentffa5c41c81503b6f48fddb5d39f18af526ded8d3 (diff)
xhci: Add Lynx Point LP to list of Intel switchable hosts
Like Lynx Point, Lynx Point LP is also switchable. See 1c12443ab8eba71a658fae4572147e56d1f84f66 for more details. This patch should be backported to stable kernels as old as 3.0, that contain commit 69e848c2090aebba5698a1620604c7dccb448684 "Intel xhci: Support EHCI/xHCI port switching." Signed-off-by: Russell Webb <russell.webb@linux.intel.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable@vger.kernel.org
-rw-r--r--drivers/usb/host/ehci-pci.c3
-rw-r--r--drivers/usb/host/pci-quirks.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index 3fb76ca61848..dabb20494826 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -330,7 +330,8 @@ static bool usb_is_intel_switchable_ehci(struct pci_dev *pdev)
330 pdev->vendor == PCI_VENDOR_ID_INTEL && 330 pdev->vendor == PCI_VENDOR_ID_INTEL &&
331 (pdev->device == 0x1E26 || 331 (pdev->device == 0x1E26 ||
332 pdev->device == 0x8C2D || 332 pdev->device == 0x8C2D ||
333 pdev->device == 0x8C26); 333 pdev->device == 0x8C26 ||
334 pdev->device == 0x9C26);
334} 335}
335 336
336static void ehci_enable_xhci_companion(void) 337static void ehci_enable_xhci_companion(void)
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index 15cfb06769e6..a3b6d7104ae2 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -723,6 +723,7 @@ static int handshake(void __iomem *ptr, u32 mask, u32 done,
723} 723}
724 724
725#define PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI 0x8C31 725#define PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI 0x8C31
726#define PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI 0x9C31
726 727
727bool usb_is_intel_ppt_switchable_xhci(struct pci_dev *pdev) 728bool usb_is_intel_ppt_switchable_xhci(struct pci_dev *pdev)
728{ 729{
@@ -736,7 +737,8 @@ bool usb_is_intel_lpt_switchable_xhci(struct pci_dev *pdev)
736{ 737{
737 return pdev->class == PCI_CLASS_SERIAL_USB_XHCI && 738 return pdev->class == PCI_CLASS_SERIAL_USB_XHCI &&
738 pdev->vendor == PCI_VENDOR_ID_INTEL && 739 pdev->vendor == PCI_VENDOR_ID_INTEL &&
739 pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI; 740 (pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_XHCI ||
741 pdev->device == PCI_DEVICE_ID_INTEL_LYNX_POINT_LP_XHCI);
740} 742}
741 743
742bool usb_is_intel_switchable_xhci(struct pci_dev *pdev) 744bool usb_is_intel_switchable_xhci(struct pci_dev *pdev)