On Thu Jun 12, 2025 at 1:46 PM CEST, Sowmiya Sree Elavalagan wrote: > From: Sivashankari Madhavan <quic_sivamadh@xxxxxxxxxxx> > > Currently, the ACK RSSI value is not shown in station dump. Enable WMI > resource flag for ACK RSSI in WMI INIT command to add ACK RSSI value in > management TX completion event from WMI. Update ACK RSSI value obtained > in management and data frame completion path to ieee80211_tx_info. Also > advertise NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT flag during hardware > register to mac80211 layer so that ACK RSSI is added to station dump > message. > > Example output : > Station 00:03:7f:01:5c:4b (on wlp88s0) > inactive time: 46584 ms > rx bytes: 955 > rx packets: 10 > tx bytes: 769 > tx packets: 6 > tx retries: 81 > tx failed: 0 > rx drop misc: 0 > signal: -39 dBm > signal avg: -40 dBm > tx bitrate: 6.0 MBit/s > tx duration: 1185 us > rx bitrate: 309.7 MBit/s 40MHz HE-MCS 6 HE-NSS 2 HE-GI 0 HE-DCM 0 > rx duration: 0 us > last ack signal:-41 dBm > avg ack signal: -40 dBm > authorized: yes > authenticated: yes > ....... > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1 > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > > Signed-off-by: Sivashankari Madhavan <quic_sivamadh@xxxxxxxxxxx> > Signed-off-by: Sowmiya Sree Elavalagan <quic_ssreeela@xxxxxxxxxxx> [...] > @@ -5651,6 +5655,8 @@ static int ath12k_pull_mgmt_tx_compl_param_tlv(struct ath12k_base *ab, > param->pdev_id = ev->pdev_id; > param->desc_id = ev->desc_id; > param->status = ev->status; > + param->ppdu_id = ev->ppdu_id; Hello, It seems this ppdu_id is retrieved from frimware but not used in this patchset Is this by design ? > + param->ack_rssi = ev->ack_rssi; > > kfree(tb); > return 0; > @@ -6552,7 +6558,8 @@ static void ath12k_mgmt_tx_compl_event(struct ath12k_base *ab, struct sk_buff *s > } > > wmi_process_mgmt_tx_comp(ar, le32_to_cpu(tx_compl_param.desc_id), > - le32_to_cpu(tx_compl_param.status)); > + le32_to_cpu(tx_compl_param.status), > + le32_to_cpu(tx_compl_param.ack_rssi)); > > ath12k_dbg(ab, ATH12K_DBG_MGMT, > "mgmt tx compl ev pdev_id %d, desc_id %d, status %d", > diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h > index ac18f75e0449..49010367dc06 100644 > --- a/drivers/net/wireless/ath/ath12k/wmi.h > +++ b/drivers/net/wireless/ath/ath12k/wmi.h > @@ -2486,6 +2486,7 @@ struct wmi_init_cmd { > #define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION GENMASK(5, 4) > #define WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 BIT(5) > #define WMI_RSRC_CFG_FLAGS2_CALC_NEXT_DTIM_COUNT_SET BIT(9) > +#define WMI_RSRC_CFG_FLAG1_ACK_RSSI BIT(18) > > struct ath12k_wmi_resource_config_params { > __le32 tlv_header; > @@ -4445,6 +4446,8 @@ struct wmi_mgmt_tx_compl_event { > __le32 desc_id; > __le32 status; > __le32 pdev_id; > + __le32 ppdu_id; > + __le32 ack_rssi; > } __packed; > > struct wmi_scan_event { > > base-commit: 9f92c4a01c5268f57fa19dd7cbcb1f59b0e66da6