diff options
Diffstat (limited to 'sys/contrib/dev/mediatek/mt76/mt7996/mcu.h')
| -rw-r--r-- | sys/contrib/dev/mediatek/mt76/mt7996/mcu.h | 59 | 
1 files changed, 43 insertions, 16 deletions
| diff --git a/sys/contrib/dev/mediatek/mt76/mt7996/mcu.h b/sys/contrib/dev/mediatek/mt76/mt7996/mcu.h index 43468bcaffc6..130ea95626d5 100644 --- a/sys/contrib/dev/mediatek/mt76/mt7996/mcu.h +++ b/sys/contrib/dev/mediatek/mt76/mt7996/mcu.h @@ -69,7 +69,7 @@ struct mt7996_mcu_rdd_report {  	__le16 tag;  	__le16 len; -	u8 band_idx; +	u8 rdd_idx;  	u8 long_detected;  	u8 constant_prf_detected;  	u8 staggered_prf_detected; @@ -625,6 +625,35 @@ struct sta_rec_hdr_trans {  	u8 mesh;  } __packed; +struct sta_rec_mld_setup { +	__le16 tag; +	__le16 len; +	u8 mld_addr[ETH_ALEN]; +	__le16 primary_id; +	__le16 seconed_id; +	__le16 setup_wcid; +	u8 link_num; +	u8 info; +	u8 __rsv[2]; +	u8 link_info[]; +} __packed; + +struct sta_rec_eht_mld { +	__le16 tag; +	__le16 len; +	u8 nsep; +	u8 __rsv1[2]; +	u8 str_cap[__MT_MAX_BAND]; +	__le16 eml_cap; +	u8 __rsv2[4]; +} __packed; + +struct mld_setup_link { +	__le16 wcid; +	u8 bss_idx; +	u8 __rsv; +} __packed; +  struct hdr_trans_en {  	__le16 tag;  	__le16 len; @@ -798,29 +827,20 @@ enum {  					 sizeof(struct sta_rec_eht) +		\  					 sizeof(struct sta_rec_hdrt) +		\  					 sizeof(struct sta_rec_hdr_trans) +	\ +					 sizeof(struct sta_rec_mld_setup) +	\ +					 sizeof(struct mld_setup_link) * 3 +	\ +					 sizeof(struct sta_rec_eht_mld) +	\  					 sizeof(struct tlv)) -#define MT7996_MAX_BEACON_SIZE		1338  #define MT7996_BEACON_UPDATE_SIZE	(sizeof(struct bss_req_hdr) +		\  					 sizeof(struct bss_bcn_content_tlv) +	\  					 4 + MT_TXD_SIZE +			\  					 sizeof(struct bss_bcn_cntdwn_tlv) +	\  					 sizeof(struct bss_bcn_mbss_tlv)) -#define MT7996_MAX_BSS_OFFLOAD_SIZE	(MT7996_MAX_BEACON_SIZE +		\ +#define MT7996_MAX_BSS_OFFLOAD_SIZE	2048 +#define MT7996_MAX_BEACON_SIZE		(MT7996_MAX_BSS_OFFLOAD_SIZE - \  					 MT7996_BEACON_UPDATE_SIZE) -static inline s8 -mt7996_get_power_bound(struct mt7996_phy *phy, s8 txpower) -{ -	struct mt76_phy *mphy = phy->mt76; -	int n_chains = hweight16(mphy->chainmask); - -	txpower = mt76_get_sar_power(mphy, mphy->chandef.chan, txpower * 2); -	txpower -= mt76_tx_power_nss_delta(n_chains); - -	return txpower; -} -  enum {  	UNI_BAND_CONFIG_RADIO_ENABLE,  	UNI_BAND_CONFIG_RTS_THRESHOLD = 0x08, @@ -908,7 +928,8 @@ enum {  	UNI_CMD_SER_SET_RECOVER_L3_TX_DISABLE,  	UNI_CMD_SER_SET_RECOVER_L3_BF,  	UNI_CMD_SER_SET_RECOVER_L4_MDP, -	UNI_CMD_SER_SET_RECOVER_FULL, +	UNI_CMD_SER_SET_RECOVER_FROM_ETH, +	UNI_CMD_SER_SET_RECOVER_FULL = 8,  	UNI_CMD_SER_SET_SYSTEM_ASSERT,  	/* action */  	UNI_CMD_SER_ENABLE = 1, @@ -917,6 +938,12 @@ enum {  };  enum { +	UNI_CMD_SDO_SET = 1, +	UNI_CMD_SDO_QUERY, +	UNI_CMD_SDO_CP_MODE = 6, +}; + +enum {  	MT7996_SEC_MODE_PLAIN,  	MT7996_SEC_MODE_AES,  	MT7996_SEC_MODE_SCRAMBLE, | 
