qcacmn: Based on Preamble type setting flags value
1. Moving HT,VHT and HE flags setting into WIFIRX_PPDU_END_USER_STATS_E case. As this TLV already have preamble type populated. 2. NSS value wrongly populated in WIFIRX_PPDU_END_USER_STATS_E case. It has been removed now. Change-Id: I1c530385c585c0ea0dd14a07a6759a85b80e6a10
Cette révision appartient à :
@@ -421,23 +421,6 @@ void hal_rx_mon_hw_desc_get_mpdu_status(void *hw_desc_addr,
|
||||
rs->nr_ant = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, NSS);
|
||||
#endif
|
||||
|
||||
reg_value = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, PKT_TYPE);
|
||||
switch (reg_value) {
|
||||
case HAL_RX_PKT_TYPE_11N:
|
||||
rs->ht_flags = 1;
|
||||
break;
|
||||
case HAL_RX_PKT_TYPE_11AC:
|
||||
rs->vht_flags = 1;
|
||||
reg_value = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5,
|
||||
RECEIVE_BANDWIDTH);
|
||||
rs->vht_flag_values2 = reg_value;
|
||||
break;
|
||||
case HAL_RX_PKT_TYPE_11AX:
|
||||
rs->he_flags = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
reg_value = HAL_RX_GET(rx_msdu_start, RX_MSDU_START_5, RECEPTION_TYPE);
|
||||
rs->beamformed = (reg_value == HAL_RX_RECEPTION_TYPE_MU_MIMO) ? 1 : 0;
|
||||
/* TODO: rs->beamformed should be set for SU beamforming also */
|
||||
@@ -570,8 +553,6 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info)
|
||||
ppdu_info->rx_status.other_msdu_count =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_10,
|
||||
OTHER_MSDU_COUNT);
|
||||
ppdu_info->rx_status.nss =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_1, NSS);
|
||||
|
||||
ppdu_info->rx_status.frame_control_info_valid =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3,
|
||||
@@ -585,6 +566,20 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info)
|
||||
ppdu_info->rx_status.preamble_type =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3,
|
||||
HT_CONTROL_FIELD_PKT_TYPE);
|
||||
switch (ppdu_info->rx_status.preamble_type) {
|
||||
case HAL_RX_PKT_TYPE_11N:
|
||||
ppdu_info->rx_status.ht_flags = 1;
|
||||
break;
|
||||
case HAL_RX_PKT_TYPE_11AC:
|
||||
ppdu_info->rx_status.vht_flags = 1;
|
||||
break;
|
||||
case HAL_RX_PKT_TYPE_11AX:
|
||||
ppdu_info->rx_status.he_flags = 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
ppdu_info->com_info.mpdu_cnt_fcs_ok =
|
||||
HAL_RX_GET(rx_tlv, RX_PPDU_END_USER_STATS_3,
|
||||
MPDU_CNT_FCS_OK);
|
||||
@@ -728,6 +723,8 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info)
|
||||
| ppdu_info->rx_status.nss);
|
||||
ppdu_info->rx_status.bw = HAL_RX_GET(vht_sig_a_info,
|
||||
VHT_SIG_A_INFO_0, BANDWIDTH);
|
||||
ppdu_info->rx_status.vht_flag_values2 =
|
||||
ppdu_info->rx_status.bw;
|
||||
|
||||
break;
|
||||
}
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur