linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers
@ 2016-01-07 17:23 Babu Moger
  2016-01-07 17:29 ` Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Babu Moger @ 2016-01-07 17:23 UTC (permalink / raw)
  To: mathias.nyman; +Cc: gregkh, linux-usb, linux-kernel, babu.moger

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@oracle.com>
---
 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;
+		writel(val, base + ext_cap_offset);
+	}
+
 	/* If the BIOS owns the HC, signal that the OS wants it, and wait */
 	if (val & XHCI_HC_BIOS_OWNED) {
 		writel(val | XHCI_HC_OS_OWNED, base + ext_cap_offset);
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-03-16 22:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-07 17:23 [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers Babu Moger
2016-01-07 17:29 ` Greg KH
2016-01-07 17:51   ` Babu Moger
2016-01-07 18:28     ` Greg KH
2016-01-08  0:04 ` [PATCH v2] " Babu Moger
2016-01-08  1:01   ` Greg KH
2016-01-08 15:36     ` Babu Moger
2016-01-08 15:39 ` Babu Moger
2016-03-16 22:26   ` Babu Moger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).