From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752704AbcAGRvb (ORCPT ); Thu, 7 Jan 2016 12:51:31 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:44738 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751534AbcAGRva (ORCPT ); Thu, 7 Jan 2016 12:51:30 -0500 Subject: Re: [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers To: Greg KH References: <1452187407-34440-1-git-send-email-babu.moger@oracle.com> <20160107172957.GA29783@kroah.com> Cc: mathias.nyman@intel.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org From: Babu Moger Organization: Oracle Corporation Message-ID: <568EA599.70503@oracle.com> Date: Thu, 7 Jan 2016 11:51:21 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160107172957.GA29783@kroah.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >> --- >> 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 >