[v2,5/5] usb: gadget: mass_storage: allow for deeper queue lengths

Message ID 1442344568-1820-6-git-send-email-balbi@ti.com
State Superseded
Headers show

Commit Message

Felipe Balbi Sept. 15, 2015, 7:16 p.m.
Instead of allowing a range of 2 to 4 requests,
let's allow the user choose up to 32 requests
as that will give us a better chance of keeping
controller busy.

We still maintain default of 2 so users shouldn't
be affected.

Signed-off-by: Felipe Balbi <balbi@ti.com>
---
 drivers/usb/gadget/Kconfig                   | 2 +-
 drivers/usb/gadget/function/f_mass_storage.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Alan Stern Sept. 15, 2015, 7:24 p.m. | #1
On Tue, 15 Sep 2015, Felipe Balbi wrote:

> Instead of allowing a range of 2 to 4 requests,
> let's allow the user choose up to 32 requests
> as that will give us a better chance of keeping
> controller busy.
> 
> We still maintain default of 2 so users shouldn't
> be affected.
> 
> Signed-off-by: Felipe Balbi <balbi@ti.com>
> ---
>  drivers/usb/gadget/Kconfig                   | 2 +-
>  drivers/usb/gadget/function/f_mass_storage.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
> index bcf83c0a6e62..33834aa09ed4 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -113,7 +113,7 @@ config USB_GADGET_VBUS_DRAW
>  
>  config USB_GADGET_STORAGE_NUM_BUFFERS
>  	int "Number of storage pipeline buffers"
> -	range 2 4
> +	range 2 32
>  	default 2
>  	help
>  	   Usually 2 buffers are enough to establish a good buffering
> diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c
> index a6eb537d7768..2b9c539c6d60 100644
> --- a/drivers/usb/gadget/function/f_mass_storage.c
> +++ b/drivers/usb/gadget/function/f_mass_storage.c
> @@ -2662,7 +2662,7 @@ EXPORT_SYMBOL_GPL(fsg_common_put);
>  /* check if fsg_num_buffers is within a valid range */
>  static inline int fsg_num_buffers_validate(unsigned int fsg_num_buffers)
>  {
> -	if (fsg_num_buffers >= 2 && fsg_num_buffers <= 4)
> +	if (fsg_num_buffers >= 2 && fsg_num_buffers <= 32)
>  		return 0;
>  	pr_err("fsg_num_buffers %u is out of range (%d to %d)\n",
>  	       fsg_num_buffers, 2, 4);

You should fix up this pr_err() statement accordingly.  Maybe #define a 
preprocessor symbol for the upper limit.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index bcf83c0a6e62..33834aa09ed4 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -113,7 +113,7 @@  config USB_GADGET_VBUS_DRAW
 
 config USB_GADGET_STORAGE_NUM_BUFFERS
 	int "Number of storage pipeline buffers"
-	range 2 4
+	range 2 32
 	default 2
 	help
 	   Usually 2 buffers are enough to establish a good buffering
diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c
index a6eb537d7768..2b9c539c6d60 100644
--- a/drivers/usb/gadget/function/f_mass_storage.c
+++ b/drivers/usb/gadget/function/f_mass_storage.c
@@ -2662,7 +2662,7 @@  EXPORT_SYMBOL_GPL(fsg_common_put);
 /* check if fsg_num_buffers is within a valid range */
 static inline int fsg_num_buffers_validate(unsigned int fsg_num_buffers)
 {
-	if (fsg_num_buffers >= 2 && fsg_num_buffers <= 4)
+	if (fsg_num_buffers >= 2 && fsg_num_buffers <= 32)
 		return 0;
 	pr_err("fsg_num_buffers %u is out of range (%d to %d)\n",
 	       fsg_num_buffers, 2, 4);