diff options
author | Ryder Lee <ryder.lee@mediatek.com> | 2021-02-18 09:34:40 +0800 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-04-12 00:01:21 +0200 |
commit | d4b98c63d7a772cfc2ed68c646915d5b3988e934 (patch) | |
tree | c9a090f26bf4070e670224591acad48dab867b3e /drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | |
parent | 2122dfbfd0bd951a6bded5fbd9a1e87b37c41caa (diff) | |
download | linux-stable-d4b98c63d7a772cfc2ed68c646915d5b3988e934.tar.gz linux-stable-d4b98c63d7a772cfc2ed68c646915d5b3988e934.tar.bz2 linux-stable-d4b98c63d7a772cfc2ed68c646915d5b3988e934.zip |
mt76: mt7615: add support for rx decapsulation offload
For AP and Client mode, the hardware can pass received packets
as 802.3 frames that can be passed to the network stack as-is.
Tested-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c index 125e02b34a5f..ab9e48c19508 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c @@ -392,6 +392,25 @@ mt76_connac_mcu_sta_uapsd(struct sk_buff *skb, struct ieee80211_vif *vif, uapsd->max_sp = sta->max_sp; } +void mt76_connac_mcu_wtbl_hdr_trans_tlv(struct sk_buff *skb, + struct ieee80211_vif *vif, + struct ieee80211_sta *sta, + void *sta_wtbl, void *wtbl_tlv) +{ + struct mt76_wcid *wcid; + struct wtbl_hdr_trans *htr; + struct tlv *tlv; + + tlv = mt76_connac_mcu_add_nested_tlv(skb, WTBL_HDR_TRANS, + sizeof(*htr), + wtbl_tlv, sta_wtbl); + htr = (struct wtbl_hdr_trans *)tlv; + + wcid = (struct mt76_wcid *)sta->drv_priv; + htr->no_rx_trans = !test_bit(MT_WCID_FLAG_HDR_TRANS, &wcid->flags); +} +EXPORT_SYMBOL_GPL(mt76_connac_mcu_wtbl_hdr_trans_tlv); + void mt76_connac_mcu_wtbl_generic_tlv(struct mt76_dev *dev, struct sk_buff *skb, struct ieee80211_vif *vif, |