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

2012-08-22 Thread Manoj Iyer



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,   wrote:


From: Manoj Iyer 

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 
---
 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 majord...@vger.kernel.org
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-22 Thread Manoj Iyer



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.i...@canonical.com wrote:


From: Manoj Iyer manoj.i...@canonical.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.i...@canonical.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 majord...@vger.kernel.org
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Andiry Xu
On Wed, Aug 22, 2012 at 12:16 AM, Manoj Iyer  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,   wrote:
>>>
>>> From: Manoj Iyer 
>>>
>>> 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 
>>> ---
>>>  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 majord...@vger.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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Manoj Iyer


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,   wrote:

From: Manoj Iyer 

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 
---
 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 majord...@vger.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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Andiry Xu
On Tue, Aug 21, 2012 at 12:06 PM,   wrote:
> From: Manoj Iyer 
>
> 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 
> ---
>  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 majord...@vger.kernel.org
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Sergei Shtylyov

Hello.

On 21-08-2012 8:06, manoj.i...@canonical.com wrote:


From: Manoj Iyer 



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


   Devices, not ports?


+* unconditionally switch the ports to xHCI like we do when resume


   s/resume/resuming/


+* from suspend.
+*/
+   if (usb_is_intel_switchable_xhci(pdev))
+   usb_enable_xhci_ports(pdev);
+


WBR, Sergei

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


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

2012-08-21 Thread Andiry Xu
On Wed, Aug 22, 2012 at 12:16 AM, Manoj Iyer manoj.i...@canonical.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.i...@canonical.com wrote:

 From: Manoj Iyer manoj.i...@canonical.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.i...@canonical.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 majord...@vger.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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Sergei Shtylyov

Hello.

On 21-08-2012 8:06, manoj.i...@canonical.com wrote:


From: Manoj Iyer manoj.i...@canonical.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.i...@canonical.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


   Devices, not ports?


+* unconditionally switch the ports to xHCI like we do when resume


   s/resume/resuming/


+* from suspend.
+*/
+   if (usb_is_intel_switchable_xhci(pdev))
+   usb_enable_xhci_ports(pdev);
+


WBR, Sergei

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Andiry Xu
On Tue, Aug 21, 2012 at 12:06 PM,  manoj.i...@canonical.com wrote:
 From: Manoj Iyer manoj.i...@canonical.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.i...@canonical.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 majord...@vger.kernel.org
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-21 Thread Manoj Iyer


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.i...@canonical.com wrote:

From: Manoj Iyer manoj.i...@canonical.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.i...@canonical.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 majord...@vger.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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-08-20 Thread manoj . iyer
From: Manoj Iyer 

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 
---
 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);
+
xhci_dbg(xhci, "Finished xhci_pci_reinit\n");
return 0;
 }
-- 
1.7.9.5

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


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

2012-08-20 Thread manoj . iyer
From: Manoj Iyer manoj.i...@canonical.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.i...@canonical.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);
+
xhci_dbg(xhci, Finished xhci_pci_reinit\n);
return 0;
 }
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/