- Resolves some problems with DMA chaining. It should stream
a lot better now; but not all the funky cases are handled yet.
- Now "use_dma_chaining" is a module parameter not a #define.
It also defaults to false. Some gadget drivers will work fine
with this enabled, getting some IRQ reduction and increased
I/O parallelism (given deep I/O queues); others won't.
- Handle isochronous transfers (from Mark Huang at Broadcom)
- Some of the chiprev 0100 workarounds weren't quite right.
Neither were buffer allocations on dma-incoherent systems.
- Handle bulk endpoint halts better, for file_storage gadget driver.
- Handle the hardware device status bits better:
* selfpowered by default, clearable with the API;
* remote wakeup disabled by default, host must enable it.
- Fix a shutdown problem seen in some statically linked configs.
Needed to use the new file_storage gadget without disabling DMA.