wifi: mt76: mt7996: align the format of fixed rate command
Use the new fixed rate command format to let the fixed field function work normally. Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com> Signed-off-by: Shayne Chen <shayne.chen@mediatek.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
8c8f77e0a6
commit
22f5dc7815
@ -1805,8 +1805,8 @@ int mt7996_mcu_set_fixed_field(struct mt7996_dev *dev, struct ieee80211_vif *vif
|
||||
{
|
||||
struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
|
||||
struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
|
||||
struct sta_phy *phy = data;
|
||||
struct sta_rec_ra_fixed *ra;
|
||||
struct sta_phy_uni *phy = data;
|
||||
struct sta_rec_ra_fixed_uni *ra;
|
||||
struct sk_buff *skb;
|
||||
struct tlv *tlv;
|
||||
|
||||
@ -1817,7 +1817,7 @@ int mt7996_mcu_set_fixed_field(struct mt7996_dev *dev, struct ieee80211_vif *vif
|
||||
return PTR_ERR(skb);
|
||||
|
||||
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_RA_UPDATE, sizeof(*ra));
|
||||
ra = (struct sta_rec_ra_fixed *)tlv;
|
||||
ra = (struct sta_rec_ra_fixed_uni *)tlv;
|
||||
|
||||
switch (field) {
|
||||
case RATE_PARAM_AUTO:
|
||||
@ -1849,7 +1849,7 @@ mt7996_mcu_add_rate_ctrl_fixed(struct mt7996_dev *dev, struct ieee80211_vif *vif
|
||||
struct cfg80211_chan_def *chandef = &mvif->phy->mt76->chandef;
|
||||
struct cfg80211_bitrate_mask *mask = &mvif->bitrate_mask;
|
||||
enum nl80211_band band = chandef->chan->band;
|
||||
struct sta_phy phy = {};
|
||||
struct sta_phy_uni phy = {};
|
||||
int ret, nrates = 0;
|
||||
|
||||
#define __sta_phy_bitrate_mask_check(_mcs, _gi, _ht, _he) \
|
||||
@ -1937,13 +1937,13 @@ mt7996_mcu_sta_rate_ctrl_tlv(struct sk_buff *skb, struct mt7996_dev *dev,
|
||||
struct cfg80211_chan_def *chandef = &mphy->chandef;
|
||||
struct cfg80211_bitrate_mask *mask = &mvif->bitrate_mask;
|
||||
enum nl80211_band band = chandef->chan->band;
|
||||
struct sta_rec_ra *ra;
|
||||
struct sta_rec_ra_uni *ra;
|
||||
struct tlv *tlv;
|
||||
u32 supp_rate = sta->deflink.supp_rates[band];
|
||||
u32 cap = sta->wme ? STA_CAP_WMM : 0;
|
||||
|
||||
tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_RA, sizeof(*ra));
|
||||
ra = (struct sta_rec_ra *)tlv;
|
||||
ra = (struct sta_rec_ra_uni *)tlv;
|
||||
|
||||
ra->valid = true;
|
||||
ra->auto_rate = true;
|
||||
|
@ -494,6 +494,73 @@ struct sta_rec_sec_uni {
|
||||
struct sec_key_uni key[2];
|
||||
} __packed;
|
||||
|
||||
struct sta_phy_uni {
|
||||
u8 type;
|
||||
u8 flag;
|
||||
u8 stbc;
|
||||
u8 sgi;
|
||||
u8 bw;
|
||||
u8 ldpc;
|
||||
u8 mcs;
|
||||
u8 nss;
|
||||
u8 he_ltf;
|
||||
u8 rsv[3];
|
||||
};
|
||||
|
||||
struct sta_rec_ra_uni {
|
||||
__le16 tag;
|
||||
__le16 len;
|
||||
|
||||
u8 valid;
|
||||
u8 auto_rate;
|
||||
u8 phy_mode;
|
||||
u8 channel;
|
||||
u8 bw;
|
||||
u8 disable_cck;
|
||||
u8 ht_mcs32;
|
||||
u8 ht_gf;
|
||||
u8 ht_mcs[4];
|
||||
u8 mmps_mode;
|
||||
u8 gband_256;
|
||||
u8 af;
|
||||
u8 auth_wapi_mode;
|
||||
u8 rate_len;
|
||||
|
||||
u8 supp_mode;
|
||||
u8 supp_cck_rate;
|
||||
u8 supp_ofdm_rate;
|
||||
__le32 supp_ht_mcs;
|
||||
__le16 supp_vht_mcs[4];
|
||||
|
||||
u8 op_mode;
|
||||
u8 op_vht_chan_width;
|
||||
u8 op_vht_rx_nss;
|
||||
u8 op_vht_rx_nss_type;
|
||||
|
||||
__le32 sta_cap;
|
||||
|
||||
struct sta_phy_uni phy;
|
||||
u8 rx_rcpi[4];
|
||||
} __packed;
|
||||
|
||||
struct sta_rec_ra_fixed_uni {
|
||||
__le16 tag;
|
||||
__le16 len;
|
||||
|
||||
__le32 field;
|
||||
u8 op_mode;
|
||||
u8 op_vht_chan_width;
|
||||
u8 op_vht_rx_nss;
|
||||
u8 op_vht_rx_nss_type;
|
||||
|
||||
struct sta_phy_uni phy;
|
||||
|
||||
u8 spe_idx;
|
||||
u8 short_preamble;
|
||||
u8 is_5g;
|
||||
u8 mmps_mode;
|
||||
} __packed;
|
||||
|
||||
struct sta_rec_hdrt {
|
||||
__le16 tag;
|
||||
__le16 len;
|
||||
@ -677,9 +744,9 @@ enum {
|
||||
sizeof(struct sta_rec_amsdu) + \
|
||||
sizeof(struct sta_rec_bfee) + \
|
||||
sizeof(struct sta_rec_phy) + \
|
||||
sizeof(struct sta_rec_ra) + \
|
||||
sizeof(struct sta_rec_ra_uni) + \
|
||||
sizeof(struct sta_rec_sec) + \
|
||||
sizeof(struct sta_rec_ra_fixed) + \
|
||||
sizeof(struct sta_rec_ra_fixed_uni) + \
|
||||
sizeof(struct sta_rec_he_6g_capa) + \
|
||||
sizeof(struct sta_rec_eht) + \
|
||||
sizeof(struct sta_rec_hdrt) + \
|
||||
|
Loading…
x
Reference in New Issue
Block a user