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

From: Andiry Xu
Date: Tue Aug 21 2012 - 08:12:49 EST


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
--
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/