USB gadget driver for AST2x00 vHub
Hi !
So I've been writing a new UDC gadget driver for the vHub from scratch.
It's still a work in progress as I haven't yet implement the "hub" functionality yet, so it's a single device UDC driver at the moment.
There are also various improvements that need to be done, but overall it's functional enough to give me about 200Mbit/sec off hdparm -tf of a mass storage fed off a tmpfs file.
I'll be working on it more sporadically during the next few weeks, I plan to have the virtual hub functionality going at some point and might look into further performance improvements, but it's in a state where some reviews/feedback could come in handy if anybody feels like having a look.
So for the curious, look here:
https://github.com/ozbenh/linux-ast/commits/bmc
This is also to make sure nobody else is duplicating the work.
(This contains *no* code from any of the existing implementations I've seen floating around, which have some serious issues anyway, and not just coding style related :-) This was written from scratch from a blank slate, using other upstream UDC drivers as guides).
Cheers,
Ben.
Thanks for sharing this! I've been wanting to play with the USB device peripherals but haven't found the time to work on the driver. I'll try to make time soon to read this over.
Quoted 32 lines · Benjamin Herrenschmidt
Hi !
So I've been writing a new UDC gadget driver for the vHub from scratch.
It's still a work in progress as I haven't yet implement the "hub" functionality yet, so it's a single device UDC driver at the moment.
There are also various improvements that need to be done, but overall it's functional enough to give me about 200Mbit/sec off hdparm -tf of a mass storage fed off a tmpfs file.
I'll be working on it more sporadically during the next few weeks, I plan to have the virtual hub functionality going at some point and might look into further performance improvements, but it's in a state where some reviews/feedback could come in handy if anybody feels like having a look.
So for the curious, look here:
https://github.com/ozbenh/linux-ast/commits/bmc
This is also to make sure nobody else is duplicating the work.
(This contains *no* code from any of the existing implementations I've seen floating around, which have some serious issues anyway, and not just coding style related :-) This was written from scratch from a blank slate, using other upstream UDC drivers as guides).
Cheers,
Ben.