usb: gadget: mass_storage: allow for deeper queue lengths
authorFelipe Balbi <balbi@ti.com>
Tue, 15 Sep 2015 14:39:45 +0000 (09:39 -0500)
committerFelipe Balbi <balbi@ti.com>
Sun, 27 Sep 2015 15:54:31 +0000 (10:54 -0500)
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
drivers/usb/gadget/function/f_mass_storage.c

index bcf83c0a6e62b340899ea661955de89bbfc9df11..33834aa09ed43be03b0dd0ad418febf0ca25432d 100644 (file)
@@ -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
index a6eb537d77689f53e7b0e31cff14c2f523c52fe4..5277e7c4a82ac639132bb491c2ae22f22bf15028 100644 (file)
@@ -2662,10 +2662,12 @@ 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)
+#define FSG_MAX_NUM_BUFFERS    32
+
+       if (fsg_num_buffers >= 2 && fsg_num_buffers <= FSG_MAX_NUM_BUFFERS)
                return 0;
        pr_err("fsg_num_buffers %u is out of range (%d to %d)\n",
-              fsg_num_buffers, 2, 4);
+              fsg_num_buffers, 2, FSG_MAX_NUM_BUFFERS);
        return -EINVAL;
 }