qcacmn: Update radiotap header with LTF symbol value
As per the updated spec, 11AX PPDU's HE SIG_A data-5 field has added LTF symbol field which is 3bits in size. Add logic to parse the TLV coming from hardware and update the LTF symbol value. Change-Id: I05e2ff8ece7e14dc22ce747e9a9b906bf130462f CRs-Fixed: 2235233
This commit is contained in:
@@ -958,8 +958,13 @@ hal_rx_status_get_tlv_info(void *rx_tlv_hdr, struct hal_rx_ppdu_info *ppdu_info)
|
|||||||
ppdu_info->rx_status.sgi = he_gi;
|
ppdu_info->rx_status.sgi = he_gi;
|
||||||
value = he_gi << QDF_MON_STATUS_GI_SHIFT;
|
value = he_gi << QDF_MON_STATUS_GI_SHIFT;
|
||||||
ppdu_info->rx_status.he_data5 |= value;
|
ppdu_info->rx_status.he_data5 |= value;
|
||||||
value = he_ltf << QDF_MON_STATUS_HE_LTF_SHIFT;
|
value = he_ltf << QDF_MON_STATUS_HE_LTF_SIZE_SHIFT;
|
||||||
ppdu_info->rx_status.he_data5 |= value;
|
ppdu_info->rx_status.he_data5 |= value;
|
||||||
|
|
||||||
|
value = HAL_RX_GET(he_sig_a_su_info, HE_SIG_A_SU_INFO_0, NSTS);
|
||||||
|
value = (value << QDF_MON_STATUS_HE_LTF_SYM_SHIFT);
|
||||||
|
ppdu_info->rx_status.he_data5 |= value;
|
||||||
|
|
||||||
value = HAL_RX_GET(he_sig_a_su_info, HE_SIG_A_SU_INFO_1,
|
value = HAL_RX_GET(he_sig_a_su_info, HE_SIG_A_SU_INFO_1,
|
||||||
PACKET_EXTENSION_A_FACTOR);
|
PACKET_EXTENSION_A_FACTOR);
|
||||||
value = value << QDF_MON_STATUS_PRE_FEC_PAD_SHIFT;
|
value = value << QDF_MON_STATUS_PRE_FEC_PAD_SHIFT;
|
||||||
@@ -1078,7 +1083,12 @@ hal_rx_status_get_tlv_info(void *rx_tlv_hdr, struct hal_rx_ppdu_info *ppdu_info)
|
|||||||
value = he_gi << QDF_MON_STATUS_GI_SHIFT;
|
value = he_gi << QDF_MON_STATUS_GI_SHIFT;
|
||||||
ppdu_info->rx_status.he_data5 |= value;
|
ppdu_info->rx_status.he_data5 |= value;
|
||||||
|
|
||||||
value = he_ltf << QDF_MON_STATUS_HE_LTF_SHIFT;
|
value = he_ltf << QDF_MON_STATUS_HE_LTF_SIZE_SHIFT;
|
||||||
|
ppdu_info->rx_status.he_data5 |= value;
|
||||||
|
|
||||||
|
value = HAL_RX_GET(he_sig_a_mu_dl_info,
|
||||||
|
HE_SIG_A_MU_DL_INFO_1, NUM_LTF_SYMBOLS);
|
||||||
|
value = (value << QDF_MON_STATUS_HE_LTF_SYM_SHIFT);
|
||||||
ppdu_info->rx_status.he_data5 |= value;
|
ppdu_info->rx_status.he_data5 |= value;
|
||||||
|
|
||||||
value = HAL_RX_GET(he_sig_a_mu_dl_info, HE_SIG_A_MU_DL_INFO_1,
|
value = HAL_RX_GET(he_sig_a_mu_dl_info, HE_SIG_A_MU_DL_INFO_1,
|
||||||
|
@@ -385,7 +385,8 @@ struct mon_rx_status {
|
|||||||
|
|
||||||
/* HE radiotap data5 */
|
/* HE radiotap data5 */
|
||||||
#define QDF_MON_STATUS_GI_SHIFT 4
|
#define QDF_MON_STATUS_GI_SHIFT 4
|
||||||
#define QDF_MON_STATUS_HE_LTF_SHIFT 8
|
#define QDF_MON_STATUS_HE_LTF_SIZE_SHIFT 6
|
||||||
|
#define QDF_MON_STATUS_HE_LTF_SYM_SHIFT 8
|
||||||
#define QDF_MON_STATUS_TXBF_SHIFT 14
|
#define QDF_MON_STATUS_TXBF_SHIFT 14
|
||||||
#define QDF_MON_STATUS_PE_DISAMBIGUITY_SHIFT 15
|
#define QDF_MON_STATUS_PE_DISAMBIGUITY_SHIFT 15
|
||||||
#define QDF_MON_STATUS_PRE_FEC_PAD_SHIFT 12
|
#define QDF_MON_STATUS_PRE_FEC_PAD_SHIFT 12
|
||||||
|
Reference in New Issue
Block a user