]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform
authorNehal Bakulchandra Shah <Nehal-Bakulchandra.shah@amd.com>
Thu, 14 Oct 2021 12:12:00 +0000 (15:12 +0300)
committerAndrea Righi <andrea.righi@canonical.com>
Tue, 7 Dec 2021 06:32:26 +0000 (07:32 +0100)
BugLink: https://bugs.launchpad.net/bugs/1951822
commit 660a92a59b9e831a0407e41ff62875656d30006e upstream.

AMD's Yellow Carp platform supports runtime power management for
XHCI Controllers, so enable the same by default for all XHCI Controllers.

[ regrouped and aligned the PCI_DEVICE_ID definitions -Mathias]

Cc: stable <stable@vger.kernel.org>
Reviewed-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Nehal Bakulchandra Shah <Nehal-Bakulchandra.shah@amd.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20211014121200.75433-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/usb/host/xhci-pci.c

index 908adac068b5cafd0871a281fe75e8b1733345f3..b235ae1ec226aac4d5d691a8424d4aa29cc4e7a4 100644 (file)
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_3                        0x43ba
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_2                        0x43bb
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_1                        0x43bc
+#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_1           0x161a
+#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_2           0x161b
+#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_3           0x161d
+#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_4           0x161e
+#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_5           0x15d6
+#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_6           0x15d7
+
 #define PCI_DEVICE_ID_ASMEDIA_1042_XHCI                        0x1042
 #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI               0x1142
 #define PCI_DEVICE_ID_ASMEDIA_1142_XHCI                        0x1242
@@ -317,6 +324,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
             pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4))
                xhci->quirks |= XHCI_NO_SOFT_RETRY;
 
+       if (pdev->vendor == PCI_VENDOR_ID_AMD &&
+           (pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_1 ||
+           pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_2 ||
+           pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_3 ||
+           pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_4 ||
+           pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_5 ||
+           pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_6))
+               xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
+
        if (xhci->quirks & XHCI_RESET_ON_RESUME)
                xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
                                "QUIRK: Resetting on resume");