kernel: bump 5.4 to 5.4.48
[oweals/openwrt.git] / target / linux / bcm27xx / patches-5.4 / 950-0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch
1 From e8d276834dcea140cc65b31ec2ac48783c09f0d2 Mon Sep 17 00:00:00 2001
2 From: Sam Nazarko <email@samnazarko.co.uk>
3 Date: Fri, 1 Apr 2016 17:27:21 +0100
4 Subject: [PATCH] smsc95xx: Experimental: Enable turbo_mode and
5  packetsize=2560 by default
6
7 See: http://forum.kodi.tv/showthread.php?tid=285288
8 ---
9  drivers/net/usb/smsc95xx.c | 14 +++++++++-----
10  1 file changed, 9 insertions(+), 5 deletions(-)
11
12 --- a/drivers/net/usb/smsc95xx.c
13 +++ b/drivers/net/usb/smsc95xx.c
14 @@ -74,6 +74,10 @@ static bool truesize_mode = false;
15  module_param(truesize_mode, bool, 0644);
16  MODULE_PARM_DESC(truesize_mode, "Report larger truesize value");
17  
18 +static int packetsize = 2560;
19 +module_param(packetsize, int, 0644);
20 +MODULE_PARM_DESC(packetsize, "Override the RX URB packet size");
21 +
22  static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
23                                             u32 *data, int in_pm)
24  {
25 @@ -1095,13 +1099,13 @@ static int smsc95xx_reset(struct usbnet
26  
27         if (!turbo_mode) {
28                 burst_cap = 0;
29 -               dev->rx_urb_size = MAX_SINGLE_PACKET_SIZE;
30 +               dev->rx_urb_size = packetsize ? packetsize : MAX_SINGLE_PACKET_SIZE;
31         } else if (dev->udev->speed == USB_SPEED_HIGH) {
32 -               burst_cap = DEFAULT_HS_BURST_CAP_SIZE / HS_USB_PKT_SIZE;
33 -               dev->rx_urb_size = DEFAULT_HS_BURST_CAP_SIZE;
34 +               dev->rx_urb_size = packetsize ? packetsize : DEFAULT_HS_BURST_CAP_SIZE;
35 +               burst_cap = dev->rx_urb_size / HS_USB_PKT_SIZE;
36         } else {
37 -               burst_cap = DEFAULT_FS_BURST_CAP_SIZE / FS_USB_PKT_SIZE;
38 -               dev->rx_urb_size = DEFAULT_FS_BURST_CAP_SIZE;
39 +               dev->rx_urb_size = packetsize ? packetsize : DEFAULT_FS_BURST_CAP_SIZE;
40 +               burst_cap = dev->rx_urb_size / FS_USB_PKT_SIZE;
41         }
42  
43         netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n",