> > This has to be with the patch revision number, i.e. [PATCH v2] , [PATCH v3] > etc. > > On 2/5/2021 5:02 PM, Prike Liang wrote: > > The XHCI is required enter D3hot rather than D3cold for AMD s2idle > solution. > > Otherwise, the 'Controller Not Ready' (CNR) bit not being cleared by > > host in resume and eventually result in xhci resume failed in s2idle wakeup > period. > > > > Signed-off-by: Prike Liang <Prike.Liang@xxxxxxx> > > --- > > drivers/usb/host/xhci-pci.c | 6 +++++- > > drivers/usb/host/xhci.h | 1 + > > 2 files changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c > > index 3feaafe..8ecde66 100644 > > --- a/drivers/usb/host/xhci-pci.c > > +++ b/drivers/usb/host/xhci-pci.c > > @@ -170,6 +170,10 @@ static void xhci_pci_quirks(struct device *dev, > struct xhci_hcd *xhci) > > (pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_1))) > > xhci->quirks |= XHCI_U2_DISABLE_WAKE; > > > > + if (pdev->vendor == PCI_VENDOR_ID_AMD && > > + pdev->device == 0x1639) > > + xhci->quirks |= XHCI_AMD_S2IDL_SUPPORT_QUIRK; > > + > > if (pdev->vendor == PCI_VENDOR_ID_INTEL) { > > xhci->quirks |= XHCI_LPM_SUPPORT; > > xhci->quirks |= XHCI_INTEL_HOST; > > @@ -500,7 +504,7 @@ static int xhci_pci_suspend(struct usb_hcd *hcd, > bool do_wakeup) > > * Systems with the TI redriver that loses port status change events > > * need to have the registers polled during D3, so avoid D3cold. > > */ > > - if (xhci->quirks & XHCI_COMP_MODE_QUIRK) > > + if (xhci->quirks & (XHCI_COMP_MODE_QUIRK | > > +XHCI_AMD_S2IDL_SUPPORT_QUIRK)) > > pci_d3cold_disable(pdev); > > > > if (xhci->quirks & XHCI_PME_STUCK_QUIRK) diff --git > > a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index > > ea1754f..fafa044 100644 > > --- a/drivers/usb/host/xhci.h > > +++ b/drivers/usb/host/xhci.h > > @@ -1874,6 +1874,7 @@ struct xhci_hcd { > > #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) > > #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) > > #define XHCI_RENESAS_FW_QUIRK BIT_ULL(36) > > +#define XHCI_AMD_S2IDL_SUPPORT_QUIRK BIT_ULL(37) > > Why don't we keep it the fullname i.e. XHCI_AMD_S2IDLE_SUPPORT_QUIRK > instead of XHCI_AMD_S2IDL_SUPPORT_QUIRK, likewise at all places? > > -Shyam [Prike] Thanks for your comment and the primary patch with compliance mode quirk has been dropped and this patch seems totally different with compliance mode partial enablement fix. Anyway I will give the patch modified detail in the commit. The XHCI_AMD_S2IDL_SUPPORT_QUIRK is a typo and I will correct it. Thanks, Prike