[PATCH v5 4/9] wifi: ath12k: Add HAL_PHYRX_OTHER_RECEIVE_INFO TLV parsing support
Vasanthakumar Thiagarajan
quic_vthiagar at quicinc.com
Tue Jan 28 21:46:56 PST 2025
On 1/27/2025 4:17 PM, Karthikeyan Periyasamy wrote:
> Currently, monitor is not enabled. However, in the future, the monitor
> will be enabled. Therefore, add the necessary HAL_PHYRX_OTHER_RECEIVE_INFO
> TLV parsing support in the monitor Rx path, which helps to populate the
> extended Rx statistics.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Co-developed-by: P Praneesh <quic_ppranees at quicinc.com>
> Signed-off-by: P Praneesh <quic_ppranees at quicinc.com>
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
> ---
> drivers/net/wireless/ath/ath12k/dp_mon.c | 7 +++++++
> drivers/net/wireless/ath/ath12k/hal_rx.h | 8 ++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c b/drivers/net/wireless/ath/ath12k/dp_mon.c
> index f9de8c509061..8ded73d87c73 100644
> --- a/drivers/net/wireless/ath/ath12k/dp_mon.c
> +++ b/drivers/net/wireless/ath/ath12k/dp_mon.c
> @@ -1630,6 +1630,13 @@ ath12k_dp_mon_rx_parse_status_tlv(struct ath12k *ar,
> HAL_RX_PHYRX_RSSI_LEGACY_INFO_INFO0_RX_BW);
> break;
> }
> + case HAL_PHYRX_OTHER_RECEIVE_INFO: {
> + const struct hal_phyrx_common_user_info *cmn_usr_info = tlv_data;
> +
> + ppdu_info->gi = le32_get_bits(cmn_usr_info->info0,
> + HAL_RX_PHY_CMN_USER_INFO0_GI);
> + break;
> + }
> case HAL_RX_PPDU_START_USER_INFO:
> ath12k_dp_mon_hal_rx_parse_user_info(tlv_data, userid, ppdu_info);
> break;
> diff --git a/drivers/net/wireless/ath/ath12k/hal_rx.h b/drivers/net/wireless/ath/ath12k/hal_rx.h
> index 765b53741861..445d1c33b41f 100644
> --- a/drivers/net/wireless/ath/ath12k/hal_rx.h
> +++ b/drivers/net/wireless/ath/ath12k/hal_rx.h
> @@ -683,6 +683,14 @@ struct hal_rx_resp_req_info {
> #define HAL_RX_MPDU_ERR_MPDU_LEN BIT(6)
> #define HAL_RX_MPDU_ERR_UNENCRYPTED_FRAME BIT(7)
>
> +#define HAL_RX_PHY_CMN_USER_INFO0_GI GENMASK(17, 16)
> +
> +struct hal_phyrx_common_user_info {
> + __le32 rsvd[2];
> + __le32 info0;
> + __le32 rsvd1;
> +} __packed;
> +
> #define HAL_RX_EHT_SIG_NDP_CMN_INFO0_SPATIAL_REUSE GENMASK(3, 0)
> #define HAL_RX_EHT_SIG_NDP_CMN_INFO0_GI_LTF GENMASK(5, 4)
> #define HAL_RX_EHT_SIG_NDP_CMN_INFO0_NUM_LTF_SYM GENMASK(8, 6)
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan at oss.qualcomm.com>
More information about the ath12k
mailing list