aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2012-07-02 14:15:51 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-07-10 12:16:54 -0400
commit093cd33497d4f3336bf0940a0fa1d5659dbe68d2 (patch)
treec6573c48ec1d54f08b0a06d0c60eefdd546a7844 /drivers/net/wireless
parentc9d6afc91d65029fb43b1d237d0efc71fc9de49f (diff)
brcmsmac: extend xmtfifo_sz array
The xmtfifo_sz array contains the queue sizes for the different core revs. This array missed the sizes for the core rev 17 and 28. This patch extends the array to also include these sizes and adds a warning if no queue size is stored in the array for the given core rev. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/main.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
index 547ae5bca567..942ef9942538 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
@@ -269,7 +269,7 @@ struct brcms_c_bit_desc {
269 */ 269 */
270 270
271/* Starting corerev for the fifo size table */ 271/* Starting corerev for the fifo size table */
272#define XMTFIFOTBL_STARTREV 20 272#define XMTFIFOTBL_STARTREV 17
273 273
274struct d11init { 274struct d11init {
275 __le16 addr; 275 __le16 addr;
@@ -333,6 +333,12 @@ const u8 wlc_prio2prec_map[] = {
333}; 333};
334 334
335static const u16 xmtfifo_sz[][NFIFO] = { 335static const u16 xmtfifo_sz[][NFIFO] = {
336 /* corerev 17: 5120, 49152, 49152, 5376, 4352, 1280 */
337 {20, 192, 192, 21, 17, 5},
338 /* corerev 18: */
339 {0, 0, 0, 0, 0, 0},
340 /* corerev 19: */
341 {0, 0, 0, 0, 0, 0},
336 /* corerev 20: 5120, 49152, 49152, 5376, 4352, 1280 */ 342 /* corerev 20: 5120, 49152, 49152, 5376, 4352, 1280 */
337 {20, 192, 192, 21, 17, 5}, 343 {20, 192, 192, 21, 17, 5},
338 /* corerev 21: 2304, 14848, 5632, 3584, 3584, 1280 */ 344 /* corerev 21: 2304, 14848, 5632, 3584, 3584, 1280 */
@@ -343,6 +349,14 @@ static const u16 xmtfifo_sz[][NFIFO] = {
343 {20, 192, 192, 21, 17, 5}, 349 {20, 192, 192, 21, 17, 5},
344 /* corerev 24: 2304, 14848, 5632, 3584, 3584, 1280 */ 350 /* corerev 24: 2304, 14848, 5632, 3584, 3584, 1280 */
345 {9, 58, 22, 14, 14, 5}, 351 {9, 58, 22, 14, 14, 5},
352 /* corerev 25: */
353 {0, 0, 0, 0, 0, 0},
354 /* corerev 26: */
355 {0, 0, 0, 0, 0, 0},
356 /* corerev 27: */
357 {0, 0, 0, 0, 0, 0},
358 /* corerev 28: 2304, 14848, 5632, 3584, 3584, 1280 */
359 {9, 58, 22, 14, 14, 5},
346}; 360};
347 361
348#ifdef DEBUG 362#ifdef DEBUG
@@ -4596,8 +4610,12 @@ static int brcms_b_attach(struct brcms_c_info *wlc, struct bcma_device *core,
4596 wlc_hw->machwcap_backup = wlc_hw->machwcap; 4610 wlc_hw->machwcap_backup = wlc_hw->machwcap;
4597 4611
4598 /* init tx fifo size */ 4612 /* init tx fifo size */
4613 WARN_ON((wlc_hw->corerev - XMTFIFOTBL_STARTREV) < 0 ||
4614 (wlc_hw->corerev - XMTFIFOTBL_STARTREV) >
4615 ARRAY_SIZE(xmtfifo_sz));
4599 wlc_hw->xmtfifo_sz = 4616 wlc_hw->xmtfifo_sz =
4600 xmtfifo_sz[(wlc_hw->corerev - XMTFIFOTBL_STARTREV)]; 4617 xmtfifo_sz[(wlc_hw->corerev - XMTFIFOTBL_STARTREV)];
4618 WARN_ON(!wlc_hw->xmtfifo_sz[0]);
4601 4619
4602 /* Get a phy for this band */ 4620 /* Get a phy for this band */
4603 wlc_hw->band->pi = 4621 wlc_hw->band->pi =