[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1208211109050.3421@lazy>
Date: Tue, 21 Aug 2012 11:16:45 -0500 (CDT)
From: Manoj Iyer <manoj.iyer@...onical.com>
To: Andiry Xu <andiry@...il.com>
cc: manoj.iyer@...onical.com, linux-kernel@...r.kernel.org,
sarah.a.sharp@...ux.intel.com, gregkh@...uxfoundation.org,
linux-usb@...r.kernel.org
Subject: Re: [PATCH 1/1] xhci: Unconditionally switch ports to xHCI on
powerup
Looks like in pci-quirks.c, we enter the do() while() loop, reach the end
of extended capabilities and goto hc_init: label, skipping the switch.
Probably moving the switch under the hc_init label might work? Currently
we switch unconditionally on resume, so we could do the same at powerup as
well.
On Tue, 21 Aug 2012, Andiry Xu wrote:
> On Tue, Aug 21, 2012 at 12:06 PM, <manoj.iyer@...onical.com> wrote:
>> From: Manoj Iyer <manoj.iyer@...onical.com>
>>
>> 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@...onical.com>
>> ---
>> 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@...r.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
====================
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists