Re: [PATCH] PCI: quirks: Quirk PCI d3hot delay for AMD xhci

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 29, 2021 at 03:42:58PM -0500, Limonciello, Mario wrote:
> On 7/29/2021 15:39, Bjorn Helgaas wrote:
> > On Wed, Jul 21, 2021 at 10:58:58PM -0400, Alex Deucher wrote:
> > > From: Marcin Bachry <hegel666@xxxxxxxxx>
> > > 
> > > Renoir needs a similar delay.
> > > 
> > > [Alex: I talked to the AMD USB hardware team and the
> > >   AMD windows team and they are not aware of any HW
> > >   errata or specific issues.  The HW works fine in
> > >   windows.  I was told windows uses a rather generous
> > >   default delay of 100ms for PCI state transitions.]
> > > 
> > > Signed-off-by: Marcin Bachry <hegel666@xxxxxxxxx>
> > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
> > 
> > Added stable tag and applied to pci/pm for v5.15, thanks!
> 
> Thanks Bjorn!
> 
> Given how small/harmless this is and 5.14 isn't cut yet, any chance this
> could still make one of the -rcX rather than wait for 5.14.1 instead?

Done.

What's the rest of the story here?  Aare we working around a defect in
these XHCI controllers?  A defect in Linux?  Obviously nobody wants to
have to add a quirk for every new Device ID.  It's not like this
should be hard to figure out for your hardware guys in the lab, and if
it turns out to be a Linux problem, we should fix it so everybody
benefits.

> > > Cc: mario.limonciello@xxxxxxx
> > > Cc: prike.liang@xxxxxxx
> > > Cc: shyam-sundar.s-k@xxxxxxx
> > > ---
> > > 
> > > Bjorn,
> > > 
> > > With the above comment in mind, would you consider this patch
> > > or would you prefer to increase the default timeout on Linux?
> > > 100ms seems a bit long and most devices seems to work within
> > > that limit.  Additionally, this patch doesn't seem to be
> > > required on all AMD platforms with the affected USB controller,
> > > so I suspect the current timeout on Linux is probably about
> > > right.  Increasing it seems to fix some of the marginal cases.
> > > 
> > > Alex
> > > 
> > >   drivers/pci/quirks.c | 1 +
> > >   1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > > index 22b2bb1109c9..dea10d62d5b9 100644
> > > --- a/drivers/pci/quirks.c
> > > +++ b/drivers/pci/quirks.c
> > > @@ -1899,6 +1899,7 @@ static void quirk_ryzen_xhci_d3hot(struct pci_dev *dev)
> > >   }
> > >   DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e0, quirk_ryzen_xhci_d3hot);
> > >   DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e1, quirk_ryzen_xhci_d3hot);
> > > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x1639, quirk_ryzen_xhci_d3hot);
> > >   #ifdef CONFIG_X86_IO_APIC
> > >   static int dmi_disable_ioapicreroute(const struct dmi_system_id *d)
> > > -- 
> > > 2.31.1
> > > 
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux