rework mt76_connac_mcu definitions
Subsystems (3)
Lorenzo Bianconi
maintainercover rework mt76_connac_mcu definitions
This is a preliminary series to reuse mt76_connac module in mt7915 driver.
Lorenzo Bianconi (7):
mt76: connac: introduce MCU_EXT macros
mt76: connac: align MCU_EXT definitions with 7915 driver
mt76: connac: remove MCU_FW_PREFIX bit
mt76: connac: introduce MCU_UNI_CMD macro
mt76: connac: introduce MCU_CE_CMD macro
mt76: connac: rely on MCU_CMD macro
mt76: mt7915: rely on mt76_connac definitions
.../net/wireless/mediatek/mt76/mt7615/main.c | 4 +- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 200 ++--- .../net/wireless/mediatek/mt76/mt7615/mcu.h | 127 --- .../wireless/mediatek/mt76/mt7615/testmode.c | 4 +- .../wireless/mediatek/mt76/mt7615/usb_mcu.c | 2 +- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 111 +-- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 517 +++++++++++- .../net/wireless/mediatek/mt76/mt7915/mcu.c | 17 +- .../net/wireless/mediatek/mt76/mt7915/mcu.h | 796 +----------------- .../wireless/mediatek/mt76/mt7915/mt7915.h | 14 - .../net/wireless/mediatek/mt76/mt7921/main.c | 6 +- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 128 ++- .../net/wireless/mediatek/mt76/mt7921/mcu.h | 128 --- .../wireless/mediatek/mt76/mt7921/pci_mcu.c | 2 +- .../wireless/mediatek/mt76/mt7921/sdio_mcu.c | 2 +- .../wireless/mediatek/mt76/mt7921/testmode.c | 4 +- 16 files changed, 694 insertions(+), 1368 deletions(-)
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 1/7 mt76: connac: introduce MCU_EXT macros
Introduce MCU_EXT_CMD and MCU_EXT_QUERY macros in mt76_connac module. This is a preliminary patch to reuse mt76_connac module in mt7915 driver.
--- .../net/wireless/mediatek/mt76/mt7615/main.c | 4 +- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 154 ++++++++---------- .../wireless/mediatek/mt76/mt7615/testmode.c | 4 +- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 4 +- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 16 +- .../net/wireless/mediatek/mt76/mt7921/main.c | 4 +- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 76 +++------ 7 files changed, 113 insertions(+), 149 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7615/main.c +2 -2
@@ -73,7 +73,7 @@ static int mt7615_start(struct ieee80211_hw *hw) goto out; } - ret =mt7615_mcu_set_chan_info (phy,MCU_EXT_CMD_SET_RX_PATH ); + ret =mt7615_mcu_set_chan_info (phy,MCU_EXT_CMD (SET_RX_PATH ));if (ret) goto out;
@@ -326,7 +326,7 @@ int mt7615_set_channel(struct mt7615_phy *phy) goto out; } - ret =mt7615_mcu_set_chan_info (phy,MCU_EXT_CMD_CHANNEL_SWITCH ); + ret =mt7615_mcu_set_chan_info (phy,MCU_EXT_CMD (CHANNEL_SWITCH ));if (ret) goto out;
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +66 -88
396 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c +2 -2
@@ -91,7 +91,7 @@ mt7615_tm_set_tx_power(struct mt7615_phy *phy) }return mt76_mcu_skb_send_msg (&dev->mt76, skb, -MCU_EXT_CMD_SET_TX_POWER_CTRL , false); +MCU_EXT_CMD (SET_TX_POWER_CTRL ), false); } static void
@@ -228,7 +228,7 @@ mt7615_tm_set_tx_frames(struct mt7615_phy *phy, bool en)struct ieee80211_tx_info *info;struct sk_buff *skb = phy->mt76->test.tx_skb; -mt7615_mcu_set_chan_info (phy,MCU_EXT_CMD_SET_RX_PATH ); +mt7615_mcu_set_chan_info (phy,MCU_EXT_CMD (SET_RX_PATH ));mt7615_tm_set_tx_antenna (phy, en);mt7615_tm_set_rx_enable (dev, !en);if (!en || !skb)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +2 -2
@@ -176,7 +176,7 @@ int mt76_connac_mcu_set_mac_enable(struct mt76_dev *dev, int band, bool enable, .band = band, }; -return mt76_mcu_send_msg (dev,MCU_EXT_CMD_MAC_INIT_CTRL , &req_mac, +return mt76_mcu_send_msg (dev,MCU_EXT_CMD (MAC_INIT_CTRL ), &req_mac,sizeof (req_mac), true); }EXPORT_SYMBOL_GPL (mt76_connac_mcu_set_mac_enable);
@@ -218,7 +218,7 @@ int mt76_connac_mcu_set_rts_thresh(struct mt76_dev *dev, u32 val, u8 band) .pkt_thresh = cpu_to_le32(0x2), }; -return mt76_mcu_send_msg (dev,MCU_EXT_CMD_PROTECT_CTRL , &req, +return mt76_mcu_send_msg (dev,MCU_EXT_CMD (PROTECT_CTRL ), &req,sizeof (req), true); }EXPORT_SYMBOL_GPL (mt76_connac_mcu_set_rts_thresh);
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +12 -4
@@ -500,11 +500,19 @@ enum {#define MCU_FW_PREFIX BIT(31)#define MCU_UNI_PREFIX BIT(30)#define MCU_CE_PREFIX BIT(29) -#define MCU_QUERY_PREFIX BIT(28)#define MCU_CMD_MASK ~(MCU_FW_PREFIX | MCU_UNI_PREFIX | \ - MCU_CE_PREFIX | MCU_QUERY_PREFIX) + MCU_CE_PREFIX) -#define MCU_QUERY_MASK BIT(16) +#define __MCU_CMD_FIELD_ID GENMASK(7, 0) +#define __MCU_CMD_FIELD_EXT_ID GENMASK(15, 8) +#define __MCU_CMD_FIELD_QUERY BIT(16) + +#define MCU_CMD (_t) FIELD_PREP(__MCU_CMD_FIELD_ID, \ + MCU_CMD_##_t) +#define MCU_EXT_CMD (_t) (MCU_CMD(EXT_CID) | \ + FIELD_PREP(__MCU_CMD_FIELD_EXT_ID, \ + MCU_EXT_CMD_##_t)) +#define MCU_EXT_QUERY (_t) (MCU_EXT_CMD(_t) | __MCU_CMD_FIELD_QUERY)enum {MCU_EXT_CMD_EFUSE_ACCESS =0x01 ,
@@ -576,7 +584,7 @@ enum {MCU_CMD_GET_NIC_CAPAB =MCU_CE_PREFIX |0x8a ,MCU_CMD_SET_MU_EDCA_PARMS =MCU_CE_PREFIX |0xb0 ,MCU_CMD_REG_WRITE =MCU_CE_PREFIX |0xc0 , -MCU_CMD_REG_READ =MCU_CE_PREFIX |MCU_QUERY_MASK |0xc0 , +MCU_CMD_REG_READ =MCU_CE_PREFIX | __MCU_CMD_FIELD_QUERY |0xc0 ,MCU_CMD_CHIP_CONFIG =MCU_CE_PREFIX |0xca ,MCU_CMD_FWLOG_2_HOST =MCU_CE_PREFIX |0xc5 , MCU_CMD_GET_WTBL = MCU_CE_PREFIX | 0xcd,
drivers/net/wireless/mediatek/mt76/mt7921/main.c +2 -2
@@ -233,7 +233,7 @@ int __mt7921_start(struct mt7921_phy *phy)if (err)return err; - err =mt7921_mcu_set_chan_info (phy,MCU_EXT_CMD_SET_RX_PATH ); + err =mt7921_mcu_set_chan_info (phy,MCU_EXT_CMD (SET_RX_PATH ));if (err)return err;
@@ -375,7 +375,7 @@ static int mt7921_set_channel(struct mt7921_phy *phy)mt76_set_channel (phy->mt76); - ret =mt7921_mcu_set_chan_info (phy,MCU_EXT_CMD_CHANNEL_SWITCH ); + ret =mt7921_mcu_set_chan_info (phy,MCU_EXT_CMD (CHANNEL_SWITCH ));if (ret) goto out;
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +27 -49
141 lines not on this page · raw message
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 2/7 mt76: connac: align MCU_EXT definitions with 7915 driver
In reply to Lorenzo BianconiAlign MCU_EXT and MCU_FW definitions between mt76_connac and mt7915 driver. This is a preliminary patch to reuse mt76_connac in mt7915 driver.
--- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 16 ++++++------- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 24 +++++++++++++++++-- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 2 +- 3 files changed, 31 insertions(+), 11 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +8 -8
@@ -176,7 +176,7 @@ int mt7615_mcu_parse_response(struct mt76_dev *mdev, int cmd,if (cmd ==MCU_CMD_PATCH_SEM_CONTROL ) {skb_pull (skb,sizeof (*rxd) -4 ); ret = *skb->data; - }else if (cmd ==MCU_EXT_CMD (GET_TEMP )) { + }else if (cmd ==MCU_EXT_CMD (THERMAL_CTRL )) {skb_pull (skb,sizeof (*rxd)); ret =le32_to_cpu (*(__le32 *)skb->data); }else if (cmd ==MCU_EXT_QUERY (RF_REG_ACCESS )) {
@@ -2095,8 +2095,8 @@ int mt7615_mcu_set_fcc5_lpn(struct mt7615_dev *dev, int val) .min_lpn = cpu_to_le16(val), }; -return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (SET_RDD_TH ), &req, -sizeof (req), true); +return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (SET_RADAR_TH ), + &req,sizeof (req), true); } int mt7615_mcu_set_pulse_th(struct mt7615_dev *dev,
@@ -2124,8 +2124,8 @@ int mt7615_mcu_set_pulse_th(struct mt7615_dev *dev,#undef __req_field }; -return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (SET_RDD_TH ), &req, -sizeof (req), true); +return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (SET_RADAR_TH ), + &req,sizeof (req), true); } int mt7615_mcu_set_radar_th(struct mt7615_dev *dev, int index,
@@ -2171,8 +2171,8 @@ int mt7615_mcu_set_radar_th(struct mt7615_dev *dev, int index,#undef __req_field_u32 }; -return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (SET_RDD_TH ), &req, -sizeof (req), true); +return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (SET_RADAR_TH ), + &req,sizeof (req), true); }int mt7615_mcu_rdd_send_pattern (struct mt7615_dev *dev)
@@ -2372,7 +2372,7 @@ int mt7615_mcu_get_temperature(struct mt7615_dev *dev)u8 rsv[3 ]; } req = {}; -return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (GET_TEMP ), +return mt76_mcu_send_msg (&dev->mt76,MCU_EXT_CMD (THERMAL_CTRL ), &req,sizeof (req), true); }
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +22 -2
@@ -517,17 +517,21 @@ enum {enum {MCU_EXT_CMD_EFUSE_ACCESS =0x01 ,MCU_EXT_CMD_RF_REG_ACCESS =0x02 , +MCU_EXT_CMD_RF_TEST =0x04 ,MCU_EXT_CMD_PM_STATE_CTRL =0x07 ,MCU_EXT_CMD_CHANNEL_SWITCH =0x08 ,MCU_EXT_CMD_SET_TX_POWER_CTRL =0x11 ,MCU_EXT_CMD_FW_LOG_2_HOST =0x13 , +MCU_EXT_CMD_TXBF_ACTION =0x1e ,MCU_EXT_CMD_EFUSE_BUFFER_MODE =0x21 , +MCU_EXT_CMD_THERMAL_PROT =0x23 ,MCU_EXT_CMD_STA_REC_UPDATE =0x25 ,MCU_EXT_CMD_BSS_INFO_UPDATE =0x26 ,MCU_EXT_CMD_EDCA_UPDATE =0x27 ,MCU_EXT_CMD_DEV_INFO_UPDATE =0x2A , -MCU_EXT_CMD_GET_TEMP =0x2c , +MCU_EXT_CMD_THERMAL_CTRL =0x2c ,MCU_EXT_CMD_WTBL_UPDATE =0x32 , +MCU_EXT_CMD_SET_DRR_CTRL =0x36 ,MCU_EXT_CMD_SET_RDD_CTRL =0x3a ,MCU_EXT_CMD_ATE_CTRL =0x3d ,MCU_EXT_CMD_PROTECT_CTRL =0x3e ,
@@ -536,13 +540,28 @@ enum {MCU_EXT_CMD_RX_HDR_TRANS =0x47 ,MCU_EXT_CMD_MUAR_UPDATE =0x48 ,MCU_EXT_CMD_BCN_OFFLOAD =0x49 , +MCU_EXT_CMD_RX_AIRTIME_CTRL =0x4a ,MCU_EXT_CMD_SET_RX_PATH =0x4e , +MCU_EXT_CMD_EFUSE_FREE_BLOCK =0x4f ,MCU_EXT_CMD_TX_POWER_FEATURE_CTRL =0x58 ,MCU_EXT_CMD_RXDCOC_CAL =0x59 , +MCU_EXT_CMD_GET_MIB_INFO =0x5a ,MCU_EXT_CMD_TXDPD_CAL =0x60 ,MCU_EXT_CMD_CAL_CACHE =0x67 , -MCU_EXT_CMD_SET_RDD_TH =0x7c , +MCU_EXT_CMD_SET_RADAR_TH =0x7c ,MCU_EXT_CMD_SET_RDD_PATTERN =0x7d , +MCU_EXT_CMD_MWDS_SUPPORT =0x80 , +MCU_EXT_CMD_SET_SER_TRIGGER =0x81 , +MCU_EXT_CMD_SCS_CTRL =0x82 , +MCU_EXT_CMD_TWT_AGRT_UPDATE =0x94 , +MCU_EXT_CMD_FW_DBG_CTRL =0x95 , +MCU_EXT_CMD_OFFCH_SCAN_CTRL =0x9a , +MCU_EXT_CMD_SET_RDD_TH =0x9d , +MCU_EXT_CMD_MURU_CTRL =0x9f , +MCU_EXT_CMD_SET_SPR =0xa8 , +MCU_EXT_CMD_GROUP_PRE_CAL_INFO =0xab , +MCU_EXT_CMD_DPD_PRE_CAL_INFO =0xac , + MCU_EXT_CMD_PHY_STAT_INFO = 0xad, }; enum {
@@ -562,6 +581,7 @@ enum {MCU_CMD_PATCH_START_REQ =MCU_FW_PREFIX |0x05 ,MCU_CMD_PATCH_FINISH_REQ =MCU_FW_PREFIX |0x07 ,MCU_CMD_PATCH_SEM_CONTROL =MCU_FW_PREFIX |0x10 , +MCU_CMD_WA_PARAM =0xc4 ,MCU_CMD_EXT_CID =0xed ,MCU_CMD_FW_SCATTER =MCU_FW_PREFIX |0xee , MCU_CMD_RESTART_DL_REQ = MCU_FW_PREFIX | 0xef,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +1 -1
@@ -182,7 +182,7 @@ int mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd,if (cmd ==MCU_CMD_PATCH_SEM_CONTROL ) {skb_pull (skb,sizeof (*rxd) -4 ); ret = *skb->data; - }else if (cmd ==MCU_EXT_CMD (GET_TEMP )) { + }else if (cmd ==MCU_EXT_CMD (THERMAL_CTRL )) {skb_pull (skb,sizeof (*rxd) +4 ); ret =le32_to_cpu (*(__le32 *)skb->data); }else if (cmd ==MCU_EXT_CMD (EFUSE_ACCESS )) {
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 3/7 mt76: connac: remove MCU_FW_PREFIX bit
In reply to Lorenzo BianconiGet rid of MCU_FW_PREFIX bit since it is no longer used
--- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-)
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +9 -11
@@ -497,11 +497,9 @@ enum {#define MCU_CMD_UNI_EXT_ACK (MCU_CMD_ACK | MCU_CMD_UNI | \ MCU_CMD_QUERY) -#define MCU_FW_PREFIX BIT(31)#define MCU_UNI_PREFIX BIT(30)#define MCU_CE_PREFIX BIT(29) -#define MCU_CMD_MASK ~(MCU_FW_PREFIX | MCU_UNI_PREFIX | \ - MCU_CE_PREFIX) +#define MCU_CMD_MASK ~(MCU_UNI_PREFIX | MCU_CE_PREFIX)#define __MCU_CMD_FIELD_ID GENMASK(7, 0)#define __MCU_CMD_FIELD_EXT_ID GENMASK(15, 8)
@@ -574,17 +572,17 @@ enum { };enum { -MCU_CMD_TARGET_ADDRESS_LEN_REQ =MCU_FW_PREFIX |0x01 , -MCU_CMD_FW_START_REQ =MCU_FW_PREFIX |0x02 , +MCU_CMD_TARGET_ADDRESS_LEN_REQ =0x01 , +MCU_CMD_FW_START_REQ =0x02 ,MCU_CMD_INIT_ACCESS_REG =0x3 , -MCU_CMD_NIC_POWER_CTRL =MCU_FW_PREFIX |0x4 , -MCU_CMD_PATCH_START_REQ =MCU_FW_PREFIX |0x05 , -MCU_CMD_PATCH_FINISH_REQ =MCU_FW_PREFIX |0x07 , -MCU_CMD_PATCH_SEM_CONTROL =MCU_FW_PREFIX |0x10 , +MCU_CMD_NIC_POWER_CTRL =0x4 , +MCU_CMD_PATCH_START_REQ =0x05 , +MCU_CMD_PATCH_FINISH_REQ =0x07 , +MCU_CMD_PATCH_SEM_CONTROL =0x10 ,MCU_CMD_WA_PARAM =0xc4 ,MCU_CMD_EXT_CID =0xed , -MCU_CMD_FW_SCATTER =MCU_FW_PREFIX |0xee , -MCU_CMD_RESTART_DL_REQ =MCU_FW_PREFIX |0xef , +MCU_CMD_FW_SCATTER =0xee , +MCU_CMD_RESTART_DL_REQ =0xef , };/* offload mcu commands */
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 4/7 mt76: connac: introduce MCU_UNI_CMD macro
In reply to Lorenzo BianconiSimilar to MCU_EXT_CMD, introduce MCU_UNI_CMD for unified commands
--- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 26 +++++------ .../wireless/mediatek/mt76/mt76_connac_mcu.c | 44 ++++++++++--------- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 19 ++++---- .../net/wireless/mediatek/mt76/mt7921/main.c | 2 +- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 36 +++++++-------- 5 files changed, 64 insertions(+), 63 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +13 -13
@@ -103,7 +103,7 @@ void mt7615_mcu_fill_msg(struct mt7615_dev *dev, struct sk_buff *skb,if (wait_seq) *wait_seq = seq; - txd_len = cmd &MCU_UNI_PREFIX ?sizeof (*uni_txd) :sizeof (*mcu_txd); + txd_len = cmd & __MCU_CMD_FIELD_UNI ?sizeof (*uni_txd) :sizeof (*mcu_txd); txd = (__le32 *)skb_push (skb, txd_len);if (cmd !=MCU_CMD_FW_SCATTER ) {
@@ -124,7 +124,7 @@ void mt7615_mcu_fill_msg(struct mt7615_dev *dev, struct sk_buff *skb,FIELD_PREP (MT_TXD1_PKT_FMT , pkt_fmt); txd[1 ] =cpu_to_le32 (val); -if (cmd &MCU_UNI_PREFIX ) { +if (cmd & __MCU_CMD_FIELD_UNI) { uni_txd = (struct mt7615_uni_txd *)txd; uni_txd->len =cpu_to_le16 (skb->len -sizeof (uni_txd->txd)); uni_txd->option =MCU_CMD_UNI_EXT_ACK ;
@@ -182,12 +182,12 @@ int mt7615_mcu_parse_response(struct mt76_dev *mdev, int cmd, }else if (cmd ==MCU_EXT_QUERY (RF_REG_ACCESS )) {skb_pull (skb,sizeof (*rxd)); ret =le32_to_cpu (*(__le32 *)&skb->data[8 ]); - }else if (cmd ==MCU_UNI_CMD_DEV_INFO_UPDATE || - cmd ==MCU_UNI_CMD_BSS_INFO_UPDATE || - cmd ==MCU_UNI_CMD_STA_REC_UPDATE || - cmd ==MCU_UNI_CMD_HIF_CTRL || - cmd ==MCU_UNI_CMD_OFFLOAD || - cmd ==MCU_UNI_CMD_SUSPEND ) { + }else if (cmd ==MCU_UNI_CMD (DEV_INFO_UPDATE ) || + cmd ==MCU_UNI_CMD (BSS_INFO_UPDATE ) || + cmd ==MCU_UNI_CMD (STA_REC_UPDATE ) || + cmd ==MCU_UNI_CMD (HIF_CTRL ) || + cmd ==MCU_UNI_CMD (OFFLOAD ) || + cmd ==MCU_UNI_CMD (SUSPEND )) {struct mt7615_mcu_uni_event *event;skb_pull (skb,sizeof (*rxd));
@@ -1263,7 +1263,7 @@ mt7615_mcu_uni_add_beacon_offload(struct mt7615_dev *dev,dev_kfree_skb (skb); out: -return mt76_mcu_send_msg (&dev->mt76,MCU_UNI_CMD_BSS_INFO_UPDATE , +return mt76_mcu_send_msg (&dev->mt76,MCU_UNI_CMD (BSS_INFO_UPDATE ), &req,sizeof (req), true); }
@@ -1292,7 +1292,7 @@ mt7615_mcu_uni_add_sta(struct mt7615_phy *phy, struct ieee80211_vif *vif, struct ieee80211_sta *sta, bool enable) {return __mt7615_mcu_add_sta (phy->mt76, vif, sta, enable, -MCU_UNI_CMD_STA_REC_UPDATE , true); +MCU_UNI_CMD (STA_REC_UPDATE ), true); } static int
@@ -1326,7 +1326,7 @@ mt7615_mcu_uni_rx_ba(struct mt7615_dev *dev,mt76_connac_mcu_sta_ba_tlv (skb, params, enable, false); err =mt76_mcu_skb_send_msg (&dev->mt76, skb, -MCU_UNI_CMD_STA_REC_UPDATE , true); +MCU_UNI_CMD (STA_REC_UPDATE ), true);if (err <0 || !enable)return err;
@@ -1347,7 +1347,7 @@ mt7615_mcu_uni_rx_ba(struct mt7615_dev *dev, sta_wtbl, wtbl_hdr);return mt76_mcu_skb_send_msg (&dev->mt76, skb, -MCU_UNI_CMD_STA_REC_UPDATE , true); +MCU_UNI_CMD (STA_REC_UPDATE ), true); } static int
@@ -1359,7 +1359,7 @@ mt7615_mcu_sta_uni_update_hdr_trans(struct mt7615_dev *dev,return mt76_connac_mcu_sta_update_hdr_trans (&dev->mt76, vif, &msta->wcid, -MCU_UNI_CMD_STA_REC_UPDATE ); +MCU_UNI_CMD (STA_REC_UPDATE )); }static const struct mt7615_mcu_ops uni_update_ops = {
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +23 -21
134 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +11 -8
@@ -497,13 +497,13 @@ enum {#define MCU_CMD_UNI_EXT_ACK (MCU_CMD_ACK | MCU_CMD_UNI | \ MCU_CMD_QUERY) -#define MCU_UNI_PREFIX BIT(30)#define MCU_CE_PREFIX BIT(29) -#define MCU_CMD_MASK ~(MCU_UNI_PREFIX | MCU_CE_PREFIX) +#define MCU_CMD_MASK ~(MCU_CE_PREFIX)#define __MCU_CMD_FIELD_ID GENMASK(7, 0)#define __MCU_CMD_FIELD_EXT_ID GENMASK(15, 8)#define __MCU_CMD_FIELD_QUERY BIT(16) +#define __MCU_CMD_FIELD_UNI BIT(17)#define MCU_CMD (_t) FIELD_PREP(__MCU_CMD_FIELD_ID, \ MCU_CMD_##_t)
@@ -511,6 +511,9 @@ enum { FIELD_PREP(__MCU_CMD_FIELD_EXT_ID, \ MCU_EXT_CMD_##_t))#define MCU_EXT_QUERY (_t) (MCU_EXT_CMD(_t) | __MCU_CMD_FIELD_QUERY) +#define MCU_UNI_CMD (_t) (__MCU_CMD_FIELD_UNI | \ + FIELD_PREP(__MCU_CMD_FIELD_ID, \ + MCU_UNI_CMD_##_t))enum {MCU_EXT_CMD_EFUSE_ACCESS =0x01 ,
@@ -563,12 +566,12 @@ enum { };enum { -MCU_UNI_CMD_DEV_INFO_UPDATE =MCU_UNI_PREFIX |0x01 , -MCU_UNI_CMD_BSS_INFO_UPDATE =MCU_UNI_PREFIX |0x02 , -MCU_UNI_CMD_STA_REC_UPDATE =MCU_UNI_PREFIX |0x03 , -MCU_UNI_CMD_SUSPEND =MCU_UNI_PREFIX |0x05 , -MCU_UNI_CMD_OFFLOAD =MCU_UNI_PREFIX |0x06 , -MCU_UNI_CMD_HIF_CTRL =MCU_UNI_PREFIX |0x07 , +MCU_UNI_CMD_DEV_INFO_UPDATE =0x01 , +MCU_UNI_CMD_BSS_INFO_UPDATE =0x02 , +MCU_UNI_CMD_STA_REC_UPDATE =0x03 , +MCU_UNI_CMD_SUSPEND =0x05 , +MCU_UNI_CMD_OFFLOAD =0x06 , +MCU_UNI_CMD_HIF_CTRL =0x07 , };enum {
drivers/net/wireless/mediatek/mt76/mt7921/main.c +1 -1
@@ -1332,7 +1332,7 @@ static void mt7921_sta_set_decap_offload(struct ieee80211_hw *hw,clear_bit (MT_WCID_FLAG_HDR_TRANS , &msta->wcid.flags);mt76_connac_mcu_sta_update_hdr_trans (&dev->mt76, vif, &msta->wcid, -MCU_UNI_CMD_STA_REC_UPDATE ); +MCU_UNI_CMD (STA_REC_UPDATE )); } static int mt7921_set_sar_specs(struct ieee80211_hw *hw,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +16 -20
@@ -187,12 +187,12 @@ int mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd, ret =le32_to_cpu (*(__le32 *)skb->data); }else if (cmd ==MCU_EXT_CMD (EFUSE_ACCESS )) { ret =mt7921_mcu_parse_eeprom (mdev, skb); - }else if (cmd ==MCU_UNI_CMD_DEV_INFO_UPDATE || - cmd ==MCU_UNI_CMD_BSS_INFO_UPDATE || - cmd ==MCU_UNI_CMD_STA_REC_UPDATE || - cmd ==MCU_UNI_CMD_HIF_CTRL || - cmd ==MCU_UNI_CMD_OFFLOAD || - cmd ==MCU_UNI_CMD_SUSPEND ) { + }else if (cmd ==MCU_UNI_CMD (DEV_INFO_UPDATE ) || + cmd ==MCU_UNI_CMD (BSS_INFO_UPDATE ) || + cmd ==MCU_UNI_CMD (STA_REC_UPDATE ) || + cmd ==MCU_UNI_CMD (HIF_CTRL ) || + cmd ==MCU_UNI_CMD (OFFLOAD ) || + cmd ==MCU_UNI_CMD (SUSPEND )) {struct mt7921_mcu_uni_event *event;skb_pull (skb,sizeof (*rxd));
@@ -226,16 +226,12 @@ int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb,u32 val;u8 seq; -switch (cmd) { -case MCU_UNI_CMD_HIF_CTRL : -case MCU_UNI_CMD_SUSPEND : -case MCU_UNI_CMD_OFFLOAD : +if (cmd ==MCU_UNI_CMD (HIF_CTRL ) || + cmd ==MCU_UNI_CMD (SUSPEND ) || + cmd ==MCU_UNI_CMD (OFFLOAD )) mdev->mcu.timeout =HZ /3 ; -break ; -default : +else mdev->mcu.timeout =3 *HZ ; -break ; - } seq = ++dev->mt76.mcu.msg_seq &0xf ;if (!seq)
@@ -244,7 +240,7 @@ int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb,if (cmd ==MCU_CMD_FW_SCATTER ) goto exit; - txd_len = cmd &MCU_UNI_PREFIX ?sizeof (*uni_txd) :sizeof (*mcu_txd); + txd_len = cmd & __MCU_CMD_FIELD_UNI ?sizeof (*uni_txd) :sizeof (*mcu_txd); txd = (__le32 *)skb_push (skb, txd_len); val = FIELD_PREP(MT_TXD0_TX_BYTES, skb->len) |
@@ -256,7 +252,7 @@ int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb,FIELD_PREP (MT_TXD1_HDR_FORMAT ,MT_HDR_FORMAT_CMD ); txd[1 ] =cpu_to_le32 (val); -if (cmd &MCU_UNI_PREFIX ) { +if (cmd & __MCU_CMD_FIELD_UNI) { uni_txd = (struct mt7921_uni_txd *)txd; uni_txd->len =cpu_to_le16 (skb->len -sizeof (uni_txd->txd)); uni_txd->option =MCU_CMD_UNI_EXT_ACK ;
@@ -561,7 +557,7 @@ int mt7921_mcu_add_key(struct mt7921_dev *dev, struct ieee80211_vif *vif,return ret;return mt76_mcu_skb_send_msg (&dev->mt76, skb, -MCU_UNI_CMD_STA_REC_UPDATE , true); +MCU_UNI_CMD (STA_REC_UPDATE ), true); } int mt7921_mcu_uni_tx_ba(struct mt7921_dev *dev,
@@ -1160,7 +1156,7 @@ int mt7921_mcu_uni_bss_ps(struct mt7921_dev *dev, struct ieee80211_vif *vif)if (vif->type !=NL80211_IFTYPE_STATION )return -EOPNOTSUPP ; -return mt76_mcu_send_msg (&dev->mt76,MCU_UNI_CMD_BSS_INFO_UPDATE , +return mt76_mcu_send_msg (&dev->mt76,MCU_UNI_CMD (BSS_INFO_UPDATE ), &ps_req,sizeof (ps_req), true); }
@@ -1196,7 +1192,7 @@ mt7921_mcu_uni_bss_bcnft(struct mt7921_dev *dev, struct ieee80211_vif *vif,if (vif->type !=NL80211_IFTYPE_STATION )return 0 ; -return mt76_mcu_send_msg (&dev->mt76,MCU_UNI_CMD_BSS_INFO_UPDATE , +return mt76_mcu_send_msg (&dev->mt76,MCU_UNI_CMD (BSS_INFO_UPDATE ), &bcnft_req,sizeof (bcnft_req), true); }
@@ -1251,7 +1247,7 @@ int mt7921_mcu_sta_update(struct mt7921_dev *dev, struct ieee80211_sta *sta, .sta = sta, .vif = vif, .enable = enable, - .cmd = MCU_UNI_CMD_STA_REC_UPDATE, + .cmd = MCU_UNI_CMD(STA_REC_UPDATE), .state = state, .offload_fw = true, .rcpi = to_rcpi(rssi),
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 5/7 mt76: connac: introduce MCU_CE_CMD macro
In reply to Lorenzo BianconiSimilar to MCU_EXT_CMD, introduce MCU_CE_CMD for CE commands
--- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 16 +++---- .../wireless/mediatek/mt76/mt76_connac_mcu.c | 47 ++++++++++-------- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 48 ++++++++++--------- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 24 +++++----- .../wireless/mediatek/mt76/mt7921/testmode.c | 4 +- 5 files changed, 73 insertions(+), 66 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +8 -8
@@ -145,7 +145,7 @@ void mt7615_mcu_fill_msg(struct mt7615_dev *dev, struct sk_buff *skb, mcu_txd->cid = mcu_cmd; mcu_txd->ext_cid =FIELD_GET (__MCU_CMD_FIELD_EXT_ID, cmd); -if (mcu_txd->ext_cid || (cmd &MCU_CE_PREFIX )) { +if (mcu_txd->ext_cid || (cmd & __MCU_CMD_FIELD_CE)) {if (cmd & __MCU_CMD_FIELD_QUERY) mcu_txd->set_query =MCU_Q_QUERY ;else
@@ -193,7 +193,7 @@ int mt7615_mcu_parse_response(struct mt76_dev *mdev, int cmd,skb_pull (skb,sizeof (*rxd)); event = (struct mt7615_mcu_uni_event *)skb->data; ret =le32_to_cpu (event->status); - }else if (cmd ==MCU_CMD_REG_READ ) { + }else if (cmd ==MCU_CE_QUERY (REG_READ )) {struct mt7615_mcu_reg_event *event;skb_pull (skb,sizeof (*rxd));
@@ -2737,13 +2737,13 @@ int mt7615_mcu_set_bss_pm(struct mt7615_dev *dev, struct ieee80211_vif *vif,if (vif->type !=NL80211_IFTYPE_STATION )return 0 ; - err =mt76_mcu_send_msg (&dev->mt76,MCU_CMD_SET_BSS_ABORT , &req_hdr, -sizeof (req_hdr), false); + err =mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (SET_BSS_ABORT ), + &req_hdr,sizeof (req_hdr), false);if (err <0 || !enable)return err; -return mt76_mcu_send_msg (&dev->mt76,MCU_CMD_SET_BSS_CONNECTED , &req, -sizeof (req), false); +return mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (SET_BSS_CONNECTED ), + &req,sizeof (req), false); } int mt7615_mcu_set_roc(struct mt7615_phy *phy, struct ieee80211_vif *vif,
@@ -2762,6 +2762,6 @@ int mt7615_mcu_set_roc(struct mt7615_phy *phy, struct ieee80211_vif *vif, phy->roc_grant = false; -return mt76_mcu_send_msg (&dev->mt76,MCU_CMD_SET_ROC , &req, -sizeof (req), false); +return mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (SET_ROC ), + &req,sizeof (req), false); }
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +26 -21
125 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +25 -23
70 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +12 -12
@@ -163,8 +163,8 @@ mt7921_mcu_parse_eeprom(struct mt76_dev *dev, struct sk_buff *skb)int mt7921_mcu_parse_response (struct mt76_dev *mdev,int cmd,struct sk_buff *skb,int seq) { +int mcu_cmd =FIELD_GET (__MCU_CMD_FIELD_ID, cmd);struct mt7921_mcu_rxd *rxd; -int mcu_cmd = cmd &MCU_CMD_MASK ;int ret =0 ;if (!skb) {
@@ -201,7 +201,7 @@ int mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd,/* skip invalid event */ if (mcu_cmd != event->cid) ret = -EAGAIN ; - }else if (cmd ==MCU_CMD_REG_READ ) { + }else if (cmd ==MCU_CE_QUERY (REG_READ )) {struct mt7921_mcu_reg_event *event;skb_pull (skb,sizeof (*rxd));
@@ -274,7 +274,7 @@ int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb, mcu_txd->s2d_index =MCU_S2D_H2N ; mcu_txd->ext_cid =FIELD_GET (__MCU_CMD_FIELD_EXT_ID, cmd); -if (mcu_txd->ext_cid || (cmd &MCU_CE_PREFIX )) { +if (mcu_txd->ext_cid || (cmd & __MCU_CMD_FIELD_CE)) {if (cmd & __MCU_CMD_FIELD_QUERY) mcu_txd->set_query =MCU_Q_QUERY ;else
@@ -897,8 +897,8 @@ int mt7921_mcu_fw_log_2_host(struct mt7921_dev *dev, u8 ctrl) .ctrl_val = ctrl }; -return mt76_mcu_send_msg (&dev->mt76,MCU_CMD_FWLOG_2_HOST , &data, -sizeof (data), false); +return mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (FWLOG_2_HOST ), + &data,sizeof (data), false); }int mt7921_run_firmware (struct mt7921_dev *dev)
@@ -1023,8 +1023,8 @@ int mt7921_mcu_set_tx(struct mt7921_dev *dev, struct ieee80211_vif *vif) e->timer = q->mu_edca_timer; } -return mt76_mcu_send_msg (&dev->mt76,MCU_CMD_SET_MU_EDCA_PARMS , &req_mu, -sizeof (req_mu), false); +return mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (SET_MU_EDCA_PARMS ), + &req_mu,sizeof (req_mu), false); }int mt7921_mcu_set_chan_info (struct mt7921_phy *phy,int cmd)
@@ -1228,13 +1228,13 @@ mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif,if (vif->type !=NL80211_IFTYPE_STATION )return 0 ; - err =mt76_mcu_send_msg (&dev->mt76,MCU_CMD_SET_BSS_ABORT , &req_hdr, -sizeof (req_hdr), false); + err =mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (SET_BSS_ABORT ), + &req_hdr,sizeof (req_hdr), false);if (err <0 || !enable)return err; -return mt76_mcu_send_msg (&dev->mt76,MCU_CMD_SET_BSS_CONNECTED , &req, -sizeof (req), false); +return mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (SET_BSS_CONNECTED ), + &req,sizeof (req), false); } int mt7921_mcu_sta_update(struct mt7921_dev *dev, struct ieee80211_sta *sta,
@@ -1344,7 +1344,7 @@ int mt7921_get_txpwr_info(struct mt7921_dev *dev, struct mt7921_txpwr *txpwr)struct sk_buff *skb;int ret; - ret =mt76_mcu_send_and_get_msg (&dev->mt76,MCU_CMD_GET_TXPWR , + ret =mt76_mcu_send_and_get_msg (&dev->mt76,MCU_CE_CMD (GET_TXPWR ), &req,sizeof (req), true, &skb);if (ret)return ret;
drivers/net/wireless/mediatek/mt76/mt7921/testmode.c +2 -2
@@ -66,7 +66,7 @@ mt7921_tm_set(struct mt7921_dev *dev, struct mt7921_tm_cmd *req)if (!mt76_testmode_enabled (phy)) goto out; - ret =mt76_mcu_send_msg (&dev->mt76,MCU_CMD_TEST_CTRL , &cmd, + ret =mt76_mcu_send_msg (&dev->mt76,MCU_CE_CMD (TEST_CTRL ), &cmd,sizeof (cmd), false);if (ret) goto out;
@@ -95,7 +95,7 @@ mt7921_tm_query(struct mt7921_dev *dev, struct mt7921_tm_cmd *req,struct sk_buff *skb;int ret; - ret =mt76_mcu_send_and_get_msg (&dev->mt76,MCU_CMD_TEST_CTRL , + ret =mt76_mcu_send_and_get_msg (&dev->mt76,MCU_CE_CMD (TEST_CTRL ), &cmd,sizeof (cmd), true, &skb);if (ret) goto out;
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 6/7 mt76: connac: rely on MCU_CMD macro
In reply to Lorenzo BianconiSimilar to mt7915 driver, rely on MCU_CMD macro and do not command definitions directly
--- drivers/net/wireless/mediatek/mt76/mt7615/mcu.c | 12 ++++++------ .../net/wireless/mediatek/mt76/mt7615/usb_mcu.c | 2 +- .../net/wireless/mediatek/mt76/mt76_connac_mcu.c | 16 ++++++++-------- drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 10 +++++----- .../net/wireless/mediatek/mt76/mt7921/pci_mcu.c | 2 +- .../net/wireless/mediatek/mt76/mt7921/sdio_mcu.c | 2 +- 6 files changed, 22 insertions(+), 22 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +6 -6
@@ -106,7 +106,7 @@ void mt7615_mcu_fill_msg(struct mt7615_dev *dev, struct sk_buff *skb, txd_len = cmd & __MCU_CMD_FIELD_UNI ?sizeof (*uni_txd) :sizeof (*mcu_txd); txd = (__le32 *)skb_push (skb, txd_len); -if (cmd !=MCU_CMD_FW_SCATTER ) { +if (cmd !=MCU_CMD (FW_SCATTER )) { q_idx =MT_TX_MCU_PORT_RX_Q0 ; pkt_fmt =MT_TX_TYPE_CMD ; }else {
@@ -173,7 +173,7 @@ int mt7615_mcu_parse_response(struct mt76_dev *mdev, int cmd,if (seq != rxd->seq)return -EAGAIN ; -if (cmd ==MCU_CMD_PATCH_SEM_CONTROL ) { +if (cmd ==MCU_CMD (PATCH_SEM_CONTROL )) {skb_pull (skb,sizeof (*rxd) -4 ); ret = *skb->data; }else if (cmd ==MCU_EXT_CMD (THERMAL_CTRL )) {
@@ -1377,7 +1377,7 @@ static const struct mt7615_mcu_ops uni_update_ops = {int mt7615_mcu_restart (struct mt76_dev *dev) { -return mt76_mcu_send_msg (dev,MCU_CMD_RESTART_DL_REQ ,NULL ,0 , true); +return mt76_mcu_send_msg (dev,MCU_CMD (RESTART_DL_REQ ),NULL ,0 , true); }EXPORT_SYMBOL_GPL (mt7615_mcu_restart);
@@ -1423,7 +1423,7 @@ static int mt7615_load_patch(struct mt7615_dev *dev, u32 addr, const char *name) goto out; } - ret =mt76_mcu_send_firmware (&dev->mt76,MCU_CMD_FW_SCATTER , + ret =mt76_mcu_send_firmware (&dev->mt76,MCU_CMD (FW_SCATTER ), fw->data +sizeof (*hdr), len);if (ret) {dev_err (dev->mt76.dev,"Failed to send firmware to device\n" );
@@ -1486,7 +1486,7 @@ mt7615_mcu_send_ram_firmware(struct mt7615_dev *dev,return err; } - err =mt76_mcu_send_firmware (&dev->mt76,MCU_CMD_FW_SCATTER , + err =mt76_mcu_send_firmware (&dev->mt76,MCU_CMD (FW_SCATTER ), data + offset, len);if (err) {dev_err (dev->mt76.dev,"Failed to send firmware to device\n" );
@@ -1734,7 +1734,7 @@ static int mt7663_load_n9(struct mt7615_dev *dev, const char *name) goto out; } - ret =mt76_mcu_send_firmware (&dev->mt76,MCU_CMD_FW_SCATTER , + ret =mt76_mcu_send_firmware (&dev->mt76,MCU_CMD (FW_SCATTER ), fw->data + offset, len);if (ret) {dev_err (dev->mt76.dev,"Failed to send firmware\n" );
drivers/net/wireless/mediatek/mt76/mt7615/usb_mcu.c +1 -1
@@ -21,7 +21,7 @@ mt7663u_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,int ret, ep, len, pad;mt7615_mcu_fill_msg (dev, skb, cmd, seq); -if (cmd !=MCU_CMD_FW_SCATTER ) +if (cmd !=MCU_CMD (FW_SCATTER )) ep =MT_EP_OUT_INBAND_CMD ;else ep =MT_EP_OUT_AC_BE ;
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +8 -8
@@ -13,8 +13,8 @@ int mt76_connac_mcu_start_firmware(struct mt76_dev *dev, u32 addr, u32 option) .addr = cpu_to_le32(addr), }; -return mt76_mcu_send_msg (dev,MCU_CMD_FW_START_REQ , &req,sizeof (req), - true); +return mt76_mcu_send_msg (dev,MCU_CMD (FW_START_REQ ), &req, +sizeof (req), true); }EXPORT_SYMBOL_GPL (mt76_connac_mcu_start_firmware);
@@ -27,8 +27,8 @@ int mt76_connac_mcu_patch_sem_ctrl(struct mt76_dev *dev, bool get) .op = cpu_to_le32(op), }; -return mt76_mcu_send_msg (dev,MCU_CMD_PATCH_SEM_CONTROL , &req, -sizeof (req), true); +return mt76_mcu_send_msg (dev,MCU_CMD (PATCH_SEM_CONTROL ), + &req,sizeof (req), true); }EXPORT_SYMBOL_GPL (mt76_connac_mcu_patch_sem_ctrl);
@@ -41,8 +41,8 @@ int mt76_connac_mcu_start_patch(struct mt76_dev *dev) .check_crc = 0, }; -return mt76_mcu_send_msg (dev,MCU_CMD_PATCH_FINISH_REQ , &req, -sizeof (req), true); +return mt76_mcu_send_msg (dev,MCU_CMD (PATCH_FINISH_REQ ), + &req,sizeof (req), true); }EXPORT_SYMBOL_GPL (mt76_connac_mcu_start_patch);
@@ -64,9 +64,9 @@ int mt76_connac_mcu_init_download(struct mt76_dev *dev, u32 addr, u32 len,if (is_mt7921 (dev) && (req.addr ==cpu_to_le32 (MCU_PATCH_ADDRESS ) || addr ==0x900000 )) - cmd =MCU_CMD_PATCH_START_REQ ; + cmd =MCU_CMD (PATCH_START_REQ );else - cmd =MCU_CMD_TARGET_ADDRESS_LEN_REQ ; + cmd =MCU_CMD (TARGET_ADDRESS_LEN_REQ );return mt76_mcu_send_msg (dev, cmd, &req,sizeof (req), true); }
drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +5 -5
@@ -179,7 +179,7 @@ int mt7921_mcu_parse_response(struct mt76_dev *mdev, int cmd,if (seq != rxd->seq)return -EAGAIN ; -if (cmd ==MCU_CMD_PATCH_SEM_CONTROL ) { +if (cmd ==MCU_CMD (PATCH_SEM_CONTROL )) {skb_pull (skb,sizeof (*rxd) -4 ); ret = *skb->data; }else if (cmd ==MCU_EXT_CMD (THERMAL_CTRL )) {
@@ -237,7 +237,7 @@ int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb,if (!seq) seq = ++dev->mt76.mcu.msg_seq &0xf ; -if (cmd ==MCU_CMD_FW_SCATTER ) +if (cmd ==MCU_CMD (FW_SCATTER )) goto exit; txd_len = cmd & __MCU_CMD_FIELD_UNI ?sizeof (*uni_txd) :sizeof (*mcu_txd);
@@ -592,7 +592,7 @@ int mt7921_mcu_restart(struct mt76_dev *dev) .power_mode = 1, }; -return mt76_mcu_send_msg (dev,MCU_CMD_NIC_POWER_CTRL , &req, +return mt76_mcu_send_msg (dev,MCU_CMD (NIC_POWER_CTRL ), &req,sizeof (req), false); }EXPORT_SYMBOL_GPL (mt7921_mcu_restart);
@@ -698,7 +698,7 @@ static int mt7921_load_patch(struct mt7921_dev *dev) goto out; } - ret =__mt76_mcu_send_firmware (&dev->mt76,MCU_CMD_FW_SCATTER , + ret =__mt76_mcu_send_firmware (&dev->mt76,MCU_CMD (FW_SCATTER ), dl, len, max_len);if (ret) {dev_err (dev->mt76.dev,"Failed to send patch\n" );
@@ -783,7 +783,7 @@ mt7921_mcu_send_ram_firmware(struct mt7921_dev *dev,return err; } - err =__mt76_mcu_send_firmware (&dev->mt76,MCU_CMD_FW_SCATTER , + err =__mt76_mcu_send_firmware (&dev->mt76,MCU_CMD (FW_SCATTER ), data + offset, len, max_len);if (err) {dev_err (dev->mt76.dev,"Failed to send firmware.\n" );
drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c +1 -1
@@ -30,7 +30,7 @@ mt7921_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,if (ret)return ret; -if (cmd ==MCU_CMD_FW_SCATTER ) +if (cmd ==MCU_CMD (FW_SCATTER )) txq =MT_MCUQ_FWDL ;return mt76_tx_queue_skb_raw (dev, mdev->q_mcu[txq], skb,0 );
drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c +1 -1
@@ -33,7 +33,7 @@ mt7921s_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,if (ret)return ret; -if (cmd ==MCU_CMD_FW_SCATTER ) +if (cmd ==MCU_CMD (FW_SCATTER )) type =MT7921_SDIO_FWDL ;mt7921_skb_add_sdio_hdr (skb, type);
Signature · 1 line
2.31.1
Lorenzo Bianconi
maintainerPATCH 7/7 mt76: mt7915: rely on mt76_connac definitions
In reply to Lorenzo BianconiRemove duplicated mcu definitions in mt7915 mcu.h and reused connac ones.
--- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 4 +- .../net/wireless/mediatek/mt76/mt7615/mcu.h | 127 --- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 400 ++++++++- .../net/wireless/mediatek/mt76/mt7915/mcu.c | 17 +- .../net/wireless/mediatek/mt76/mt7915/mcu.h | 796 +----------------- .../wireless/mediatek/mt76/mt7915/mt7915.h | 14 - .../net/wireless/mediatek/mt76/mt7921/mcu.h | 128 --- 7 files changed, 411 insertions(+), 1075 deletions(-)
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +2 -2
@@ -821,7 +821,7 @@ mt7615_mcu_bss_basic_tlv(struct sk_buff *skb, struct ieee80211_vif *vif, bss = (struct bss_info_basic *)tlv; bss->network_type =cpu_to_le32 (type); - bss->bmc_tx_wlan_idx = wlan_idx; + bss->bmc_wcid_lo = wlan_idx; bss->wmm_idx = mvif->mt76.wmm_idx; bss->active = enable;
@@ -1622,7 +1622,7 @@ static int mt7615_load_firmware(struct mt7615_dev *dev)if (!mt76_poll_msec (dev,MT_TOP_MISC2 ,MT_TOP_MISC2_FW_STATE ,FIELD_PREP (MT_TOP_MISC2_FW_STATE , -FW_STATE_CR4_RDY ),500 )) { +FW_STATE_RDY ),500 )) {dev_err (dev->mt76.dev,"Timeout for initializing firmware\n" );return -EIO ; }
drivers/net/wireless/mediatek/mt76/mt7615/mcu.h +0 -127
149 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h +398 -2
466 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +9 -8
@@ -613,7 +613,7 @@ mt7915_mcu_alloc_wtbl_req(struct mt7915_dev *dev, struct mt7915_sta *msta,if (!nskb) { nskb =mt76_mcu_msg_alloc (&dev->mt76,NULL , -MT7915_WTBL_UPDATE_MAX_SIZE ); +MT76_CONNAC_WTBL_UPDATE_MAX_SIZE );if (!nskb)return ERR_PTR (-ENOMEM );
@@ -1204,7 +1204,7 @@ mt7915_mcu_sta_ba(struct mt7915_dev *dev, msta->wcid.amsdu = false; skb =mt7915_mcu_alloc_sta_req (dev, mvif, msta, -MT7915_STA_UPDATE_MAX_SIZE ); +MT76_CONNAC_STA_UPDATE_MAX_SIZE );if (IS_ERR (skb))return PTR_ERR (skb);
@@ -1223,7 +1223,7 @@ mt7915_mcu_sta_ba(struct mt7915_dev *dev,return ret; skb =mt7915_mcu_alloc_sta_req (dev, mvif, msta, -MT7915_STA_UPDATE_MAX_SIZE ); +MT76_CONNAC_STA_UPDATE_MAX_SIZE );if (IS_ERR (skb))return PTR_ERR (skb);
@@ -1738,7 +1738,8 @@ int mt7915_mcu_sta_update_hdr_trans(struct mt7915_dev *dev,struct wtbl_req_hdr *wtbl_hdr;struct sk_buff *skb; - skb =mt76_mcu_msg_alloc (&dev->mt76,NULL ,MT7915_WTBL_UPDATE_MAX_SIZE ); + skb =mt76_mcu_msg_alloc (&dev->mt76,NULL , +MT76_CONNAC_WTBL_UPDATE_MAX_SIZE );if (!skb)return -ENOMEM ;
@@ -2090,7 +2091,7 @@ int mt7915_mcu_add_smps(struct mt7915_dev *dev, struct ieee80211_vif *vif,int ret; skb =mt7915_mcu_alloc_sta_req (dev, mvif, msta, -MT7915_STA_UPDATE_MAX_SIZE ); +MT76_CONNAC_STA_UPDATE_MAX_SIZE );if (IS_ERR (skb))return PTR_ERR (skb);
@@ -2303,7 +2304,7 @@ int mt7915_mcu_add_rate_ctrl(struct mt7915_dev *dev, struct ieee80211_vif *vif,int ret; skb =mt7915_mcu_alloc_sta_req (dev, mvif, msta, -MT7915_STA_UPDATE_MAX_SIZE ); +MT76_CONNAC_STA_UPDATE_MAX_SIZE );if (IS_ERR (skb))return PTR_ERR (skb);
@@ -2370,7 +2371,7 @@ int mt7915_mcu_add_sta(struct mt7915_dev *dev, struct ieee80211_vif *vif, msta = sta ? (struct mt7915_sta *)sta->drv_priv : &mvif->sta; skb =mt7915_mcu_alloc_sta_req (dev, mvif, msta, -MT7915_STA_UPDATE_MAX_SIZE ); +MT76_CONNAC_STA_UPDATE_MAX_SIZE );if (IS_ERR (skb))return PTR_ERR (skb);
@@ -2945,7 +2946,7 @@ static int mt7915_load_firmware(struct mt7915_dev *dev)if (!mt76_poll_msec (dev,MT_TOP_MISC ,MT_TOP_MISC_FW_STATE ,FIELD_PREP (MT_TOP_MISC_FW_STATE , -FW_STATE_WACPU_RDY ),1000 )) { +FW_STATE_RDY ),1000 )) {dev_err (dev->mt76.dev,"Timeout for initializing firmware\n" );return -EIO ; }
drivers/net/wireless/mediatek/mt76/mt7915/mcu.h +2 -794
860 lines not on this page · raw message
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h +0 -14
@@ -285,20 +285,6 @@ struct mt7915_dev { } twt; }; -enum { -HW_BSSID_0 =0x0 , -HW_BSSID_1 , -HW_BSSID_2 , -HW_BSSID_3 , -HW_BSSID_MAX =HW_BSSID_3 , -EXT_BSSID_START =0x10 , -EXT_BSSID_1 , -EXT_BSSID_15 =0x1f , -EXT_BSSID_MAX =EXT_BSSID_15 , -REPEATER_BSSID_START =0x20 , -REPEATER_BSSID_MAX =0x3f , -}; -enum {MT_CTX0 ,MT_HIF0 =0x0 ,
drivers/net/wireless/mediatek/mt76/mt7921/mcu.h +0 -128
151 lines not on this page · raw message
Signature · 1 line
2.31.1