[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOvWMLZz2RnWG77nrxs=HhR8QAqvX47i-a9JpbdmSqQEY2TWkQ@mail.gmail.com>
Date: Wed, 22 Aug 2012 11:31:55 +0800
From: Andiry Xu <andiry@...il.com>
To: Manoj Iyer <manoj.iyer@...onical.com>
Cc: 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
On Wed, Aug 22, 2012 at 12:16 AM, Manoj Iyer <manoj.iyer@...onical.com> wrote:
>
> 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.
>
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.
Thanks,
Andiry
>
> 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