RE: Linux xHCI compartmentalization

2014-09-08 Thread Gary Cordelli
Sarah:

Thanks for the prompt response.  It unfortunately confirmed what I expected our 
situation to be.

I am intrigued by one aspect of your response -- that regarding the nature of 
early xHCI driver operation with xHCI 1.0 integrated hosts such as those 
produced by Intel.  I am wondering in particular if you had any experience with 
using the Texas Instruments 73x0 host controllers with your driver, and if 
there are any specific issues you can recall using that host device?  My 
understanding, in fact, was that at least some of the Intel devices actually 
supported a USB 2.0-compliant operating mode that allowed them to be used as 
USB 2.0 hosts in environments where USB 3.0 support was not (yet) available in 
the OS.  I currently have an inquiry with TI tech support regarding whether 
such an option exists on the 7320 device.

Ultimately, I believe you highlighted the substantive issues with producing a 
driver by back-porting from 3.x to 2.6.29.  Back-porting even the 2.6.32 driver 
to 2.6.29 required not merely additions to the usb/host area (i.e., the new 
xhci* files), but modifications to existing usb/core files as well -- and the 
ultimate result is spotty operation of USB 2.0 devices on the USB 3.0 ports 
(i.e., sometimes they work, sometimes they crash Linux).  Meanwhile, 
back-porting a 3.x driver to 2.6.29 confronts significant re-factoring changes 
in the entire USB source code tree.

Nevertheless, we may well be facing no viable alternative than to attempt just 
such a back-port while limiting the changes made outside the drivers/usb/host 
scope to the minimum necessary to support the new xHCI host operation.  If you 
are interested, I'll let you know if such a port proves successful.

Thanks again for taking the time to respond to my inquiry.

Gary Cordelli
Embedded Computer Engineer
Mentor Computer Consulting LLC
the embedded computer company

-Original Message-
From: Sarah Sharp [mailto:sarah.a.sh...@linux.intel.com] 
Sent: Friday, September 05, 2014 6:18 PM
To: Gary Cordelli
Cc: linux-usb@vger.kernel.org
Subject: Re: Linux xHCI compartmentalization

On Wed, Sep 03, 2014 at 09:20:28PM +, Gary Cordelli wrote:
 Sarah:
 
 Thank you for all the great work you put into providing the xHCI driver for 
 USB 3.0 host hardware support in Linux.
 
 Alas, I am stuck with an installed base of platforms that run a 2.6.29.6 
 kernel that has just absorbed a whole mess of hardware using a different SBC 
 that has a combination of USB 3.0 and USB 2.0 interfaces (where the installed 
 base has all USB 2.0 interfaces).  Ach!  After several tweaks to support the 
 different chipset (GPIO driver, SATA driver, HDA audio driver, and 
 USB2.0-to-serial), I discovered that we could not do without using at least 
 one of the USB 3.0 interfaces.  In looking at the xHCI driver, however, it 
 appears that its tentacles may reach deep into the bowels of Linux - at least 
 looking at recent kernels.
 
 Do you know if there is a kernel release close to the 2.6.29.6 architecture 
 that you would also consider to include a reasonably stable xHCI 
 implementation?  I have looked at 2.6.32.5 briefly, but was given information 
 that this experimental xHCI support is not recommended for use.  Frankly, 
 it does not have to be a full-featured implementation (since we are only 
 trying to reproduce/replace a USB 2.0 capability), but it would hopefully be 
 a stable implementation (no unexpected crashes).  Can you advise?

The xHCI driver wasn't really stable for xHCI 1.0 host controllers (integrated 
hosts like Intel) until the 3.0 kernel.  I would recommend installing one of 
the supported long-term stable kernels like 3.2.

But I really can't help you or support you through backporting those drivers 
from the stable kernel to your ancient 2.6.29.6 kernel.  There are far too many 
changes in the USB core to just do a straight backport of the xHCI driver -- 
and many of those changes are necessary for full xHCI driver support.

If you're on a vanilla stable kernel, the kernel community will happily help 
you debug it.  If not, you're on your own.

 Gary Cordelli
 Embedded Computer Engineer
 Mentor Computer Consulting LLC
 the embedded computer company

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


Re: Linux xHCI compartmentalization

2014-09-05 Thread Sarah Sharp
On Wed, Sep 03, 2014 at 09:20:28PM +, Gary Cordelli wrote:
 Sarah:
 
 Thank you for all the great work you put into providing the xHCI driver for 
 USB 3.0 host hardware support in Linux.
 
 Alas, I am stuck with an installed base of platforms that run a 2.6.29.6 
 kernel that has just absorbed a whole mess of hardware using a different SBC 
 that has a combination of USB 3.0 and USB 2.0 interfaces (where the installed 
 base has all USB 2.0 interfaces).  Ach!  After several tweaks to support the 
 different chipset (GPIO driver, SATA driver, HDA audio driver, and 
 USB2.0-to-serial), I discovered that we could not do without using at least 
 one of the USB 3.0 interfaces.  In looking at the xHCI driver, however, it 
 appears that its tentacles may reach deep into the bowels of Linux - at least 
 looking at recent kernels.
 
 Do you know if there is a kernel release close to the 2.6.29.6 architecture 
 that you would also consider to include a reasonably stable xHCI 
 implementation?  I have looked at 2.6.32.5 briefly, but was given information 
 that this experimental xHCI support is not recommended for use.  Frankly, 
 it does not have to be a full-featured implementation (since we are only 
 trying to reproduce/replace a USB 2.0 capability), but it would hopefully be 
 a stable implementation (no unexpected crashes).  Can you advise?

The xHCI driver wasn't really stable for xHCI 1.0 host controllers
(integrated hosts like Intel) until the 3.0 kernel.  I would recommend
installing one of the supported long-term stable kernels like 3.2.

But I really can't help you or support you through backporting those
drivers from the stable kernel to your ancient 2.6.29.6 kernel.  There
are far too many changes in the USB core to just do a straight backport
of the xHCI driver -- and many of those changes are necessary for full
xHCI driver support.

If you're on a vanilla stable kernel, the kernel community will happily
help you debug it.  If not, you're on your own.

 Gary Cordelli
 Embedded Computer Engineer
 Mentor Computer Consulting LLC
 the embedded computer company

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