aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-pci.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-29 13:07:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-29 13:07:59 -0400
commit9af6f26a1a7f152f7736c0c20247eef0ab3df190 (patch)
tree6cbf30a8a08bae27bc17a0a4dcee72f15a11b6c7 /drivers/usb/host/xhci-pci.c
parentc067affcd316a36a28beaf8ea8c39db22a88c778 (diff)
parentc1aa67729a1d94373fb9826fef97b8a2b7f2e00f (diff)
Merge tag 'usb-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH: "Here are a number of small USB driver fixes for 4.9-rc3. There is the usual number of gadget and xhci patches in here to resolved reported issues, as well as some usb-serial driver fixes and new device ids. All have been in linux-next with no reported issues" * tag 'usb-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (26 commits) usb: chipidea: host: fix NULL ptr dereference during shutdown usb: renesas_usbhs: add wait after initialization for R-Car Gen3 usb: increase ohci watchdog delay to 275 msec usb: musb: Call pm_runtime from musb_gadget_queue usb: musb: Fix hardirq-safe hardirq-unsafe lock order error usb: ehci-platform: increase EHCI_MAX_RSTS to 4 usb: ohci-at91: Set RemoteWakeupConnected bit explicitly. USB: serial: fix potential NULL-dereference at probe xhci: use default USB_RESUME_TIMEOUT when resuming ports. xhci: workaround for hosts missing CAS bit xhci: add restart quirk for Intel Wildcatpoint PCH USB: serial: cp210x: fix tiocmget error handling wusb: fix error return code in wusb_prf() Revert "Documentation: devicetree: dwc2: Deprecate g-tx-fifo-size" Revert "usb: dwc2: gadget: fix TX FIFO size and address initialization" Revert "usb: dwc2: gadget: change variable name to more meaningful" USB: serial: ftdi_sio: add support for Infineon TriBoard TC2X7 wusb: Stop using the stack for sg crypto scratch space usb: dwc3: Fix size used in dma_free_coherent() usb: gadget: f_fs: stop sleeping in ffs_func_eps_disable ...
Diffstat (limited to 'drivers/usb/host/xhci-pci.c')
-rw-r--r--drivers/usb/host/xhci-pci.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index d7b0f97abbad..e96ae80d107e 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -45,11 +45,13 @@
45 45
46#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI 0x8c31 46#define PCI_DEVICE_ID_INTEL_LYNXPOINT_XHCI 0x8c31
47#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI 0x9c31 47#define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI 0x9c31
48#define PCI_DEVICE_ID_INTEL_WILDCATPOINT_LP_XHCI 0x9cb1
48#define PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI 0x22b5 49#define PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI 0x22b5
49#define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI 0xa12f 50#define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI 0xa12f
50#define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI 0x9d2f 51#define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI 0x9d2f
51#define PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI 0x0aa8 52#define PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI 0x0aa8
52#define PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI 0x1aa8 53#define PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI 0x1aa8
54#define PCI_DEVICE_ID_INTEL_APL_XHCI 0x5aa8
53 55
54static const char hcd_name[] = "xhci_hcd"; 56static const char hcd_name[] = "xhci_hcd";
55 57
@@ -153,7 +155,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
153 xhci->quirks |= XHCI_SPURIOUS_REBOOT; 155 xhci->quirks |= XHCI_SPURIOUS_REBOOT;
154 } 156 }
155 if (pdev->vendor == PCI_VENDOR_ID_INTEL && 157 if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
156 pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI) { 158 (pdev->device == PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI ||
159 pdev->device == PCI_DEVICE_ID_INTEL_WILDCATPOINT_LP_XHCI)) {
157 xhci->quirks |= XHCI_SPURIOUS_REBOOT; 160 xhci->quirks |= XHCI_SPURIOUS_REBOOT;
158 xhci->quirks |= XHCI_SPURIOUS_WAKEUP; 161 xhci->quirks |= XHCI_SPURIOUS_WAKEUP;
159 } 162 }
@@ -169,6 +172,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
169 pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI) { 172 pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI) {
170 xhci->quirks |= XHCI_SSIC_PORT_UNUSED; 173 xhci->quirks |= XHCI_SSIC_PORT_UNUSED;
171 } 174 }
175 if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
176 (pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI ||
177 pdev->device == PCI_DEVICE_ID_INTEL_APL_XHCI))
178 xhci->quirks |= XHCI_MISSING_CAS;
179
172 if (pdev->vendor == PCI_VENDOR_ID_ETRON && 180 if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
173 pdev->device == PCI_DEVICE_ID_EJ168) { 181 pdev->device == PCI_DEVICE_ID_EJ168) {
174 xhci->quirks |= XHCI_RESET_ON_RESUME; 182 xhci->quirks |= XHCI_RESET_ON_RESUME;