diff mbox series

xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N

Message ID 20221027053407.421783-1-rekanorman@chromium.org (mailing list archive)
State Superseded
Headers show
Series xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N | expand

Commit Message

Reka Norman Oct. 27, 2022, 5:34 a.m. UTC
ADL-N systems have the same issue as ADL-P, where a large boot firmware
delay is seen if USB ports are left in U3 at shutdown. So apply the
XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.

This patch depends on "xhci: Add quirk to reset host back to default
state at shutdown".

Signed-off-by: Reka Norman <rekanorman@chromium.org>
---

 drivers/usb/host/xhci-pci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Greg KH Oct. 27, 2022, 6:12 a.m. UTC | #1
On Thu, Oct 27, 2022 at 04:34:07PM +1100, Reka Norman wrote:
> ADL-N systems have the same issue as ADL-P, where a large boot firmware
> delay is seen if USB ports are left in U3 at shutdown. So apply the
> XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.
> 
> This patch depends on "xhci: Add quirk to reset host back to default
> state at shutdown".

What is the git commit id of that change?

And is this needed in stable kernels?  If so, how far back?

thanks,

greg k-h
Reka Norman Oct. 27, 2022, 11:56 p.m. UTC | #2
On Thu, Oct 27, 2022 at 5:11 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Thu, Oct 27, 2022 at 04:34:07PM +1100, Reka Norman wrote:
> > ADL-N systems have the same issue as ADL-P, where a large boot firmware
> > delay is seen if USB ports are left in U3 at shutdown. So apply the
> > XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.
> >
> > This patch depends on "xhci: Add quirk to reset host back to default
> > state at shutdown".
>
> What is the git commit id of that change?

It hasn't been merged in mainline yet, only in the xhci tree:
https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/commit/?id=feb0b04b09c82589af65c84398b7d3fefaa7b7ac&head=for-usb-linus
Should I add the commit id from there? Or add the lore link?

>
> And is this needed in stable kernels?  If so, how far back?

Sorry, I'm not sure how to answer that properly.
It looks like most ADL-N support was added starting from 5.16.
The issue it fixes is a ~20s boot delay in the specific case of booting from S5.
It probably makes sense for it to go wherever the ADL-P patch goes.

>
> thanks,
>
> greg k-h
Greg KH Oct. 28, 2022, 6:11 a.m. UTC | #3
On Fri, Oct 28, 2022 at 10:56:56AM +1100, Reka Norman wrote:
> On Thu, Oct 27, 2022 at 5:11 PM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >
> > On Thu, Oct 27, 2022 at 04:34:07PM +1100, Reka Norman wrote:
> > > ADL-N systems have the same issue as ADL-P, where a large boot firmware
> > > delay is seen if USB ports are left in U3 at shutdown. So apply the
> > > XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.
> > >
> > > This patch depends on "xhci: Add quirk to reset host back to default
> > > state at shutdown".
> >
> > What is the git commit id of that change?
> 
> It hasn't been merged in mainline yet, only in the xhci tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/commit/?id=feb0b04b09c82589af65c84398b7d3fefaa7b7ac&head=for-usb-linus
> Should I add the commit id from there? Or add the lore link?

This is in linux-next already as 34cd2db408d5 ("xhci: Add quirk to reset
host back to default state at shutdown") right?

Please use that.

> > And is this needed in stable kernels?  If so, how far back?
> 
> Sorry, I'm not sure how to answer that properly.
> It looks like most ADL-N support was added starting from 5.16.
> The issue it fixes is a ~20s boot delay in the specific case of booting from S5.
> It probably makes sense for it to go wherever the ADL-P patch goes.

Then properly mark it with that information.

thanks,

greg k-h
Reka Norman Oct. 31, 2022, 3:54 a.m. UTC | #4
On Fri, Oct 28, 2022 at 5:10 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Fri, Oct 28, 2022 at 10:56:56AM +1100, Reka Norman wrote:
> > On Thu, Oct 27, 2022 at 5:11 PM Greg Kroah-Hartman
> > <gregkh@linuxfoundation.org> wrote:
> > >
> > > On Thu, Oct 27, 2022 at 04:34:07PM +1100, Reka Norman wrote:
> > > > ADL-N systems have the same issue as ADL-P, where a large boot firmware
> > > > delay is seen if USB ports are left in U3 at shutdown. So apply the
> > > > XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.
> > > >
> > > > This patch depends on "xhci: Add quirk to reset host back to default
> > > > state at shutdown".
> > >
> > > What is the git commit id of that change?
> >
> > It hasn't been merged in mainline yet, only in the xhci tree:
> > https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/commit/?id=feb0b04b09c82589af65c84398b7d3fefaa7b7ac&head=for-usb-linus
> > Should I add the commit id from there? Or add the lore link?
>
> This is in linux-next already as 34cd2db408d5 ("xhci: Add quirk to reset
> host back to default state at shutdown") right?

Yes it is, my bad. Added in v2.

>
> Please use that.
>
> > > And is this needed in stable kernels?  If so, how far back?
> >
> > Sorry, I'm not sure how to answer that properly.
> > It looks like most ADL-N support was added starting from 5.16.
> > The issue it fixes is a ~20s boot delay in the specific case of booting from S5.
> > It probably makes sense for it to go wherever the ADL-P patch goes.
>
> Then properly mark it with that information.

Done in v2.

Thanks.

>
> thanks,
>
> greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 7bccbe50bab15..f98cf30a3c1a5 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -59,6 +59,7 @@ 
 #define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI		0x9a13
 #define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI		0x1138
 #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_AMD_RENOIR_XHCI			0x1639
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_4			0x43b9
@@ -246,7 +247,8 @@  static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
 		xhci->quirks |= XHCI_MISSING_CAS;
 
 	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
-	    pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI)
+	    (pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI ||
+	     pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI))
 		xhci->quirks |= XHCI_RESET_TO_DEFAULT;
 
 	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&