[PATCH v2 2/4] wifi: mt76: mt7996: Add mcu commands for getting sta tx statistic

Felix Fietkau nbd at nbd.name
Mon Sep 18 03:14:50 PDT 2023


On 01.09.23 08:30, Yi-Chia Hsieh wrote:
> Per peer Tx/Rx statistic can only be obtained by querying WM when WED is
> on. This patch switches to periodic event reporting in the case of WED
> being enabled.
> 
> Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh at mediatek.com>
> ---
> v2: split series
> ---
>   .../wireless/mediatek/mt76/mt76_connac_mcu.h  | 15 ++++
>   .../net/wireless/mediatek/mt76/mt7996/mac.c   |  5 ++
>   .../net/wireless/mediatek/mt76/mt7996/main.c  | 15 ++++
>   .../net/wireless/mediatek/mt76/mt7996/mcu.c   | 68 +++++++++++++++++++
>   .../net/wireless/mediatek/mt76/mt7996/mcu.h   | 26 +++++++
>   .../wireless/mediatek/mt76/mt7996/mt7996.h    |  1 +
>   6 files changed, 130 insertions(+)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
> index 078f82858621..5aece2046a9d 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.h
> @@ -153,6 +153,32 @@ struct mt7996_mcu_mib {
>   	__le64 data;
>   } __packed;
>   
> +struct mt7996_mcu_all_sta_info_event {
> +	u8 rsv[4];
> +	__le16 tag;
> +	__le16 len;
> +	u8 more;
> +	u8 rsv2;
> +	__le16 sta_num;
> +	u8 rsv3[2];
> +
> +	union {
> +		struct {
> +			__le16 wlan_idx;
> +			u8 rsv[2];
> +			__le32 tx_bytes[IEEE80211_NUM_ACS];
> +			__le32 rx_bytes[IEEE80211_NUM_ACS];
> +		} adm_stat[];
> +
> +		struct {
> +			__le16 wlan_idx;
> +			u8 rsv[2];
> +			__le32 tx_msdu_cnt;
> +			__le32 rx_msdu_cnt;
> +		} msdu_cnt[];
> +	};
> +} __packed;
With this, I'm getting compiler errors like this one:

      mcu.h:171:19: error: flexible array member in union


- Felix



More information about the Linux-mediatek mailing list