--- zzzz-none-000/linux-4.9.279/drivers/usb/host/xhci-pci.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-atom-6591-750/linux-4.9.279/drivers/usb/host/xhci-pci.c 2023-02-08 11:43:42.000000000 +0000 @@ -27,6 +27,7 @@ #include "xhci.h" #include "xhci-trace.h" +#include "xhci-intel-cap.h" #define SSIC_PORT_NUM 2 #define SSIC_PORT_CFG2 0x880c @@ -47,6 +48,7 @@ #define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_XHCI 0x9c31 #define PCI_DEVICE_ID_INTEL_WILDCATPOINT_LP_XHCI 0x9cb1 #define PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI 0x22b5 +#define PCI_DEVICE_ID_INTEL_PUMA7_XHCI 0x2bb5 #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI 0xa12f #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI 0x9d2f #define PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI 0x0aa8 @@ -76,6 +78,12 @@ * new extended capabilities. */ + /* Init Intel vendor defined extended capability */ + if (pdev->vendor == PCI_VENDOR_ID_INTEL) { + if (!xhci_intel_vendor_cap_init(xhci)) + xhci_dbg(xhci, "Intel Vendor Capability init done\n"); + } + /* PCI Memory-Write-Invalidate cycle support is optional (uncommon) */ if (!pci_set_mwi(pdev)) xhci_dbg(xhci, "MWI active\n"); @@ -167,6 +175,7 @@ if (pdev->vendor == PCI_VENDOR_ID_INTEL && (pdev->device == PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_PUMA7_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI || @@ -176,7 +185,8 @@ xhci->quirks |= XHCI_PME_STUCK_QUIRK; } if (pdev->vendor == PCI_VENDOR_ID_INTEL && - pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI) { + (pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_PUMA7_XHCI)) { xhci->quirks |= XHCI_SSIC_PORT_UNUSED; } if (pdev->vendor == PCI_VENDOR_ID_INTEL &&