From 8bc55ddceaaf7e353f79ac41a48ad63297962cbf Mon Sep 17 00:00:00 2001 From: William Wu Date: Thu, 21 Dec 2017 15:45:14 +0800 Subject: [PATCH] ANDROID: usb: gadget: f_mtp: increase default Tx/Rx buf size to 64K The test results indicate that larger transfers improve mtp read/write speeds. The Tx/Rx request transfer length is now 16K bytes. Increase the Tx/Rx transfer length from 16K to 64K to get good throughputs. For USB DWC3 controller, you can try to increase the Tx/Rx transfer length from 16K to 1MB to get better throughputs. Change-Id: If5ac41685acdc9b9d2db7f7f79e183e3dff7b558 Signed-off-by: William Wu --- drivers/usb/gadget/function/f_mtp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/function/f_mtp.c b/drivers/usb/gadget/function/f_mtp.c index 49d60f38338a..a8aafc68806f 100644 --- a/drivers/usb/gadget/function/f_mtp.c +++ b/drivers/usb/gadget/function/f_mtp.c @@ -42,6 +42,8 @@ #include "configfs.h" +#define MTP_RX_BUFFER_INIT_SIZE 65536 +#define MTP_TX_BUFFER_INIT_SIZE 65536 #define MTP_BULK_BUFFER_SIZE 16384 #define INTR_BUFFER_SIZE 28 #define MAX_INST_NAME_LEN 40 @@ -78,10 +80,10 @@ #define MAX_ITERATION 100 -static unsigned int mtp_rx_req_len = MTP_BULK_BUFFER_SIZE; +static unsigned int mtp_rx_req_len = MTP_RX_BUFFER_INIT_SIZE; module_param(mtp_rx_req_len, uint, 0644); -static unsigned int mtp_tx_req_len = MTP_BULK_BUFFER_SIZE; +static unsigned int mtp_tx_req_len = MTP_TX_BUFFER_INIT_SIZE; module_param(mtp_tx_req_len, uint, 0644); static unsigned int mtp_tx_reqs = MTP_TX_REQ_MAX;