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


Groups > linux.kernel > #1506335

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

From Babu Moger <babu.moger@oracle.com>
Newsgroups linux.kernel
Subject [PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers
Date 2016-10-22 00:30 +0200
Message-ID <suQu5-3nv-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Never seen XHCI 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>
---
v2: 
 Made changes per comments from Greg KH.
 Extra space removal in assignment
 Added both vendor and device id checks.
 Resending the patch. Original discussion here.
 https://marc.info/?t=145221162000007&r=1&w=4

 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 35af362..31c9502 100644
--- a/drivers/usb/host/pci-quirks.c
+++ b/drivers/usb/host/pci-quirks.c
@@ -996,6 +996,14 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
 	}
 	val = readl(base + ext_cap_offset);
 
+	/* 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 | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and RENESAS usb controllers Babu Moger <babu.moger@oracle.com> - 2016-10-22 00:30 +0200
  Re: [PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and  RENESAS usb controllers Mathias Nyman <mathias.nyman@linux.intel.com> - 2016-10-24 12:00 +0200
    RE: [PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and  RENESAS usb controllers Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> - 2016-10-24 13:00 +0200
      Re: [PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and  RENESAS usb controllers Babu Moger <babu.moger@oracle.com> - 2016-10-24 17:00 +0200
        Re: [PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and  RENESAS usb controllers Mathias Nyman <mathias.nyman@intel.com> - 2016-10-25 09:00 +0200
          Re: [PATCH v2 RESEND] drivers/usb: Skip auto handoff for TI and  RENESAS usb controllers Babu Moger <babu.moger@oracle.com> - 2016-10-25 15:20 +0200

csiph-web