wifi: mt76: mt792x: add mt7925 support
Subsystems (2)
cover wifi: mt76: mt792x: add mt7925 support
This patch set adds more functionalities for mt7925 to reuse common layer, connac and mt792x. This is a preliminary patch to add mt7925 chipset support.
Deren Wu (8):
wifi: mt76: connac: introduce helper for mt7925 chipset
wifi: mt76: mt792x: support mt7925 chip init
wifi: mt76: connac: export functions for mt7925
wifi: mt76: connac: add eht support for phy mode config
wifi: mt76: connac: add eht support for tx power
wifi: mt76: connac: add data field in struct tlv
wifi: mt76: connac: add more unified command IDs
wifi: mt76: connac: add more unified event IDs
drivers/net/wireless/mediatek/mt76/mt76.h | 1 + .../net/wireless/mediatek/mt76/mt76_connac.h | 6 ++ .../wireless/mediatek/mt76/mt76_connac_mac.c | 4 +- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 60 +++++++++++++------ .../wireless/mediatek/mt76/mt76_connac_mcu.h | 33 +++++++++- drivers/net/wireless/mediatek/mt76/mt792x.h | 6 ++ .../net/wireless/mediatek/mt76/mt792x_dma.c | 49 ++++++++++----- 7 files changed, 123 insertions(+), 36 deletions(-)
Signature · 1 line
2.18.0
PATCH 1/8 wifi: mt76: connac: introduce helper for mt7925 chipset
Introduce is_mt7925() helper for new chipset. mt7925 runs the same firmware download and mmio map flow as mt7921.
This is a preliminary patch to support mt7925 driver.
--- drivers/net/wireless/mediatek/mt76/mt76_connac.h | 6 ++++++ drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c | 4 ++-- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 3 ++- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-)
drivers/net/wireless/mediatek/mt76/mt76_connac.h +6 -0
@@ -172,6 +172,11 @@ struct mt76_connac_tx_free {extern const struct wiphy_wowlan_support mt76_connac_wowlan_support; +static inline bool is_mt7925 (struct mt76_dev *dev) +{ +return mt76_chip (dev) ==0x7925 ; +} +static inline bool is_mt7922 (struct mt76_dev *dev) {return mt76_chip (dev) ==0x7922 ;
@@ -245,6 +250,7 @@ static inline bool is_mt76_fw_txp(struct mt76_dev *dev)switch (mt76_chip (dev)) {case 0x7961 :case 0x7922 : +case 0x7925 :case 0x7663 :case 0x7622 :return false;
drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c +2 -2
@@ -187,7 +187,7 @@ void mt76_connac_write_hw_txp(struct mt76_dev *dev, txp->msdu_id[0 ] =cpu_to_le16 (id |MT_MSDU_ID_VALID ); -if (is_mt7663 (dev) ||is_mt7921 (dev)) +if (is_mt7663 (dev) ||is_mt7921 (dev) ||is_mt7925 (dev)) last_mask =MT_TXD_LEN_LAST ;else last_mask = MT_TXD_LEN_AMSDU_LAST |
@@ -231,7 +231,7 @@ mt76_connac_txp_skb_unmap_hw(struct mt76_dev *dev,u32 last_mask;int i; -if (is_mt7663 (dev) ||is_mt7921 (dev)) +if (is_mt7663 (dev) ||is_mt7921 (dev) ||is_mt7925 (dev)) last_mask =MT_TXD_LEN_LAST ;else last_mask =MT_TXD_LEN_MSDU_LAST ;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +2 -1
@@ -66,6 +66,7 @@ int mt76_connac_mcu_init_download(struct mt76_dev *dev, u32 addr, u32 len,if ((!is_connac_v1 (dev) && addr ==MCU_PATCH_ADDRESS ) || (is_mt7921 (dev) && addr ==0x900000 ) || + (is_mt7925 (dev) && addr ==0x900000 ) || (is_mt7996 (dev) && addr ==0x900000 )) cmd =MCU_CMD (PATCH_START_REQ );else
@@ -3064,7 +3065,7 @@ static u32 mt76_connac2_get_data_mode(struct mt76_dev *dev, u32 info) {u32 mode =DL_MODE_NEED_RSP ; -if (!is_mt7921 (dev) || info ==PATCH_SEC_NOT_SUPPORT ) +if ((!is_mt7921 (dev) && !is_mt7925 (dev)) || info ==PATCH_SEC_NOT_SUPPORT )return mode;switch (FIELD_GET (PATCH_SEC_ENC_TYPE_MASK , info)) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +1 -1
@@ -1739,7 +1739,7 @@ mt76_connac_mcu_gen_dl_mode(struct mt76_dev *dev, u8 feature_set, bool is_wa) ret |= feature_set &FW_FEATURE_SET_ENCRYPT ?DL_MODE_ENCRYPT |DL_MODE_RESET_SEC_IV :0 ; -if (is_mt7921 (dev)) +if (is_mt7921 (dev) ||is_mt7925 (dev)) ret |= feature_set &FW_FEATURE_ENCRY_MODE ?DL_CONFIG_ENCRY_MODE_SEL :0 ; ret |= FIELD_PREP(DL_MODE_KEY_IDX,
Signature · 1 line
2.18.0
PATCH 2/8 wifi: mt76: mt792x: support mt7925 chip init
In reply to Deren Wuadd firmware download and dma init support for mt7925.
This is a preliminary patch to support mt7925 driver.
--- drivers/net/wireless/mediatek/mt76/mt792x.h | 6 +++ .../net/wireless/mediatek/mt76/mt792x_dma.c | 49 +++++++++++++------ 2 files changed, 40 insertions(+), 15 deletions(-)
drivers/net/wireless/mediatek/mt76/mt792x.h +6 -0
@@ -36,9 +36,11 @@#define MT7921_FIRMWARE_WM "mediatek/WIFI_RAM_CODE_MT7961_1.bin"#define MT7922_FIRMWARE_WM "mediatek/WIFI_RAM_CODE_MT7922_1.bin" +#define MT7925_FIRMWARE_WM "mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin"#define MT7921_ROM_PATCH "mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin"#define MT7922_ROM_PATCH "mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin" +#define MT7925_ROM_PATCH "mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin"struct mt792x_vif ;struct mt792x_sta ;
@@ -308,6 +310,8 @@ static inline char *mt792x_ram_name(struct mt792x_dev *dev)switch (mt76_chip (&dev->mt76)) {case 0x7922 :return MT7922_FIRMWARE_WM ; +case 0x7925 : +return MT7925_FIRMWARE_WM ;default :return MT7921_FIRMWARE_WM ; }
@@ -318,6 +322,8 @@ static inline char *mt792x_patch_name(struct mt792x_dev *dev)switch (mt76_chip (&dev->mt76)) {case 0x7922 :return MT7922_ROM_PATCH ; +case 0x7925 : +return MT7925_ROM_PATCH ;default :return MT7921_ROM_PATCH ; }
drivers/net/wireless/mediatek/mt76/mt792x_dma.c +34 -15
59 lines not on this page · raw message
Signature · 1 line
2.18.0
PATCH 3/8 wifi: mt76: connac: export functions for mt7925
In reply to Deren Wumt7925 rely on the similar functionalities in connac layer. Export them for mt7925 reuse.
This is a preliminary patch to support mt7925 driver.
--- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 19 ++++++++++++------- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 12 ++++++++++++ 2 files changed, 24 insertions(+), 7 deletions(-)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +12 -7
@@ -746,7 +746,7 @@ mt76_connac_mcu_sta_he_tlv(struct sk_buff *skb, struct ieee80211_sta *sta) he->pkt_ext =2 ; } -static void +void mt76_connac_mcu_sta_he_tlv_v2 (struct sk_buff *skb,struct ieee80211_sta *sta) {struct ieee80211_sta_he_cap *he_cap = &sta->deflink.he_cap;
@@ -778,6 +778,7 @@ mt76_connac_mcu_sta_he_tlv_v2(struct sk_buff *skb, struct ieee80211_sta *sta) he->pkt_ext =IEEE80211_HE_PHY_CAP9_NOMINAL_PKT_PADDING_16US ; } +EXPORT_SYMBOL_GPL (mt76_connac_mcu_sta_he_tlv_v2); static u8 mt76_connac_get_phy_mode_v2(struct mt76_phy *mphy, struct ieee80211_vif *vif,
@@ -2088,9 +2089,9 @@ mt76_connac_mcu_build_sku(struct mt76_dev *dev, s8 *sku, } } -static s8 mt76_connac_get_ch_power (struct mt76_phy *phy, -struct ieee80211_channel *chan, -s8 target_power) +s8 mt76_connac_get_ch_power (struct mt76_phy *phy, +struct ieee80211_channel *chan, +s8 target_power) {struct mt76_dev *dev = phy->dev;struct ieee80211_supported_band *sband;
@@ -2127,6 +2128,7 @@ static s8 mt76_connac_get_ch_power(struct mt76_phy *phy,return target_power; } +EXPORT_SYMBOL_GPL (mt76_connac_get_ch_power); static int mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy,
@@ -2458,7 +2460,7 @@ mt76_connac_mcu_set_arp_filter(struct mt76_dev *dev, struct ieee80211_vif *vif, sizeof(req), true); } -static int +int mt76_connac_mcu_set_gtk_rekey (struct mt76_dev *dev,struct ieee80211_vif *vif,bool suspend) {
@@ -2483,8 +2485,9 @@ mt76_connac_mcu_set_gtk_rekey(struct mt76_dev *dev, struct ieee80211_vif *vif,return mt76_mcu_send_msg (dev,MCU_UNI_CMD (OFFLOAD ), &req,sizeof (req), true); } +EXPORT_SYMBOL_GPL (mt76_connac_mcu_set_gtk_rekey); -static int +int mt76_connac_mcu_set_suspend_mode(struct mt76_dev *dev, struct ieee80211_vif *vif, bool enable, u8 mdtim,
@@ -2513,6 +2516,7 @@ mt76_connac_mcu_set_suspend_mode(struct mt76_dev *dev,return mt76_mcu_send_msg (dev,MCU_UNI_CMD (SUSPEND ), &req,sizeof (req), true); } +EXPORT_SYMBOL_GPL (mt76_connac_mcu_set_suspend_mode); static int mt76_connac_mcu_set_wow_pattern(struct mt76_dev *dev,
@@ -2548,7 +2552,7 @@ mt76_connac_mcu_set_wow_pattern(struct mt76_dev *dev,return mt76_mcu_skb_send_msg (dev, skb,MCU_UNI_CMD (SUSPEND ), true); } -static int +int mt76_connac_mcu_set_wow_ctrl (struct mt76_phy *phy,struct ieee80211_vif *vif,bool suspend,struct cfg80211_wowlan *wowlan) {
@@ -2600,6 +2604,7 @@ mt76_connac_mcu_set_wow_ctrl(struct mt76_phy *phy, struct ieee80211_vif *vif,return mt76_mcu_send_msg (dev,MCU_UNI_CMD (SUSPEND ), &req,sizeof (req), true); } +EXPORT_SYMBOL_GPL (mt76_connac_mcu_set_wow_ctrl);int mt76_connac_mcu_set_hif_suspend (struct mt76_dev *dev,bool suspend) {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +12 -0
@@ -1807,6 +1807,7 @@ void mt76_connac_mcu_wtbl_hdr_trans_tlv(struct sk_buff *skb,int mt76_connac_mcu_sta_update_hdr_trans (struct mt76_dev *dev,struct ieee80211_vif *vif,struct mt76_wcid *wcid,int cmd); +void mt76_connac_mcu_sta_he_tlv_v2 (struct sk_buff *skb,struct ieee80211_sta *sta);int mt76_connac_mcu_wtbl_update_hdr_trans (struct mt76_dev *dev,struct ieee80211_vif *vif,struct ieee80211_sta *sta);
@@ -1866,9 +1867,17 @@ int mt76_connac_mcu_sched_scan_enable(struct mt76_phy *phy,int mt76_connac_mcu_update_arp_filter (struct mt76_dev *dev,struct mt76_vif *vif,struct ieee80211_bss_conf *info); +int mt76_connac_mcu_set_gtk_rekey (struct mt76_dev *dev,struct ieee80211_vif *vif, +bool suspend); +int mt76_connac_mcu_set_wow_ctrl (struct mt76_phy *phy,struct ieee80211_vif *vif, +bool suspend,struct cfg80211_wowlan *wowlan);int mt76_connac_mcu_update_gtk_rekey (struct ieee80211_hw *hw,struct ieee80211_vif *vif,struct cfg80211_gtk_rekey_data *key); +int mt76_connac_mcu_set_suspend_mode (struct mt76_dev *dev, +struct ieee80211_vif *vif, +bool enable,u8 mdtim, +bool wow_suspend);int mt76_connac_mcu_set_hif_suspend (struct mt76_dev *dev,bool suspend);void mt76_connac_mcu_set_suspend_iter (void *priv,u8 *mac,struct ieee80211_vif *vif);
@@ -1879,6 +1888,9 @@ int mt76_connac_mcu_chip_config(struct mt76_dev *dev);int mt76_connac_mcu_set_deep_sleep (struct mt76_dev *dev,bool enable);void mt76_connac_mcu_coredump_event (struct mt76_dev *dev,struct sk_buff *skb,struct mt76_connac_coredump *coredump); +s8 mt76_connac_get_ch_power (struct mt76_phy *phy, +struct ieee80211_channel *chan, +s8 target_power);int mt76_connac_mcu_set_rate_txpower (struct mt76_phy *phy);int mt76_connac_mcu_set_p2p_oppps (struct ieee80211_hw *hw,struct ieee80211_vif *vif);
Signature · 1 line
2.18.0
PATCH 4/8 wifi: mt76: connac: add eht support for phy mode config
In reply to Deren WuAdd eht configuration support in existing function mt76_connac_get_phy_mode_v2() and export it for mt7925.
This is a preliminary patch to support mt7925 driver.
--- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c | 12 +++++++++++- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +11 -1
@@ -780,19 +780,21 @@ mt76_connac_mcu_sta_he_tlv_v2(struct sk_buff *skb, struct ieee80211_sta *sta) }EXPORT_SYMBOL_GPL (mt76_connac_mcu_sta_he_tlv_v2); -static u8 +u8 mt76_connac_get_phy_mode_v2 (struct mt76_phy *mphy,struct ieee80211_vif *vif,enum nl80211_band band,struct ieee80211_sta *sta) {struct ieee80211_sta_ht_cap *ht_cap;struct ieee80211_sta_vht_cap *vht_cap;const struct ieee80211_sta_he_cap *he_cap; +const struct ieee80211_sta_eht_cap *eht_cap;u8 mode =0 ;if (sta) { ht_cap = &sta->deflink.ht_cap; vht_cap = &sta->deflink.vht_cap; he_cap = &sta->deflink.he_cap; + eht_cap = &sta->deflink.eht_cap; }else {struct ieee80211_supported_band *sband;
@@ -800,6 +802,7 @@ mt76_connac_get_phy_mode_v2(struct mt76_phy *mphy, struct ieee80211_vif *vif, ht_cap = &sband->ht_cap; vht_cap = &sband->vht_cap; he_cap =ieee80211_get_he_iftype_cap (sband, vif->type); + eht_cap =ieee80211_get_eht_iftype_cap (sband, vif->type); }if (band ==NL80211_BAND_2GHZ ) {
@@ -810,6 +813,9 @@ mt76_connac_get_phy_mode_v2(struct mt76_phy *mphy, struct ieee80211_vif *vif,if (he_cap && he_cap->has_he) mode |=PHY_TYPE_BIT_HE ; + +if (eht_cap && eht_cap->has_eht) + mode |=PHY_TYPE_BIT_BE ; }else if (band ==NL80211_BAND_5GHZ || band ==NL80211_BAND_6GHZ ) { mode |=PHY_TYPE_BIT_OFDM ;
@@ -821,10 +827,14 @@ mt76_connac_get_phy_mode_v2(struct mt76_phy *mphy, struct ieee80211_vif *vif,if (he_cap && he_cap->has_he) mode |=PHY_TYPE_BIT_HE ; + +if (eht_cap && eht_cap->has_eht) + mode |=PHY_TYPE_BIT_BE ; }return mode; } +EXPORT_SYMBOL_GPL (mt76_connac_get_phy_mode_v2); void mt76_connac_mcu_sta_tlv(struct mt76_phy *mphy, struct sk_buff *skb, struct ieee80211_sta *sta,
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +4 -0
@@ -919,6 +919,7 @@ enum {PHY_TYPE_HT_INDEX ,PHY_TYPE_VHT_INDEX ,PHY_TYPE_HE_INDEX , +PHY_TYPE_BE_INDEX , PHY_TYPE_INDEX_NUM };
@@ -928,6 +929,7 @@ enum {#define PHY_TYPE_BIT_HT BIT(PHY_TYPE_HT_INDEX)#define PHY_TYPE_BIT_VHT BIT(PHY_TYPE_VHT_INDEX)#define PHY_TYPE_BIT_HE BIT(PHY_TYPE_HE_INDEX) +#define PHY_TYPE_BIT_BE BIT(PHY_TYPE_BE_INDEX)#define MT_WTBL_RATE_TX_MODE GENMASK(9, 6)#define MT_WTBL_RATE_MCS GENMASK(5, 0)
@@ -1808,6 +1810,8 @@ int mt76_connac_mcu_sta_update_hdr_trans(struct mt76_dev *dev,struct ieee80211_vif *vif, struct mt76_wcid *wcid, int cmd);void mt76_connac_mcu_sta_he_tlv_v2 (struct sk_buff *skb,struct ieee80211_sta *sta); +u8 mt76_connac_get_phy_mode_v2 (struct mt76_phy *mphy,struct ieee80211_vif *vif, +enum nl80211_band band,struct ieee80211_sta *sta);int mt76_connac_mcu_wtbl_update_hdr_trans (struct mt76_dev *dev,struct ieee80211_vif *vif,struct ieee80211_sta *sta);
Signature · 1 line
2.18.0
PATCH 5/8 wifi: mt76: connac: add eht support for tx power
In reply to Deren WuAdd eht field in struct mt76_power_limits for 802.11be power config. The function stack size would be too big by eht adding in structure, we also refactor mt76_connac_mcu_rate_txpower_band() to take dynamic allocated memory instead.
This is a preliminary patch to support mt7925 driver.
--- drivers/net/wireless/mediatek/mt76/mt76.h | 1 + .../wireless/mediatek/mt76/mt76_connac_mcu.c | 26 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-)
drivers/net/wireless/mediatek/mt76/mt76.h +1 -0
@@ -966,6 +966,7 @@ struct mt76_power_limits {s8 ofdm[8 ];s8 mcs[4 ][10 ];s8 ru[7 ][12 ]; +s8 eht[16 ][16 ]; };struct mt76_ethtool_worker_info {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +17 -9
@@ -2177,11 +2177,15 @@ mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy,209 ,211 ,213 ,215 ,217 ,219 ,221 ,225 ,227 ,229 ,233 }; -int i, n_chan, batch_size, idx =0 , tx_power, last_ch; +int i, n_chan, batch_size, idx =0 , tx_power, last_ch, err =0 ;struct mt76_connac_sku_tlv sku_tlbv; -struct mt76_power_limits limits; +struct mt76_power_limits *limits;const u8 *ch_list; + limits =devm_kmalloc (dev->dev,sizeof (*limits),GFP_KERNEL ); +if (!limits) +return -ENOMEM ; + sku_len =is_mt7921 (dev) ?sizeof (sku_tlbv) :sizeof (sku_tlbv) -92 ; tx_power =2 * phy->hw->conf.power_level;if (!tx_power)
@@ -2208,14 +2212,16 @@ mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy,for (i =0 ; i < batch_size; i++) {struct mt76_connac_tx_power_limit_tlv tx_power_tlv = {}; -int j, err, msg_len, num_ch; +int j, msg_len, num_ch;struct sk_buff *skb; num_ch = i == batch_size -1 ? n_chan % batch_len : batch_len; msg_len =sizeof (tx_power_tlv) + num_ch *sizeof (sku_tlbv); skb =mt76_mcu_msg_alloc (dev,NULL , msg_len); -if (!skb) -return -ENOMEM ; +if (!skb) { + err = -ENOMEM ; + goto out; + }skb_reserve (skb,sizeof (tx_power_tlv));
@@ -2246,14 +2252,14 @@ mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy, tx_power); sar_power =mt76_get_sar_power (phy, &chan, reg_power); -mt76_get_rate_power_limits (phy, &chan, &limits, +mt76_get_rate_power_limits (phy, &chan, limits, sar_power); tx_power_tlv.last_msg = ch_list[idx] == last_ch; sku_tlbv.channel = ch_list[idx];mt76_connac_mcu_build_sku (dev, sku_tlbv.pwr_limit, - &limits, band); + limits, band);skb_put_data (skb, &sku_tlbv, sku_len); }__skb_push (skb,sizeof (tx_power_tlv));
@@ -2263,10 +2269,12 @@ mt76_connac_mcu_rate_txpower_band(struct mt76_phy *phy,MCU_CE_CMD (SET_RATE_TX_POWER ), false);if (err <0 ) -return err; + goto out; } -return 0 ; +out: +devm_kfree (dev->dev, limits); +return err; }int mt76_connac_mcu_set_rate_txpower (struct mt76_phy *phy)
Signature · 1 line
2.18.0
PATCH 6/8 wifi: mt76: connac: add data field in struct tlv
In reply to Deren WuAdd tlv->data element for tlv parsing easier.
This is a preliminary patch to support mt7925 driver.
--- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h | 1 + 1 file changed, 1 insertion(+)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +1 -0
@@ -191,6 +191,7 @@ struct mt76_connac2_fw_region {struct tlv {__le16 tag;__le16 len; +u8 data[]; } __packed;struct bss_info_omac {
Signature · 1 line
2.18.0
PATCH 7/8 wifi: mt76: connac: add more unified command IDs
In reply to Deren WuAdd more unified command IDs which will be used in new chipset.
This is the preliminary patch for mt7925 support.
--- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +7 -0
@@ -796,6 +796,7 @@ enum {STA_REC_PHY =0x15 ,STA_REC_HE_6G =0x17 ,STA_REC_HE_V2 =0x19 , +STA_REC_MLD =0x20 ,STA_REC_EHT =0x22 ,STA_REC_HDRT =0x28 , STA_REC_HDR_TRANS = 0x2B,
@@ -1212,12 +1213,17 @@ enum {MCU_UNI_CMD_RX_HDR_TRANS =0x12 ,MCU_UNI_CMD_SER =0x13 ,MCU_UNI_CMD_TWT =0x14 , +MCU_UNI_CMD_SET_DOMAIN_INFO =0x15 , +MCU_UNI_CMD_SCAN_REQ =0x16 ,MCU_UNI_CMD_RDD_CTRL =0x19 ,MCU_UNI_CMD_GET_MIB_INFO =0x22 , +MCU_UNI_CMD_GET_STAT_INFO =0x23 ,MCU_UNI_CMD_SNIFFER =0x24 ,MCU_UNI_CMD_SR =0x25 ,MCU_UNI_CMD_ROC =0x27 , +MCU_UNI_CMD_SET_DBDC_PARMS =0x28 ,MCU_UNI_CMD_TXPOWER =0x2b , +MCU_UNI_CMD_SET_POWER_LIMIT =0x2c ,MCU_UNI_CMD_EFUSE_CTRL =0x2d ,MCU_UNI_CMD_RA =0x2f , MCU_UNI_CMD_MURU = 0x31,
@@ -1296,6 +1302,7 @@ enum {UNI_BSS_INFO_IFS_TIME =23 ,UNI_BSS_INFO_OFFLOAD =25 ,UNI_BSS_INFO_MLD =26 , + UNI_BSS_INFO_PM_DISABLE = 27, }; enum {
Signature · 1 line
2.18.0
PATCH 8/8 wifi: mt76: connac: add more unified event IDs
In reply to Deren WuAdd more unified event IDs which will be used in new chipset.
This is the preliminary patch for mt7925 support.
--- drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +7 -0
@@ -1013,8 +1013,15 @@ enum {enum {MCU_UNI_EVENT_RESULT =0x01 ,MCU_UNI_EVENT_FW_LOG_2_HOST =0x04 , +MCU_UNI_EVENT_ACCESS_REG =0x6 ,MCU_UNI_EVENT_IE_COUNTDOWN =0x09 , +MCU_UNI_EVENT_COREDUMP =0x0a , +MCU_UNI_EVENT_BSS_BEACON_LOSS =0x0c , +MCU_UNI_EVENT_SCAN_DONE =0x0e ,MCU_UNI_EVENT_RDD_REPORT =0x11 , +MCU_UNI_EVENT_ROC =0x27 , +MCU_UNI_EVENT_TX_DONE =0x2d , +MCU_UNI_EVENT_NIC_CAPAB =0x43 , };#define MCU_UNI_CMD_EVENT BIT(1)
Signature · 1 line
2.18.0
Hi,
For the whole series, Reviewed-by: Sean Wang <[email protected]>
Quoted 26 lines · Deren Wu
This patch set adds more functionalities for mt7925 to reuse common layer, connac and mt792x. This is a preliminary patch to add mt7925 chipset support.
Deren Wu (8):
wifi: mt76: connac: introduce helper for mt7925 chipset
wifi: mt76: mt792x: support mt7925 chip init
wifi: mt76: connac: export functions for mt7925
wifi: mt76: connac: add eht support for phy mode config
wifi: mt76: connac: add eht support for tx power
wifi: mt76: connac: add data field in struct tlv
wifi: mt76: connac: add more unified command IDs
wifi: mt76: connac: add more unified event IDsdrivers/net/wireless/mediatek/mt76/mt76.h | 1 + .../net/wireless/mediatek/mt76/mt76_connac.h | 6 ++ .../wireless/mediatek/mt76/mt76_connac_mac.c | 4 +- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 60 +++++++++++++------ .../wireless/mediatek/mt76/mt76_connac_mcu.h | 33 +++++++++- drivers/net/wireless/mediatek/mt76/mt792x.h | 6 ++ .../net/wireless/mediatek/mt76/mt792x_dma.c | 49 ++++++++++----- 7 files changed, 123 insertions(+), 36 deletions(-)--
2.18.0