Currently, the transmit rate, the receive rate and signal strength of "iw dev xxx station dump" always show an invalid value. This is because ath12k has no logic to handle this relevant information. To solve this issue, ath12k parses the information passed by the firmware and passes it to mac80211. After that, "iw dev xxx station dump" show the correct value. Such as: Station 00:03:7f:12:03:03 (on wlo1) inactive time: 600 ms rx bytes: 4642228 rx packets: 23796 tx bytes: 933967 tx packets: 8761 tx retries: 66 tx failed: 0 beacon loss: 0 beacon rx: 8925 rx drop misc: 191 signal: -20 dBm beacon signal avg: -18 dBm tx bitrate: 1441.1 MBit/s 80MHz EHT-MCS 13 EHT-NSS 2 EHT-GI 0 tx duration: 0 us rx bitrate: 1801.4 MBit/s 80MHz EHT-MCS 11 EHT-NSS 3 EHT-GI 0 rx duration: 0 us Depends-on:[v6,0/3] wifi: ath12k: prepare vif and sta datastructure Link: https://patchwork.kernel.org/project/linux-wireless/cover/20240711165511.3100433-1-quic_ramess@xxxxxxxxxxx/ v7: 1.use switch statement 2.use guard(mutex)(&ah->hw_mutex) 3.use info0 = le32_to_cpu(desc->rate_stats.info0) and then use u32_get_bits() everywhere 4.replace time with time_left v6: 1.rebase against wifi: ath12k: prepare sta data structure for MLO handling v5: 1.use ieee80211_find_sta_by_ifaddr() to avoid using base_lock v4: 1.rebase ath-pending-202404181533 2.change ATH12K_EHT_MCS_MAX from 13 to 15 v3: 1.change wmi_vdev_stats_event to wmi_vdev_stats_params v2: 1.change copyright 2.change name according Naming conventions for structures Lingbo Kong (3): wifi: ath12k: report station mode transmit rate wifi: ath12k: report station mode receive rate for IEEE 802.11be wifi: ath12k: report station mode signal strength drivers/net/wireless/ath/ath12k/core.h | 5 + drivers/net/wireless/ath/ath12k/dp_rx.c | 20 +++- drivers/net/wireless/ath/ath12k/dp_rx.h | 3 + drivers/net/wireless/ath/ath12k/dp_tx.c | 139 +++++++++++++++++++++- drivers/net/wireless/ath/ath12k/hal_rx.h | 5 +- drivers/net/wireless/ath/ath12k/hal_tx.h | 7 +- drivers/net/wireless/ath/ath12k/mac.c | 136 ++++++++++++++++++++- drivers/net/wireless/ath/ath12k/mac.h | 4 +- drivers/net/wireless/ath/ath12k/rx_desc.h | 3 + drivers/net/wireless/ath/ath12k/wmi.c | 132 ++++++++++++++++++++ drivers/net/wireless/ath/ath12k/wmi.h | 48 ++++++++ 11 files changed, 492 insertions(+), 10 deletions(-) base-commit: db1ce56e6e1d395dd42a3cd6332a871d9be59c45 prerequisite-patch-id: f87638504028796f96a183930bf1799f55b9d268 prerequisite-patch-id: dc15d6df954760395ff72d9bcf14aace5adefbe7 prerequisite-patch-id: b43d0571ad6b42c80a16e65dc2c54657f3cd3dc5 -- 2.34.1