Messages in this thread Patch in this message | | | Date | Wed, 12 Oct 2011 14:36:59 +0200 | Subject | [Patch] Increase USBFS Bulk Transfer size | From | Markus Rechberger <> |
| |
We have 2 products which can perform better with increased Bulk transfers
Device No. 1: According to the hardware spec of on of our product Available Bulk Transfer Size are: - 188 * n bytes, where n = 1 ~ 256.
Although we can drive that one with 15K as well when setting the HW register down to it.
Device No. 2 only creates jitter video with Bulk transfer sizes which are below 24064 bytes, no such chipfeature is available to decrease the bulk transfer size. http://sundtek.de/images/dtvjitter2.jpg with transfer size of 24064: http://sundtek.de/images/gooddata.jpg
The patch takes the features of Device No. 1 into account allowing a maximum buffer of 48128 bytes.
Those issues have been evaluated with MacOSX and a customized patched Linux version. Device No. 2 also corrupts on MacOSX with too small packet sizes, Windows and Mac are using 24064 bytes.
Default Bulk Transfersize of device No. 1 is around 1-2k which leads to very high cpu usage, updating it to 15k lowers that one. --- ./drivers/usb/core/devio.c_old 2011-10-12 14:23:34.000000000 +0200 +++ ./drivers/usb/core/devio.c 2011-10-12 14:25:30.000000000 +0200 @@ -107,7 +107,7 @@ #define USB_DEVICE_DEV MKDEV(USB_DEVICE_MAJOR, 0) -#define MAX_USBFS_BUFFER_SIZE 16384 +#define MAX_USBFS_BUFFER_SIZE 48128 static int connected(struct dev_state *ps) | |