Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1304052

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

From Babu Moger <babu.moger@oracle.com>
Newsgroups linux.kernel
Subject [PATCH v2] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers
Date 2016-01-08 01:10 +0100
Message-ID <qOsMX-77N-43@gated-at.bofh.it> (permalink)
References <qOmxQ-2P2-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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.

Changes v0 -> v1
 Made changes per comments from Greg KH.
 Extra space removal in assignment
 Added both vendor and device id checks.

Signed-off-by: Babu Moger <babu.moger@oracle.com>
---
 drivers/usb/host/pci-quirks.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
index f940056..0915f44 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -1003,6 +1003,14 @@ 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->device == 0x8241) ||
+			(pdev->vendor == PCI_VENDOR_ID_RENESAS
+			 && pdev->device == 0x0014)) {
+		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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers Babu Moger <babu.moger@oracle.com> - 2016-01-07 18:30 +0100
  Re: [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb  controllers Greg KH <gregkh@linuxfoundation.org> - 2016-01-07 18:40 +0100
    Re: [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb  controllers Babu Moger <babu.moger@oracle.com> - 2016-01-07 19:00 +0100
      Re: [PATCH] drivers/usb: Skip auto handoff for TI and RENESAS usb  controllers Greg KH <gregkh@linuxfoundation.org> - 2016-01-07 19:30 +0100
  [PATCH v2] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers Babu Moger <babu.moger@oracle.com> - 2016-01-08 01:10 +0100
    Re: [PATCH v2] drivers/usb: Skip auto handoff for TI and RENESAS usb  controllers Greg KH <gregkh@linuxfoundation.org> - 2016-01-08 02:10 +0100
      Re: [PATCH v2] drivers/usb: Skip auto handoff for TI and RENESAS usb  controllers Babu Moger <babu.moger@oracle.com> - 2016-01-08 16:40 +0100
  [PATCH v2] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers Babu Moger <babu.moger@oracle.com> - 2016-01-08 16:50 +0100

csiph-web