summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mediatek/mt76/mt76.h
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo@kernel.org>2020-09-05 11:26:06 +0200
committerFelix Fietkau <nbd@nbd.name>2020-09-24 18:10:19 +0200
commit1522ff731f848cf87d8ac535dc8ce7bc62a17918 (patch)
tree02cb0ace31c8a53de8c48ea315d1ca36cc6d7ec0 /drivers/net/wireless/mediatek/mt76/mt76.h
parent598daa4dbe14082b9369f018e46e753b2d79f730 (diff)
mt76: mt7663s: introduce sdio tx aggregation
Introduce sdio tx aggregation to reduce bus transaction ands improve tx throughput. For the moment the skb are copied in a dedicated buffer since mmc APIs do not support sg table for zero-copy. Since skb data are already copied in xmit_buff[], avoid linearization in ma80211 layer. Relying on tx aggregation, we improve tx tpt of ~65%. Tested-by: Sean Wang <sean.wang@mediatek.com> Co-developed-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76.h')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h b/drivers/net/wireless/mediatek/mt76/mt76.h
index 72aa19e0e6ec..a5be66de1cff 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76.h
@@ -443,6 +443,7 @@ struct mt76_usb {
} mcu;
};
+#define MT76S_XMIT_BUF_SZ (16 * PAGE_SIZE)
struct mt76_sdio {
struct workqueue_struct *txrx_wq;
struct {
@@ -456,6 +457,8 @@ struct mt76_sdio {
struct work_struct stat_work;
+ u8 *xmit_buf[MT_TXQ_MCU_WA];
+
struct sdio_func *func;
void *intr_data;