diff options
author | Arend van Spriel <arend@broadcom.com> | 2014-02-27 13:25:00 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-02-28 14:33:45 -0500 |
commit | af1fa210f4fc6e304b859b386a3c8a266b1110ab (patch) | |
tree | 0ff7c96ae5f50229100a3483ccc5275f9d4711f9 /drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | |
parent | 4aca7a185aeba4472e7a798e5d834d7702ebbeca (diff) |
brcmfmac: use pre-allocated scatter-gather table for txglomming
Instead of allocating a scatter-gather table for every transmit
reuse a pre-allocated table. The transmit path will be faster by
taking out this allocation.
Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c index c894ee358153..b5ded8a57cb0 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | |||
@@ -113,8 +113,6 @@ struct rte_console { | |||
113 | #define BRCMF_TXBOUND 20 /* Default for max tx frames in | 113 | #define BRCMF_TXBOUND 20 /* Default for max tx frames in |
114 | one scheduling */ | 114 | one scheduling */ |
115 | 115 | ||
116 | #define BRCMF_DEFAULT_TXGLOM_SIZE 32 /* max tx frames in glom chain */ | ||
117 | |||
118 | #define BRCMF_TXMINMAX 1 /* Max tx frames if rx still pending */ | 116 | #define BRCMF_TXMINMAX 1 /* Max tx frames if rx still pending */ |
119 | 117 | ||
120 | #define MEMBLOCK 2048 /* Block size used for downloading | 118 | #define MEMBLOCK 2048 /* Block size used for downloading |
@@ -511,10 +509,6 @@ static const uint max_roundup = 512; | |||
511 | 509 | ||
512 | #define ALIGNMENT 4 | 510 | #define ALIGNMENT 4 |
513 | 511 | ||
514 | static int brcmf_sdio_txglomsz = BRCMF_DEFAULT_TXGLOM_SIZE; | ||
515 | module_param_named(txglomsz, brcmf_sdio_txglomsz, int, 0); | ||
516 | MODULE_PARM_DESC(txglomsz, "maximum tx packet chain size [SDIO]"); | ||
517 | |||
518 | enum brcmf_sdio_frmtype { | 512 | enum brcmf_sdio_frmtype { |
519 | BRCMF_SDIO_FT_NORMAL, | 513 | BRCMF_SDIO_FT_NORMAL, |
520 | BRCMF_SDIO_FT_SUPER, | 514 | BRCMF_SDIO_FT_SUPER, |
@@ -2321,7 +2315,7 @@ static uint brcmf_sdio_sendfromq(struct brcmf_sdio *bus, uint maxframes) | |||
2321 | __skb_queue_head_init(&pktq); | 2315 | __skb_queue_head_init(&pktq); |
2322 | if (bus->txglom) | 2316 | if (bus->txglom) |
2323 | pkt_num = min_t(u8, bus->tx_max - bus->tx_seq, | 2317 | pkt_num = min_t(u8, bus->tx_max - bus->tx_seq, |
2324 | brcmf_sdio_txglomsz); | 2318 | bus->sdiodev->txglomsz); |
2325 | pkt_num = min_t(u32, pkt_num, | 2319 | pkt_num = min_t(u32, pkt_num, |
2326 | brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol)); | 2320 | brcmu_pktq_mlen(&bus->txq, ~bus->flowcontrol)); |
2327 | spin_lock_bh(&bus->txqlock); | 2321 | spin_lock_bh(&bus->txqlock); |