Commit 5883892b authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau

mt76: connac: add 6GHz support to mt76_connac_mcu_sta_tlv

Introduce sta_rec_he_6g_capa tlv in order configure the mcu with 6GHz
capabilities. This is a preliminary patch to enable 6GHz band for
mt7921 devices.
Tested-by: default avatarDeren Wu <deren.wu@mediatek.com>
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 9b2ea8ee
...@@ -770,8 +770,18 @@ void mt76_connac_mcu_sta_tlv(struct mt76_phy *mphy, struct sk_buff *skb, ...@@ -770,8 +770,18 @@ void mt76_connac_mcu_sta_tlv(struct mt76_phy *mphy, struct sk_buff *skb,
mt76_connac_mcu_sta_amsdu_tlv(skb, sta, vif); mt76_connac_mcu_sta_amsdu_tlv(skb, sta, vif);
/* starec he */ /* starec he */
if (sta->he_cap.has_he) if (sta->he_cap.has_he) {
mt76_connac_mcu_sta_he_tlv(skb, sta); mt76_connac_mcu_sta_he_tlv(skb, sta);
if (band == NL80211_BAND_6GHZ &&
sta_state == MT76_STA_INFO_STATE_ASSOC) {
struct sta_rec_he_6g_capa *he_6g_capa;
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_HE_6G,
sizeof(*he_6g_capa));
he_6g_capa = (struct sta_rec_he_6g_capa *)tlv;
he_6g_capa->capa = sta->he_6ghz_capa.capa;
}
}
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy)); tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_PHY, sizeof(*phy));
phy = (struct sta_rec_phy *)tlv; phy = (struct sta_rec_phy *)tlv;
......
...@@ -145,6 +145,13 @@ struct sta_rec_phy { ...@@ -145,6 +145,13 @@ struct sta_rec_phy {
u8 rsv[2]; u8 rsv[2];
} __packed; } __packed;
struct sta_rec_he_6g_capa {
__le16 tag;
__le16 len;
__le16 capa;
u8 rsv[2];
} __packed;
/* wtbl_rec */ /* wtbl_rec */
struct wtbl_req_hdr { struct wtbl_req_hdr {
...@@ -303,6 +310,7 @@ struct wtbl_raw { ...@@ -303,6 +310,7 @@ struct wtbl_raw {
sizeof(struct sta_rec_vht) + \ sizeof(struct sta_rec_vht) + \
sizeof(struct sta_rec_uapsd) + \ sizeof(struct sta_rec_uapsd) + \
sizeof(struct sta_rec_amsdu) + \ sizeof(struct sta_rec_amsdu) + \
sizeof(struct sta_rec_he_6g_capa) + \
sizeof(struct tlv) + \ sizeof(struct tlv) + \
MT76_CONNAC_WTBL_UPDATE_MAX_SIZE) MT76_CONNAC_WTBL_UPDATE_MAX_SIZE)
...@@ -329,6 +337,7 @@ enum { ...@@ -329,6 +337,7 @@ enum {
STA_REC_MUEDCA, STA_REC_MUEDCA,
STA_REC_BFEE, STA_REC_BFEE,
STA_REC_PHY = 0x15, STA_REC_PHY = 0x15,
STA_REC_HE_6G = 0x17,
STA_REC_MAX_NUM STA_REC_MAX_NUM
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment