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

From: Babu Moger
Date: Thu Jan 07 2016 - 12:51:35 EST


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)

>
> thanks,
>
> greg k-h
>