Re: [PATCH 1/1] xhci: Unconditionally switch ports to xHCI onpowerup

From: Manoj Iyer
Date: Wed Aug 22 2012 - 12:09:53 EST



If this is a must-to-do thing for Intel Panther Point platform, then
we need to make sure it's called on power up and resume. Yes, I think
moving the code below hc_init label should work and I think it's a
better solution than your original patch.

Yes it effects a lot of machines (Lenovo), I will send out a new seperate patch with the fix.

Thanks
Manoj


Thanks,
Andiry


On Tue, 21 Aug 2012, Andiry Xu wrote:

On Tue, Aug 21, 2012 at 12:06 PM, <manoj.iyer@xxxxxxxxxxxxx> wrote:

From: Manoj Iyer <manoj.iyer@xxxxxxxxxxxxx>

USB 3.0 devices show up as high-speed devices on powerup, after an
s3 cycle they are correctly recognized as SuperSpeed. At powerup
unconditionally switch the port to xHCI like we do when we resume
from suspend.

BugLink: http://bugs.launchpad.net/bugs/1000424

Signed-off-by: Manoj Iyer <manoj.iyer@xxxxxxxxxxxxx>
---
drivers/usb/host/xhci-pci.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 9bfd4ca11..5c8dbea 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -48,6 +48,14 @@ static int xhci_pci_reinit(struct xhci_hcd *xhci,
struct pci_dev *pdev)
if (!pci_set_mwi(pdev))
xhci_dbg(xhci, "MWI active\n");

+ /*
+ * USB SuperSpeed ports are recognized as HighSpeed ports on
powerup
+ * unconditionally switch the ports to xHCI like we do when
resume
+ * from suspend.
+ */
+ if (usb_is_intel_switchable_xhci(pdev))
+ usb_enable_xhci_ports(pdev);
+


Strange. This should have been called during system power up, in
quirk_usb_handoff_xhci() of pci_quirks.c. Do you see that routine get
called during power up?

Thanks,
Andiry

xhci_dbg(xhci, "Finished xhci_pci_reinit\n");
return 0;
}
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html




--
====================
Manoj Iyer
Ubuntu/Canonical
Hardware Enablement
====================



--
====================
Manoj Iyer
Ubuntu/Canonical
Hardware Enablement
====================
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/