aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2014-02-27 13:25:00 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-02-28 14:33:45 -0500
commitaf1fa210f4fc6e304b859b386a3c8a266b1110ab (patch)
tree0ff7c96ae5f50229100a3483ccc5275f9d4711f9 /drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
parent4aca7a185aeba4472e7a798e5d834d7702ebbeca (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.c8
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
514static int brcmf_sdio_txglomsz = BRCMF_DEFAULT_TXGLOM_SIZE;
515module_param_named(txglomsz, brcmf_sdio_txglomsz, int, 0);
516MODULE_PARM_DESC(txglomsz, "maximum tx packet chain size [SDIO]");
517
518enum brcmf_sdio_frmtype { 512enum 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);