Commit 118ecef1 authored by WangYuli's avatar WangYuli Committed by Greg Kroah-Hartman
Browse files

usb: xHCI: add XHCI_RESET_ON_RESUME quirk for Phytium xHCI host



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: default avatarChen Baozi <chenbaozi@phytium.com.cn>
Signed-off-by: default avatarChen Baozi <chenbaozi@phytium.com.cn>
Co-developed-by: default avatarWang Zhimin <wangzhimin1179@phytium.com.cn>
Signed-off-by: default avatarWang Zhimin <wangzhimin1179@phytium.com.cn>
Co-developed-by: default avatarChen Zhenhua <chenzhenhua@phytium.com.cn>
Signed-off-by: default avatarChen Zhenhua <chenzhenhua@phytium.com.cn>
Co-developed-by: default avatarWang Yinfeng <wangyinfeng@phytium.com.cn>
Signed-off-by: default avatarWang Yinfeng <wangyinfeng@phytium.com.cn>
Co-developed-by: default avatarJiakun Shuai <shuaijiakun1288@phytium.com.cn>
Signed-off-by: default avatarJiakun Shuai <shuaijiakun1288@phytium.com.cn>
Signed-off-by: default avatarWangYuli <wangyuli@uniontech.com>
Link: https://lore.kernel.org/r/2C1FDC3BB34715BE+20240905040916.63199-1-wangyuli@uniontech.com


Cc: stable <stable@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4664b738
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -55,6 +55,9 @@
#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI		0x51ed
#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI	0x54ed

#define PCI_VENDOR_ID_PHYTIUM		0x1db7
#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
@@ -410,6 +413,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)