|
@@ -54,6 +54,11 @@
|
|
#define PCI_DEVICE_ID_INTEL_APL_XHCI 0x5aa8
|
|
#define PCI_DEVICE_ID_INTEL_APL_XHCI 0x5aa8
|
|
#define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0
|
|
#define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0
|
|
|
|
|
|
|
|
+#define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9
|
|
|
|
+#define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba
|
|
|
|
+#define PCI_DEVICE_ID_AMD_PROMONTORYA_2 0x43bb
|
|
|
|
+#define PCI_DEVICE_ID_AMD_PROMONTORYA_1 0x43bc
|
|
|
|
+
|
|
static const char hcd_name[] = "xhci_hcd";
|
|
static const char hcd_name[] = "xhci_hcd";
|
|
|
|
|
|
static struct hc_driver __read_mostly xhci_pci_hc_driver;
|
|
static struct hc_driver __read_mostly xhci_pci_hc_driver;
|
|
@@ -135,6 +140,13 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
|
if (pdev->vendor == PCI_VENDOR_ID_AMD)
|
|
if (pdev->vendor == PCI_VENDOR_ID_AMD)
|
|
xhci->quirks |= XHCI_TRUST_TX_LENGTH;
|
|
xhci->quirks |= XHCI_TRUST_TX_LENGTH;
|
|
|
|
|
|
|
|
+ if ((pdev->vendor == PCI_VENDOR_ID_AMD) &&
|
|
|
|
+ ((pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4) ||
|
|
|
|
+ (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_3) ||
|
|
|
|
+ (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_2) ||
|
|
|
|
+ (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_1)))
|
|
|
|
+ xhci->quirks |= XHCI_U2_DISABLE_WAKE;
|
|
|
|
+
|
|
if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
|
|
if (pdev->vendor == PCI_VENDOR_ID_INTEL) {
|
|
xhci->quirks |= XHCI_LPM_SUPPORT;
|
|
xhci->quirks |= XHCI_LPM_SUPPORT;
|
|
xhci->quirks |= XHCI_INTEL_HOST;
|
|
xhci->quirks |= XHCI_INTEL_HOST;
|