The resume operation of Phytium Px210 xHCI host would failed to restore state. Use the XHCI_RESET_ON_RESUME quirk to skip it and reset the controller after resume. Co-developed-by: Chen Baozi <chenbaozi@xxxxxxxxxxxxxx> Signed-off-by: Chen Baozi <chenbaozi@xxxxxxxxxxxxxx> Co-developed-by: Wang Zhimin <wangzhimin1179@xxxxxxxxxxxxxx> Signed-off-by: Wang Zhimin <wangzhimin1179@xxxxxxxxxxxxxx> Co-developed-by: Chen Zhenhua <chenzhenhua@xxxxxxxxxxxxxx> Signed-off-by: Chen Zhenhua <chenzhenhua@xxxxxxxxxxxxxx> Co-developed-by: Wang Yinfeng <wangyinfeng@xxxxxxxxxxxxxx> Signed-off-by: Wang Yinfeng <wangyinfeng@xxxxxxxxxxxxxx> Co-developed-by: Jiakun Shuai <shuaijiakun1288@xxxxxxxxxxxxxx> Signed-off-by: Jiakun Shuai <shuaijiakun1288@xxxxxxxxxxxxxx> Signed-off-by: WangYuli <wangyuli@xxxxxxxxxxxxx> --- drivers/usb/host/xhci-pci.c | 6 ++++++ include/linux/pci_ids.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index b5705ed01d83..af967644489c 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -55,6 +55,8 @@ #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI 0x51ed #define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI 0x54ed +#define PCI_DEVICE_ID_PHYTIUM_XHCI 0xdc27 + /* Thunderbolt */ #define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138 #define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI 0x15b5 @@ -407,6 +409,10 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) if (pdev->vendor == PCI_VENDOR_ID_VIA) xhci->quirks |= XHCI_RESET_ON_RESUME; + if (pdev->vendor == PCI_VENDOR_ID_PHYTIUM || + pdev->device == PCI_DEVICE_ID_PHYTIUM_XHCI) + xhci->quirks |= XHCI_RESET_ON_RESUME; + /* See https://bugzilla.kernel.org/show_bug.cgi?id=79511 */ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3432) diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index e388c8b1cbc2..25fff4130503 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -2605,6 +2605,8 @@ #define PCI_VENDOR_ID_FUNGIBLE 0x1dad +#define PCI_VENDOR_ID_PHYTIUM 0x1db7 + #define PCI_VENDOR_ID_HXT 0x1dbf #define PCI_VENDOR_ID_TEKRAM 0x1de1 -- 2.43.4