|
@@ -1213,6 +1213,7 @@ hal_rx_parse_eht_sig_mumimo_user_info(struct hal_soc *hal_soc, void *tlv,
|
|
|
QDF_MON_STATUS_EHT_USER_STA_ID_SHIFT);
|
|
|
ppdu_info->rx_status.eht_user_info[user_idx] |= (user_info->mcs <<
|
|
|
QDF_MON_STATUS_EHT_USER_MCS_SHIFT);
|
|
|
+ ppdu_info->rx_status.mcs = user_info->mcs;
|
|
|
|
|
|
ppdu_info->rx_status.eht_user_info[user_idx] |= (user_info->coding <<
|
|
|
QDF_MON_STATUS_EHT_USER_CODING_SHIFT);
|
|
@@ -1252,8 +1253,12 @@ hal_rx_parse_eht_sig_non_mumimo_user_info(struct hal_soc *hal_soc, void *tlv,
|
|
|
QDF_MON_STATUS_EHT_USER_STA_ID_SHIFT);
|
|
|
ppdu_info->rx_status.eht_user_info[user_idx] |= (user_info->mcs <<
|
|
|
QDF_MON_STATUS_EHT_USER_MCS_SHIFT);
|
|
|
+ ppdu_info->rx_status.mcs = user_info->mcs;
|
|
|
+
|
|
|
ppdu_info->rx_status.eht_user_info[user_idx] |= (user_info->nss <<
|
|
|
QDF_MON_STATUS_EHT_USER_NSS_SHIFT);
|
|
|
+ ppdu_info->rx_status.nss = user_info->nss + 1;
|
|
|
+
|
|
|
ppdu_info->rx_status.eht_user_info[user_idx] |=
|
|
|
(user_info->beamformed <<
|
|
|
QDF_MON_STATUS_EHT_USER_BEAMFORMING_SHIFT);
|
|
@@ -1361,14 +1366,16 @@ static inline uint32_t
|
|
|
hal_rx_parse_eht_sig_non_ofdma(struct hal_soc *hal_soc, void *tlv,
|
|
|
struct hal_rx_ppdu_info *ppdu_info)
|
|
|
{
|
|
|
+ void *user_info = (void *)((uint8_t *)tlv + 4);
|
|
|
+
|
|
|
hal_rx_parse_usig_overflow(hal_soc, tlv, ppdu_info);
|
|
|
hal_rx_parse_non_ofdma_users(hal_soc, tlv, ppdu_info);
|
|
|
|
|
|
if (hal_rx_is_mu_mimo_user(hal_soc, ppdu_info))
|
|
|
- hal_rx_parse_eht_sig_mumimo_user_info(hal_soc, tlv,
|
|
|
+ hal_rx_parse_eht_sig_mumimo_user_info(hal_soc, user_info,
|
|
|
ppdu_info);
|
|
|
else
|
|
|
- hal_rx_parse_eht_sig_non_mumimo_user_info(hal_soc, tlv,
|
|
|
+ hal_rx_parse_eht_sig_non_mumimo_user_info(hal_soc, user_info,
|
|
|
ppdu_info);
|
|
|
|
|
|
return HAL_TLV_STATUS_PPDU_NOT_DONE;
|
|
@@ -1419,8 +1426,11 @@ hal_rx_parse_cmn_usr_info(struct hal_soc *hal_soc, uint8_t *tlv,
|
|
|
|
|
|
ppdu_info->rx_status.eht_data[0] |= (cmn_usr_info->cp_setting <<
|
|
|
QDF_MON_STATUS_EHT_GI_SHIFT);
|
|
|
+ ppdu_info->rx_status.sgi = cmn_usr_info->cp_setting;
|
|
|
+
|
|
|
ppdu_info->rx_status.eht_data[0] |= (cmn_usr_info->ltf_size <<
|
|
|
QDF_MON_STATUS_EHT_LTF_SHIFT);
|
|
|
+ ppdu_info->rx_status.ltf_size = cmn_usr_info->ltf_size;
|
|
|
|
|
|
return HAL_TLV_STATUS_PPDU_NOT_DONE;
|
|
|
}
|
|
@@ -1499,6 +1509,10 @@ hal_rx_parse_receive_user_info(struct hal_soc *hal_soc, uint8_t *tlv,
|
|
|
(rx_usr_info->dl_ofdma_content_channel <<
|
|
|
QDF_MON_STATUS_EHT_CONTENT_CH_INDEX_SHIFT);
|
|
|
|
|
|
+ ppdu_info->rx_status.reception_type = rx_usr_info->reception_type;
|
|
|
+ ppdu_info->rx_status.is_stbc = rx_usr_info->stbc;
|
|
|
+ ppdu_info->rx_status.ldpc = rx_usr_info->ldpc;
|
|
|
+
|
|
|
if (!(rx_usr_info->reception_type == HAL_RX_TYPE_MU_MIMO ||
|
|
|
rx_usr_info->reception_type == HAL_RX_TYPE_MU_OFDMA ||
|
|
|
rx_usr_info->reception_type == HAL_RX_TYPE_MU_OFMDA_MIMO))
|