diff mbox series

[ath-next] wifi: ath12k: Fix invalid RSSI values in station dump

Message ID 20250424055104.2503723-1-quic_svardhin@quicinc.com
State New
Headers show
Series [ath-next] wifi: ath12k: Fix invalid RSSI values in station dump | expand

Commit Message

Sowjanya vardhineni April 24, 2025, 5:51 a.m. UTC
From: P Praneesh <praneesh.p@oss.qualcomm.com>

When processing a "station dump" command, the driver retrieves RSSI
values from the HAL_PHYRX_RSSI_LEGACY TLV received from the monitor
destination ring, and reports them to userspace. Currently, the RSSI
values reported are improper because the hardware has not been
configured to update them properly.

To fix this, enable the HTT_RX_FILTER_TLV_FLAGS_PPDU_START_USER_INFO in
the filter setup to ensure the correct RSSI values are returned in the
HAL_PHYRX_RSSI_LEGACY TLV, resulting in correct RSSI values being
reported to userspace.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00218-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Signed-off-by: P Praneesh <praneesh.p@oss.qualcomm.com>
Signed-off-by: Sowjanya vardhineni <quic_svardhin@quicinc.com>
---
 drivers/net/wireless/ath/ath12k/mac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


base-commit: 12b93f7c6d101d22e0ea3bf4a240699746c79117

Comments

Mahendran P April 29, 2025, 4:37 a.m. UTC | #1
On 4/24/2025 11:21 AM, Sowjanya vardhineni wrote:
> From: P Praneesh <praneesh.p@oss.qualcomm.com>
> 
> When processing a "station dump" command, the driver retrieves RSSI
> values from the HAL_PHYRX_RSSI_LEGACY TLV received from the monitor
> destination ring, and reports them to userspace. Currently, the RSSI
> values reported are improper because the hardware has not been
> configured to update them properly.
> 
> To fix this, enable the HTT_RX_FILTER_TLV_FLAGS_PPDU_START_USER_INFO in
> the filter setup to ensure the correct RSSI values are returned in the
> HAL_PHYRX_RSSI_LEGACY TLV, resulting in correct RSSI values being
> reported to userspace.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00218-QCAHKSWPL_SILICONZ-1
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
> 
> Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
> Signed-off-by: P Praneesh <praneesh.p@oss.qualcomm.com>
> Signed-off-by: Sowjanya vardhineni <quic_svardhin@quicinc.com>
> ---
>  drivers/net/wireless/ath/ath12k/mac.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
> index b19e30d95560..fa952f6ca4a3 100644
> --- a/drivers/net/wireless/ath/ath12k/mac.c
> +++ b/drivers/net/wireless/ath/ath12k/mac.c
> @@ -229,7 +229,8 @@ ath12k_phymodes[NUM_NL80211_BANDS][ATH12K_CHAN_WIDTH_NUM] = {
>  const struct htt_rx_ring_tlv_filter ath12k_mac_mon_status_filter_default = {
>  	.rx_filter = HTT_RX_FILTER_TLV_FLAGS_MPDU_START |
>  		     HTT_RX_FILTER_TLV_FLAGS_PPDU_END |
> -		     HTT_RX_FILTER_TLV_FLAGS_PPDU_END_STATUS_DONE,
> +		     HTT_RX_FILTER_TLV_FLAGS_PPDU_END_STATUS_DONE |
> +		     HTT_RX_FILTER_TLV_FLAGS_PPDU_START_USER_INFO,
>  	.pkt_filter_flags0 = HTT_RX_FP_MGMT_FILTER_FLAGS0,
>  	.pkt_filter_flags1 = HTT_RX_FP_MGMT_FILTER_FLAGS1,
>  	.pkt_filter_flags2 = HTT_RX_FP_CTRL_FILTER_FLASG2,
> 
> base-commit: 12b93f7c6d101d22e0ea3bf4a240699746c79117

Reviewed-by: Mahendran P <quic_mahep@quicinc.com>
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c
index b19e30d95560..fa952f6ca4a3 100644
--- a/drivers/net/wireless/ath/ath12k/mac.c
+++ b/drivers/net/wireless/ath/ath12k/mac.c
@@ -229,7 +229,8 @@  ath12k_phymodes[NUM_NL80211_BANDS][ATH12K_CHAN_WIDTH_NUM] = {
 const struct htt_rx_ring_tlv_filter ath12k_mac_mon_status_filter_default = {
 	.rx_filter = HTT_RX_FILTER_TLV_FLAGS_MPDU_START |
 		     HTT_RX_FILTER_TLV_FLAGS_PPDU_END |
-		     HTT_RX_FILTER_TLV_FLAGS_PPDU_END_STATUS_DONE,
+		     HTT_RX_FILTER_TLV_FLAGS_PPDU_END_STATUS_DONE |
+		     HTT_RX_FILTER_TLV_FLAGS_PPDU_START_USER_INFO,
 	.pkt_filter_flags0 = HTT_RX_FP_MGMT_FILTER_FLAGS0,
 	.pkt_filter_flags1 = HTT_RX_FP_MGMT_FILTER_FLAGS1,
 	.pkt_filter_flags2 = HTT_RX_FP_CTRL_FILTER_FLASG2,