mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-11 16:56:14 -04:00
mt76: mt7915: rely on mt76_connac_mcu_wtbl_generic_tlv
Rely on mt76_connac_mcu_wtbl_generic_tlv routine in mt7915 and remove duplicated code. Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
committed by
Felix Fietkau
parent
b5322e44be
commit
c772097114
@@ -530,7 +530,7 @@ void mt76_connac_mcu_wtbl_generic_tlv(struct mt76_dev *dev,
|
||||
generic->muar_idx = mvif->omac_idx;
|
||||
generic->qos = sta->wme;
|
||||
} else {
|
||||
if (is_mt7921(dev) &&
|
||||
if ((is_mt7921(dev) || is_mt7915(dev)) &&
|
||||
vif->type == NL80211_IFTYPE_STATION)
|
||||
memcpy(generic->peer_addr, vif->bss_conf.bssid,
|
||||
ETH_ALEN);
|
||||
@@ -548,7 +548,7 @@ void mt76_connac_mcu_wtbl_generic_tlv(struct mt76_dev *dev,
|
||||
rx->rca2 = 1;
|
||||
rx->rv = 1;
|
||||
|
||||
if (is_mt7921(dev))
|
||||
if (is_mt7921(dev) || is_mt7915(dev))
|
||||
return;
|
||||
|
||||
tlv = mt76_connac_mcu_add_nested_tlv(skb, WTBL_SPE, sizeof(*spe),
|
||||
|
||||
@@ -769,48 +769,6 @@ int mt7915_mcu_add_rx_ba(struct mt7915_dev *dev,
|
||||
enable, false);
|
||||
}
|
||||
|
||||
static void
|
||||
mt7915_mcu_wtbl_generic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta, void *sta_wtbl,
|
||||
void *wtbl_tlv)
|
||||
{
|
||||
struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv;
|
||||
struct wtbl_generic *generic;
|
||||
struct wtbl_rx *rx;
|
||||
struct tlv *tlv;
|
||||
|
||||
tlv = mt76_connac_mcu_add_nested_tlv(skb, WTBL_GENERIC,
|
||||
sizeof(*generic),
|
||||
wtbl_tlv, sta_wtbl);
|
||||
generic = (struct wtbl_generic *)tlv;
|
||||
|
||||
if (sta) {
|
||||
if (vif->type == NL80211_IFTYPE_STATION)
|
||||
generic->partial_aid = cpu_to_le16(vif->bss_conf.aid);
|
||||
else
|
||||
generic->partial_aid = cpu_to_le16(sta->aid);
|
||||
memcpy(generic->peer_addr, sta->addr, ETH_ALEN);
|
||||
generic->muar_idx = mvif->mt76.omac_idx;
|
||||
generic->qos = sta->wme;
|
||||
} else {
|
||||
/* use BSSID in station mode */
|
||||
if (vif->type == NL80211_IFTYPE_STATION)
|
||||
memcpy(generic->peer_addr, vif->bss_conf.bssid,
|
||||
ETH_ALEN);
|
||||
else
|
||||
eth_broadcast_addr(generic->peer_addr);
|
||||
|
||||
generic->muar_idx = 0xe;
|
||||
}
|
||||
|
||||
tlv = mt76_connac_mcu_add_nested_tlv(skb, WTBL_RX, sizeof(*rx),
|
||||
wtbl_tlv, sta_wtbl);
|
||||
rx = (struct wtbl_rx *)tlv;
|
||||
rx->rca1 = sta ? vif->type != NL80211_IFTYPE_AP : 1;
|
||||
rx->rca2 = 1;
|
||||
rx->rv = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
mt7915_mcu_sta_basic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif,
|
||||
struct ieee80211_sta *sta, bool enable)
|
||||
@@ -1249,7 +1207,8 @@ mt7915_mcu_sta_wtbl_tlv(struct mt7915_dev *dev, struct sk_buff *skb,
|
||||
if (IS_ERR(wtbl_hdr))
|
||||
return PTR_ERR(wtbl_hdr);
|
||||
|
||||
mt7915_mcu_wtbl_generic_tlv(skb, vif, sta, tlv, wtbl_hdr);
|
||||
mt76_connac_mcu_wtbl_generic_tlv(&dev->mt76, skb, vif, sta, tlv,
|
||||
wtbl_hdr);
|
||||
mt7915_mcu_wtbl_hdr_trans_tlv(skb, vif, sta, tlv, wtbl_hdr);
|
||||
|
||||
if (sta)
|
||||
|
||||
Reference in New Issue
Block a user