[PATCH] USB: pci-quirks: Skip usb_early_handoff for Renesas PCI USB

Akash Kumar posted 1 patch 1 year, 8 months ago
drivers/usb/host/pci-quirks.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] USB: pci-quirks: Skip usb_early_handoff for Renesas PCI USB
Posted by Akash Kumar 1 year, 8 months ago
Skip usb_early_handoff for the Renesas PCI USB controller due to
the firmware not being loaded beforehand, which impacts the bootup
time.

Signed-off-by: Akash Kumar <quic_akakum@quicinc.com>
---
 drivers/usb/host/pci-quirks.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index 0b949acfa258..a0770ecc0861 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -1264,6 +1264,11 @@ static void quirk_usb_early_handoff(struct pci_dev *pdev)
 		}
 	}
 
+	/* Skip handoff for Renesas PCI USB controller on QCOM SOC */
+	if ((pdev->vendor == PCI_VENDOR_ID_RENESAS) &&
+			(pcie_find_root_port(pdev)->vendor == PCI_VENDOR_ID_QCOM))
+		return;
+
 	if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI &&
 			pdev->class != PCI_CLASS_SERIAL_USB_OHCI &&
 			pdev->class != PCI_CLASS_SERIAL_USB_EHCI &&
-- 
2.17.1
Re: [PATCH] USB: pci-quirks: Skip usb_early_handoff for Renesas PCI USB
Posted by Greg Kroah-Hartman 1 year, 8 months ago
On Tue, May 21, 2024 at 01:16:35PM +0530, Akash Kumar wrote:
> Skip usb_early_handoff for the Renesas PCI USB controller due to
> the firmware not being loaded beforehand, which impacts the bootup
> time.
> 
> Signed-off-by: Akash Kumar <quic_akakum@quicinc.com>

What commit id does this fix?  Should it go to stable kernels?

> ---
>  drivers/usb/host/pci-quirks.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> index 0b949acfa258..a0770ecc0861 100644
> --- a/drivers/usb/host/pci-quirks.c
> +++ b/drivers/usb/host/pci-quirks.c
> @@ -1264,6 +1264,11 @@ static void quirk_usb_early_handoff(struct pci_dev *pdev)
>  		}
>  	}
>  
> +	/* Skip handoff for Renesas PCI USB controller on QCOM SOC */
> +	if ((pdev->vendor == PCI_VENDOR_ID_RENESAS) &&
> +			(pcie_find_root_port(pdev)->vendor == PCI_VENDOR_ID_QCOM))

Why are all Renesas PCI devices on a QCOM host to be marked this way?
That's a very big hammer for potentially lots of devices.  Have you
tested them all?

thanks,

greg k-h