linux/drivers/usb/gadget
Ben Dooks 10aebc772a 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>
2010-08-10 14:35:42 -07:00
..
amd5536udc.c usb: amd5536udc: fixed shared interrupt bug and warning oops 2009-11-30 16:43:15 -08:00
amd5536udc.h
at91_udc.c ARM: 6209/3: at91_udc: Add vbus polarity and polling mode 2010-07-18 20:39:10 +01:00
at91_udc.h ARM: 6209/3: at91_udc: Add vbus polarity and polling mode 2010-07-18 20:39:10 +01:00
atmel_usba_udc.c USB: gadget: Use kmemdup 2010-05-20 13:21:49 -07:00
atmel_usba_udc.h USB: atmel uaba: Adding invert vbus_pin 2010-03-02 14:54:57 -08:00
audio.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
cdc2.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
ci13xxx_udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ci13xxx_udc.h
composite.c USB: gadget: composite: added disconnect callback 2010-08-10 14:35:37 -07:00
config.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
dbgp.c USB: EHCI Debug Port Device Gadget 2010-08-10 14:35:39 -07:00
dummy_hcd.c USB: convert usb_hcd bitfields into atomic flags 2010-08-10 14:35:37 -07:00
epautoconf.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
ether.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
f_acm.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_audio.c ALSA: usb-audio: unify UAC macros and struct names 2010-06-23 16:09:26 +02:00
f_ecm.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_eem.c USB: gadget eth: Fix calculate CRC32 in EEM 2010-06-30 08:16:06 -07:00
f_fs.c USB: gadget: f_fs: use usb_string_ids_n() 2010-08-10 14:35:36 -07:00
f_hid.c USB: gadget: Remove unnecessary casts of private_data 2010-08-10 14:35:39 -07:00
f_loopback.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
f_mass_storage.c USB: gadget: f_mass_storage: added eject callback 2010-08-10 14:35:37 -07:00
f_obex.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_phonet.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_rndis.c USB: gadget: __init and __exit tags removed 2010-05-20 13:21:43 -07:00
f_serial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_sourcesink.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
f_subset.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
f_uvc.c V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
f_uvc.h V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
file_storage.c USB: gadget: storage: optional SCSI WRITE FUA bit 2010-08-10 14:35:42 -07:00
fsl_mxc_udc.c i.MX25: fix USB gadget support 2010-07-26 14:18:11 +02:00
fsl_qe_udc.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
fsl_qe_udc.h powerpc/qe&cpm: Implement static inline stubs for non-QE/CPM builds 2009-11-11 21:43:20 -06:00
fsl_udc_core.c USB: mxc: gadget: Fix bitfield for calculating maximum packet size 2010-05-20 13:21:40 -07:00
fsl_usb2_udc.h
g_ffs.c USB: gadget: g_fs: code cleanup 2010-08-10 14:35:37 -07:00
g_zero.h
gadget_chips.h USB: gadget: add gadget controller number for s3c-hsotg driver 2010-03-19 07:24:22 -07:00
gmidi.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
goku_udc.c USB: goku_udc: remove potential null dereference 2010-03-19 07:24:19 -07:00
goku_udc.h
hid.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
imx_udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imx_udc.h
inode.c usb: gadget: Do not take BKL for gadget->ops->ioctl 2010-08-10 14:35:36 -07:00
Kconfig USB: EHCI Debug Port Device Gadget 2010-08-10 14:35:39 -07:00
langwell_udc.c USB: gadget: langwell_udc.c: printk needs a (unsigned long long) cast for a dma_t 2010-08-10 14:35:35 -07:00
langwell_udc.h
lh7a40x_udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
lh7a40x_udc.h
m66592-udc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
m66592-udc.h usb: gadget: m66592-udc pio to mmio accessor conversion. 2010-06-02 16:26:13 +09:00
Makefile USB: gadget: functionfs: stale Makefile entry removed 2010-08-10 14:35:40 -07:00
mass_storage.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
multi.c USB: gadget: g_multi: code clean up and refactoring 2010-08-10 14:35:36 -07:00
ndis.h
net2280.c
net2280.h
nokia.c USB: gadget: introduce g_nokia gadget driver 2010-03-02 14:54:02 -08:00
omap_udc.c omap1: omap_udc: Add clocking and disable vbus sense for omap7xx 2009-11-22 10:24:32 -08:00
omap_udc.h
printer.c USB: autoconvert trivial BKL users to private mutex 2010-08-10 14:35:39 -07:00
pxa25x_udc.c [ARM] pxa: move board board IRQ definitions out of irqs.h 2010-03-02 07:40:51 +08:00
pxa25x_udc.h USB: gadget: pxa25x: basic transceiver support 2009-09-23 06:46:23 -07:00
pxa27x_udc.c [ARM] pxa: fix incorrect CONFIG_CPU_PXA27x to CONFIG_PXA27x 2010-07-15 17:20:23 +08:00
pxa27x_udc.h USB: pxa27x_udc: use four bits to store endpoint addresses 2010-05-20 13:21:36 -07:00
r8a66597-udc.c usb: gadget: r8a66597-udc pio to mmio accessor conversion. 2010-06-02 16:31:02 +09:00
r8a66597-udc.h usb: gadget: r8a66597-udc pio to mmio accessor conversion. 2010-06-02 16:31:02 +09:00
rndis.c net: fix 64 bit counters on 32 bit arches 2010-07-07 14:58:56 -07:00
rndis.h USB: gadget: Add EEM gadget driver 2009-09-23 06:46:35 -07:00
s3c2410_udc.c USB: s3c2410_udc: be aware of connected gadget driver 2010-07-26 12:00:58 -07:00
s3c2410_udc.h
s3c-hsotg.c USB: s3c-hsotg: Add initial detection and setup for dedicated FIFO mode 2010-08-10 14:35:42 -07:00
serial.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
storage_common.c USB: gadget: storage: optional SCSI WRITE FUA bit 2010-08-10 14:35:42 -07:00
u_audio.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
u_audio.h USB: audio gadget: free alsa devices when unloading 2009-12-23 11:34:20 -08:00
u_ether.c usb: throw away custom hex digit methods 2010-08-10 14:35:35 -07:00
u_ether.h USB: Remove unsupported usb gadget drivers 2010-03-02 14:54:57 -08:00
u_phonet.h
u_serial.c USB: gadget: compilation issue: missing TASK_INTERRUPTIBLE 2010-08-10 14:35:38 -07:00
u_serial.h
usbstring.c
uvc_queue.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_queue.h V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_v4l2.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc_video.c V4L/DVB: uvc: Fix multiple symbols definitions with UVC gadget and host drivers 2010-07-11 17:45:10 -03:00
uvc.h V4L/DVB: uvc: Move constants and structures definitions to linux/usb/video.h 2010-08-02 16:43:15 -03:00
webcam.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00
zero.c USB: gadget: section mismatch warning fixed 2010-08-10 14:35:37 -07:00