linux/drivers/usb/gadget/udc
Alan Stern ffc4ea79bc USB: dummy-hcd: bandwidth limits for non-bulk transfers
Part of the emulation performed by dummy-hcd is accounting for
bandwidth utilization.  The total amount of data transferred in a
single frame is supposed to be no larger than an actual USB connection
could accommodate.

Currently the driver performs bandwidth limiting only for bulk
transfers; control and periodic transfers are effectively unlimited.
(Presumably drivers were not expected to request extremely large
control or interrupt transfers.)  This patch improves the situation
somewhat by restricting them as well.

The emulation still isn't perfect.  On a real system, even 0-length
transfers use some bandwidth because of transaction overhead
(IN, OUT, ACK, NACK packets) and packet overhead (SYNC, PID, bit
stuffing, CRC, EOP).  Adding in those factors is left as an exercise
for a later patch.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
2017-10-11 13:07:35 +03:00
..
bdc usb: bdc: Add support for USB phy 2017-08-15 14:18:59 +03:00
amd5536udc_pci.c usb: gadget: udc: make debug prints compatible with both pci and platform devices 2017-06-13 13:21:01 +03:00
amd5536udc.h usb: gadget: udc: Add Synopsys UDC Platform driver 2017-06-13 13:21:03 +03:00
at91_udc.c
at91_udc.h usb: Convert pr_warning to pr_warn 2016-11-03 10:38:36 +02:00
atmel_usba_udc.c usb: gadget: udc: atmel: set vbus irqflags explicitly 2017-09-28 12:39:22 +03:00
atmel_usba_udc.h usb: gadget: udc: atmel: Remove unnecessary macros 2017-06-19 09:22:45 +03:00
bcm63xx_udc.c treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
core.c usb: gadget: core: fix ->udc_set_speed() logic 2017-09-20 14:57:13 +03:00
dummy_hcd.c USB: dummy-hcd: bandwidth limits for non-bulk transfers 2017-10-11 13:07:35 +03:00
fotg210-udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
fotg210.h
fsl_mxc_udc.c
fsl_qe_udc.c usb: gadget: fsl_qe_udc: constify qe_ep0_desc 2017-08-15 12:46:02 +03:00
fsl_qe_udc.h
fsl_udc_core.c fsl_udc_core: add support for devices provided by fsl-mph-dr-of 2017-04-11 10:58:27 +03:00
fsl_usb2_udc.h usb: Convert pr_warning to pr_warn 2016-11-03 10:38:36 +02:00
fusb300_udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
fusb300_udc.h
goku_udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
goku_udc.h
gr_udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
gr_udc.h
Kconfig usb: gadget: udc: fix snps_udc_plat.c build errors 2017-09-20 14:57:28 +03:00
lpc32xx_udc.c
m66592-udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
m66592-udc.h
Makefile usb: gadget: udc: Add Synopsys UDC Platform driver 2017-06-13 13:21:03 +03:00
mv_u3d_core.c usb: gadget: mv_u3d: fix error handling in mv_u3d_probe() 2017-04-11 10:58:27 +03:00
mv_u3d.h
mv_udc_core.c USB: gadget: remove unneeded MODULE_VERSION() usage 2017-07-22 15:56:53 +02:00
mv_udc.h
net2272.c usb: add CONFIG_USB_PCI for system have both PCI HW and non-PCI based USB HW 2017-03-17 13:16:56 +09:00
net2272.h usb: add CONFIG_USB_PCI for system have both PCI HW and non-PCI based USB HW 2017-03-17 13:16:56 +09:00
net2280.c usb: changes for v4.13 merge window 2017-06-20 11:39:34 +08:00
net2280.h usb: gadget: net2280: Replace PCI pool old API 2017-03-16 18:03:31 +09:00
omap_udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
omap_udc.h usb: Convert pr_warning to pr_warn 2016-11-03 10:38:36 +02:00
pch_udc.c usb: gadget: udc: remove pointer dereference after free 2017-03-22 11:21:10 +02:00
pxa25x_udc.c
pxa25x_udc.h usb: Convert pr_warning to pr_warn 2016-11-03 10:38:36 +02:00
pxa27x_udc.c usb: gadget: pxa27x: Remove duplicate function prototype 2017-03-27 10:46:34 +03:00
pxa27x_udc.h
r8a66597-udc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
r8a66597-udc.h
renesas_usb3.c usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe() 2017-09-28 12:31:51 +03:00
s3c2410_udc.c USB: gadget: remove unneeded MODULE_VERSION() usage 2017-07-22 15:56:53 +02:00
s3c2410_udc.h
s3c-hsudc.c usb: gadget: udc: constify usb_ep_ops structures 2017-01-24 11:04:24 +02:00
snps_udc_core.c usb: gadget: udc: Add Synopsys UDC Platform driver 2017-06-13 13:21:03 +03:00
snps_udc_plat.c Update extcon for 4.14 2017-08-28 17:01:04 +02:00
trace.c usb: gadget: add tracepoints to the gadget API 2016-06-21 10:38:41 +03:00
trace.h usb: gadget: add tracepoints to the gadget API 2016-06-21 10:38:41 +03:00
udc-xilinx.c usb: gadget: udc-xilinx: clean up a variable name 2017-05-17 14:17:25 +03:00