Dnia Niedziela, 1 Lutego 2015 02:10 Greg KH <[email protected]> 
napisaƂ(a)
> On Sat, Jan 31, 2015 at 10:48:36PM +0100, Kazimierz Marzec wrote:
> > Good day,
> > could You please take a look at
> > https://bugzilla.kernel.org/show_bug.cgi?id=92341
>  
> How about posting the full information here, it makes it hard to comment
> on things if you just post a single web link.
>  
> thanks,
>  
> greg k-h
I beg Your pardon for any inconvenience.
Bug/request details follows:

I'd like to ask if xHCI USB driver developers plan to add support 
fornon-conformant High Speed USB devices with bulk endpoints of size different 
than 512B?
In EHCI these devices work, however the following message appears @enumeration 
for each bulk endpoint in device:
bulk endpoint XX has invalid maxpacket XX.
In xHCI such non-conformat device is being continously reset.
I develop such devices, and simply can not change maxpacket size to 512B.
Explanation follows.
I use Atmel's SAM3U4 chips with HS USB PHY.
There are 8 endpoints available, two of which may be set up to 512B, another 
two up to 1024B and others up to 64B (hardware limitation).
These endpoints are double or tripple buffered, so each endpoint consumes 
either 1024 up to 1536B of available FIFO RAM for USB controller.
And there is only 4096B of FIFO RAM available for all endpoints.
There is no problem if I implement MassStorageDevice class device.
I simply use endpoints with 512B of RAM. No sweat.
Issues arise when more endpoints are being used.
I develop composite device (mass_storage + vendor classes).
For vendor class device I must assign two endpoints (one IN and one OUT),
and I do not meet the 4kB FIFO RAM limit present in SAM3U4's USB controller.
2EPs for MSD + 2EPs for Vendor = 2 * 1024B + 2*1536B = 5kB of RAM.
I simply MUST use bulk endpoints with less than 512B of maxpacket data.
And this prevents my device from working on xHCI USB.
Luckily, in BIOS I still can choose operating mode for USB ports,
but since USB2.0 (EHCI) will soon be replaced with USB3.0 (xHCI),
I have to think about it now.

All Atmel's and other manuf's chips with on-board HS USB PHY have only 4096B 
FIFO,
 so I just can not change chip.




Today I'll apply patch suggested by Alan Stern and let You know about results.
Good day.
 



--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to