aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2010-07-19 09:40:44 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-10 14:35:42 -0700
commit10aebc772a10c95e30dff0779cb0f879b8f1554f (patch)
tree79a0cee8dd9a3e9a61fc537f9571429ff5829866 /arch/avr32
parentb3864cedfb576e11d2f9274f14a24840d8b569c3 (diff)
downloadkernel_samsung_aries-10aebc772a10c95e30dff0779cb0f879b8f1554f.zip
kernel_samsung_aries-10aebc772a10c95e30dff0779cb0f879b8f1554f.tar.gz
kernel_samsung_aries-10aebc772a10c95e30dff0779cb0f879b8f1554f.tar.bz2
USB: s3c-hsotg: Add initial detection and setup for dedicated FIFO mode
Add support for the dedicated FIFO mode on newer SoCs such as the S5PV210 partly to improve support and to fix the bug where any non-EP0 IN endpoint requires its own FIFO allocation. To fix this, we ensure that any non-zero IN endpoint is given a TXFIFO using the same allocation method as the periodic case (all our current hardware has enough FIFOs and FIFO memory for a 1:1 mapping) and ensure that the necessary transmission done interrupt is enabled. The default settings from reset for the core point all EPs at FIFO0, used for the control endpoint. However, the controller documentation states that all IN endpoints _must_ have a unique FIFO to avoid any contention during transmission. Note, this leaves us with a large IN FIFO for EP0 (which re-uses the old NPTXFIFO) for an endpoint which cannot shift more than a pair of packets at a time... this is a waste, but it looks like we cannot re-allocate space to the individual IN FIFOs as they are already maxed out (to be confirmed). Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch/avr32')
0 files changed, 0 insertions, 0 deletions