[PATCH ath-next] wifi: ath12k: properly set bit for pdev mask for firmware PPDU_STATS request
Vasanthakumar Thiagarajan
vasanthakumar.thiagarajan at oss.qualcomm.com
Tue Jul 1 02:04:14 PDT 2025
On 6/30/2025 12:14 PM, Sarika Sharma wrote:
> Currently, the HTT_H2T_MSG_TYPE_PPDU_STATS_CFG request uses bits
> 8 to 15 as the bitmask for HTT_PPDU_STATS_CFG_PDEV_ID for firmware
> PPDU_STATS. However, bit 8 is reserved for SOC stats, and the actual
> PDEV ID should be encoded using bits 9 to 15. This leads to incorrect
> PDEV ID encoding in the request, causing it to either ignore the
> request or apply it to the wrong PDEV.
>
> Additionally, pdev_mask calculation is done as
> pdev_mask = 1 << (i + 1); (i.e. i= num_rxmda_per_pdev)
> but this is not valid for multiple pdevs(multi-MAC configurations)
> with 1 rxdma per pdev, as this will mask the same value for all pdevs.
> To correctly identify each and exact MAC in multi-MAC configurations,
> the calculation should include ar->pdev_idx:
> pdev_mask = 1 << i + ar->pdev_idx;
>
> Due to these issues, the firmware does not send PPDU_STATS for the
> intended PDEV, leading to inaccurate and incomplete statistics on the
> host. This might trigger certain WARN_ON() conditions in host that
> rely on these statistics.
>
> Hence, change the bitmask for HTT_PPDU_STATS_CFG_PDEV_ID as bit 9
> to 15 to properly fill the pdev id in request message and change
> the pdev_mask calculation to consider ar->pdev_idx to mask pdev
> correctly.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
>
> Signed-off-by: Sarika Sharma <quic_sarishar at quicinc.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan at oss.qualcomm.com>
More information about the ath12k
mailing list