Explorar o código

wil6210: Add Tx queue len configuration

Tx queue was hard-coded to 1000 in ether_setup. Add wil_dev_setup
function which configures tx queue len to chosen default value
after calling ether_setup.

Signed-off-by: Vladimir Shulman <qca_shulmanv@qca.qualcomm.com>
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Vladimir Shulman %!s(int64=10) %!d(string=hai) anos
pai
achega
f1871cd950

+ 8 - 3
drivers/net/wireless/ath/wil6210/netdev.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2012-2014 Qualcomm Atheros, Inc.
+ * Copyright (c) 2012-2015 Qualcomm Atheros, Inc.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
  * purpose with or without fee is hereby granted, provided that the above
@@ -15,7 +15,6 @@
  */
  */
 
 
 #include <linux/etherdevice.h>
 #include <linux/etherdevice.h>
-
 #include "wil6210.h"
 #include "wil6210.h"
 #include "txrx.h"
 #include "txrx.h"
 
 
@@ -122,6 +121,12 @@ static int wil6210_netdev_poll_tx(struct napi_struct *napi, int budget)
 	return min(tx_done, budget);
 	return min(tx_done, budget);
 }
 }
 
 
+static void wil_dev_setup(struct net_device *dev)
+{
+	ether_setup(dev);
+	dev->tx_queue_len = WIL_TX_Q_LEN_DEFAULT;
+}
+
 void *wil_if_alloc(struct device *dev, void __iomem *csr)
 void *wil_if_alloc(struct device *dev, void __iomem *csr)
 {
 {
 	struct net_device *ndev;
 	struct net_device *ndev;
@@ -153,7 +158,7 @@ void *wil_if_alloc(struct device *dev, void __iomem *csr)
 	ch = wdev->wiphy->bands[IEEE80211_BAND_60GHZ]->channels;
 	ch = wdev->wiphy->bands[IEEE80211_BAND_60GHZ]->channels;
 	cfg80211_chandef_create(&wdev->preset_chandef, ch, NL80211_CHAN_NO_HT);
 	cfg80211_chandef_create(&wdev->preset_chandef, ch, NL80211_CHAN_NO_HT);
 
 
-	ndev = alloc_netdev(0, "wlan%d", NET_NAME_UNKNOWN, ether_setup);
+	ndev = alloc_netdev(0, "wlan%d", NET_NAME_UNKNOWN, wil_dev_setup);
 	if (!ndev) {
 	if (!ndev) {
 		dev_err(dev, "alloc_netdev_mqs failed\n");
 		dev_err(dev, "alloc_netdev_mqs failed\n");
 		rc = -ENOMEM;
 		rc = -ENOMEM;

+ 2 - 1
drivers/net/wireless/ath/wil6210/wil6210.h

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2012-2014 Qualcomm Atheros, Inc.
+ * Copyright (c) 2012-2015 Qualcomm Atheros, Inc.
  *
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
  * purpose with or without fee is hereby granted, provided that the above
@@ -44,6 +44,7 @@ static inline u32 WIL_GET_BITS(u32 x, int b0, int b1)
 
 
 #define WIL6210_MEM_SIZE (2*1024*1024UL)
 #define WIL6210_MEM_SIZE (2*1024*1024UL)
 
 
+#define WIL_TX_Q_LEN_DEFAULT		(4000)
 #define WIL_RX_RING_SIZE_ORDER_DEFAULT	(9)
 #define WIL_RX_RING_SIZE_ORDER_DEFAULT	(9)
 #define WIL_TX_RING_SIZE_ORDER_DEFAULT	(9)
 #define WIL_TX_RING_SIZE_ORDER_DEFAULT	(9)
 /* limit ring size in range [32..32k] */
 /* limit ring size in range [32..32k] */