Re: [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers

From: Greg KH
Date: Thu Jan 07 2016 - 13:29:33 EST


On Thu, Jan 07, 2016 at 11:51:21AM -0600, Babu Moger wrote:
> On 1/7/2016 11:29 AM, Greg KH wrote:
> > On Thu, Jan 07, 2016 at 09:23:27AM -0800, Babu Moger wrote:
> >> I have never seen auto handoff working on TI and RENESAS cards.
> >> Eventually, we force handoff. This code forces the handoff
> >> unconditionally. It saves 5 seconds boot time for each card.
> >>
> >> Signed-off-by: Babu Moger <babu.moger@xxxxxxxxxx>
> >> ---
> >> drivers/usb/host/pci-quirks.c | 7 +++++++
> >> 1 files changed, 7 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
> >> index f940056..b7ee895 100644
> >> --- a/drivers/usb/host/pci-quirks.c
> >> +++ b/drivers/usb/host/pci-quirks.c
> >> @@ -1003,6 +1003,13 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
> >> ext_cap_offset = xhci_find_next_cap_offset(base, ext_cap_offset);
> >> } while (1);
> >>
> >> + /* Auto handoff never worked for these devices. Force it and continue */
> >> + if (pdev->vendor == PCI_VENDOR_ID_TI ||
> >> + pdev->vendor == PCI_VENDOR_ID_RENESAS) {
> >> + val = (val | XHCI_HC_OS_OWNED) & ~XHCI_HC_BIOS_OWNED;
> >
> > odd spaces here, why this format?
>
> Thanks. I will fix this. checkpatch.pl did not catch it.
>
> >
> > And are you sure that all TI and Renesas host controllers have this
> > issue? That's a very wide and broad test you are making here...
>
> True, that is broad. I have tested these cards. I can probably add both vendor
> and device id combination.
> # lspci -nn |grep -i usb
> 0002:03:00.0 USB controller [0c03]: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller [104c:8241] (rev 02)
> 0000:05:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller [1912:0014] (rev 03)

Please do so, only add the devices you _know_ need this.

thanks,

greg k-h