Lines Matching refs:ppdu_info

836 ath11k_hal_rx_populate_mu_user_info(void *rx_tlv, struct hal_rx_mon_ppdu_info *ppdu_info,  in ath11k_hal_rx_populate_mu_user_info()  argument
839 rx_user_status->ast_index = ppdu_info->ast_index; in ath11k_hal_rx_populate_mu_user_info()
840 rx_user_status->tid = ppdu_info->tid; in ath11k_hal_rx_populate_mu_user_info()
842 ppdu_info->tcp_msdu_count; in ath11k_hal_rx_populate_mu_user_info()
844 ppdu_info->udp_msdu_count; in ath11k_hal_rx_populate_mu_user_info()
846 ppdu_info->other_msdu_count; in ath11k_hal_rx_populate_mu_user_info()
847 rx_user_status->frame_control = ppdu_info->frame_control; in ath11k_hal_rx_populate_mu_user_info()
849 ppdu_info->frame_control_info_valid; in ath11k_hal_rx_populate_mu_user_info()
851 ppdu_info->data_sequence_control_info_valid; in ath11k_hal_rx_populate_mu_user_info()
853 ppdu_info->first_data_seq_ctrl; in ath11k_hal_rx_populate_mu_user_info()
854 rx_user_status->preamble_type = ppdu_info->preamble_type; in ath11k_hal_rx_populate_mu_user_info()
855 rx_user_status->ht_flags = ppdu_info->ht_flags; in ath11k_hal_rx_populate_mu_user_info()
856 rx_user_status->vht_flags = ppdu_info->vht_flags; in ath11k_hal_rx_populate_mu_user_info()
857 rx_user_status->he_flags = ppdu_info->he_flags; in ath11k_hal_rx_populate_mu_user_info()
858 rx_user_status->rs_flags = ppdu_info->rs_flags; in ath11k_hal_rx_populate_mu_user_info()
861 ppdu_info->num_mpdu_fcs_ok; in ath11k_hal_rx_populate_mu_user_info()
863 ppdu_info->num_mpdu_fcs_err; in ath11k_hal_rx_populate_mu_user_info()
865 ath11k_hal_rx_populate_byte_count(rx_tlv, ppdu_info, rx_user_status); in ath11k_hal_rx_populate_mu_user_info()
876 struct hal_rx_mon_ppdu_info *ppdu_info, in ath11k_hal_rx_parse_mon_status_tlv() argument
888 ppdu_info->ppdu_id = in ath11k_hal_rx_parse_mon_status_tlv()
891 ppdu_info->chan_num = __le32_to_cpu(ppdu_start->chan_num); in ath11k_hal_rx_parse_mon_status_tlv()
892 ppdu_info->ppdu_ts = __le32_to_cpu(ppdu_start->ppdu_start_ts); in ath11k_hal_rx_parse_mon_status_tlv()
902 ppdu_info->ast_index = in ath11k_hal_rx_parse_mon_status_tlv()
905 ppdu_info->tid = in ath11k_hal_rx_parse_mon_status_tlv()
908 ppdu_info->tcp_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
911 ppdu_info->udp_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
914 ppdu_info->other_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
917 ppdu_info->tcp_ack_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
920 ppdu_info->preamble_type = in ath11k_hal_rx_parse_mon_status_tlv()
922 ppdu_info->num_mpdu_fcs_ok = in ath11k_hal_rx_parse_mon_status_tlv()
925 ppdu_info->num_mpdu_fcs_err = in ath11k_hal_rx_parse_mon_status_tlv()
928 switch (ppdu_info->preamble_type) { in ath11k_hal_rx_parse_mon_status_tlv()
930 ppdu_info->ht_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
933 ppdu_info->vht_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
936 ppdu_info->he_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
944 &ppdu_info->userstats; in ath11k_hal_rx_parse_mon_status_tlv()
947 ath11k_hal_rx_populate_mu_user_info(tlv_data, ppdu_info, in ath11k_hal_rx_parse_mon_status_tlv()
950 ppdu_info->userstats.mpdu_fcs_ok_bitmap[0] = in ath11k_hal_rx_parse_mon_status_tlv()
952 ppdu_info->userstats.mpdu_fcs_ok_bitmap[1] = in ath11k_hal_rx_parse_mon_status_tlv()
960 ppdu_info->userstats.mpdu_fcs_ok_bitmap[2] = eu_stats->info1; in ath11k_hal_rx_parse_mon_status_tlv()
961 ppdu_info->userstats.mpdu_fcs_ok_bitmap[3] = eu_stats->info2; in ath11k_hal_rx_parse_mon_status_tlv()
962 ppdu_info->userstats.mpdu_fcs_ok_bitmap[4] = eu_stats->info3; in ath11k_hal_rx_parse_mon_status_tlv()
963 ppdu_info->userstats.mpdu_fcs_ok_bitmap[5] = eu_stats->info4; in ath11k_hal_rx_parse_mon_status_tlv()
964 ppdu_info->userstats.mpdu_fcs_ok_bitmap[6] = eu_stats->info5; in ath11k_hal_rx_parse_mon_status_tlv()
965 ppdu_info->userstats.mpdu_fcs_ok_bitmap[7] = eu_stats->info6; in ath11k_hal_rx_parse_mon_status_tlv()
975 ppdu_info->mcs = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO0_MCS, info0); in ath11k_hal_rx_parse_mon_status_tlv()
976 ppdu_info->bw = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO0_BW, info0); in ath11k_hal_rx_parse_mon_status_tlv()
977 ppdu_info->is_stbc = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO1_STBC, in ath11k_hal_rx_parse_mon_status_tlv()
979 ppdu_info->ldpc = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO1_FEC_CODING, info1); in ath11k_hal_rx_parse_mon_status_tlv()
980 ppdu_info->gi = info1 & HAL_RX_HT_SIG_INFO_INFO1_GI; in ath11k_hal_rx_parse_mon_status_tlv()
982 switch (ppdu_info->mcs) { in ath11k_hal_rx_parse_mon_status_tlv()
984 ppdu_info->nss = 1; in ath11k_hal_rx_parse_mon_status_tlv()
987 ppdu_info->nss = 2; in ath11k_hal_rx_parse_mon_status_tlv()
990 ppdu_info->nss = 3; in ath11k_hal_rx_parse_mon_status_tlv()
993 ppdu_info->nss = 4; in ath11k_hal_rx_parse_mon_status_tlv()
997 if (ppdu_info->nss > 1) in ath11k_hal_rx_parse_mon_status_tlv()
998 ppdu_info->mcs = ppdu_info->mcs % 8; in ath11k_hal_rx_parse_mon_status_tlv()
1000 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1007 ppdu_info->rate = FIELD_GET(HAL_RX_LSIG_B_INFO_INFO0_RATE, in ath11k_hal_rx_parse_mon_status_tlv()
1009 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1016 ppdu_info->rate = FIELD_GET(HAL_RX_LSIG_A_INFO_INFO0_RATE, in ath11k_hal_rx_parse_mon_status_tlv()
1018 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1031 ppdu_info->ldpc = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_SU_MU_CODING, in ath11k_hal_rx_parse_mon_status_tlv()
1033 ppdu_info->mcs = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_MCS, in ath11k_hal_rx_parse_mon_status_tlv()
1039 ppdu_info->gi = HAL_RX_GI_0_8_US; in ath11k_hal_rx_parse_mon_status_tlv()
1043 ppdu_info->gi = HAL_RX_GI_0_4_US; in ath11k_hal_rx_parse_mon_status_tlv()
1047 ppdu_info->is_stbc = info0 & HAL_RX_VHT_SIG_A_INFO_INFO0_STBC; in ath11k_hal_rx_parse_mon_status_tlv()
1049 if (ppdu_info->is_stbc && nsts > 0) in ath11k_hal_rx_parse_mon_status_tlv()
1052 ppdu_info->nss = (nsts & VHT_SIG_SU_NSS_MASK) + 1; in ath11k_hal_rx_parse_mon_status_tlv()
1053 ppdu_info->bw = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO0_BW, in ath11k_hal_rx_parse_mon_status_tlv()
1055 ppdu_info->beamformed = info1 & in ath11k_hal_rx_parse_mon_status_tlv()
1060 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1062 ppdu_info->reception_type = in ath11k_hal_rx_parse_mon_status_tlv()
1064 ppdu_info->vht_flag_values5 = group_id; in ath11k_hal_rx_parse_mon_status_tlv()
1065 ppdu_info->vht_flag_values3[0] = (((ppdu_info->mcs) << 4) | in ath11k_hal_rx_parse_mon_status_tlv()
1066 ppdu_info->nss); in ath11k_hal_rx_parse_mon_status_tlv()
1067 ppdu_info->vht_flag_values2 = ppdu_info->bw; in ath11k_hal_rx_parse_mon_status_tlv()
1068 ppdu_info->vht_flag_values4 = in ath11k_hal_rx_parse_mon_status_tlv()
1076 ppdu_info->he_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
1083 ppdu_info->he_data1 = IEEE80211_RADIOTAP_HE_DATA1_FORMAT_TRIG; in ath11k_hal_rx_parse_mon_status_tlv()
1085 ppdu_info->he_data1 = IEEE80211_RADIOTAP_HE_DATA1_FORMAT_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1087 ppdu_info->he_data1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1099 ppdu_info->he_data2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1109 ppdu_info->he_data3 = in ath11k_hal_rx_parse_mon_status_tlv()
1112 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1115 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1118 ppdu_info->mcs = value; in ath11k_hal_rx_parse_mon_status_tlv()
1119 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1123 ppdu_info->dcm = he_dcm; in ath11k_hal_rx_parse_mon_status_tlv()
1124 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1127 ppdu_info->ldpc = (value == HAL_RX_SU_MU_CODING_LDPC) ? 1 : 0; in ath11k_hal_rx_parse_mon_status_tlv()
1128 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1131 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1134 ppdu_info->is_stbc = he_stbc; in ath11k_hal_rx_parse_mon_status_tlv()
1135 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1140 ppdu_info->he_data4 = in ath11k_hal_rx_parse_mon_status_tlv()
1145 ppdu_info->bw = value; in ath11k_hal_rx_parse_mon_status_tlv()
1146 ppdu_info->he_data5 = in ath11k_hal_rx_parse_mon_status_tlv()
1172 ppdu_info->gi = he_gi; in ath11k_hal_rx_parse_mon_status_tlv()
1174 ppdu_info->he_data5 |= FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA5_GI, he_gi); in ath11k_hal_rx_parse_mon_status_tlv()
1175 ppdu_info->ltf_size = he_ltf; in ath11k_hal_rx_parse_mon_status_tlv()
1176 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1181 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1185 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1189 ppdu_info->beamformed = value; in ath11k_hal_rx_parse_mon_status_tlv()
1190 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1193 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1199 ppdu_info->nss = value; in ath11k_hal_rx_parse_mon_status_tlv()
1200 ppdu_info->he_data6 = in ath11k_hal_rx_parse_mon_status_tlv()
1203 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1206 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1209 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1219 ppdu_info->he_mu_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
1221 ppdu_info->he_data1 = IEEE80211_RADIOTAP_HE_DATA1_FORMAT_MU; in ath11k_hal_rx_parse_mon_status_tlv()
1222 ppdu_info->he_data1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1230 ppdu_info->he_data2 = in ath11k_hal_rx_parse_mon_status_tlv()
1240 ppdu_info->he_data3 = in ath11k_hal_rx_parse_mon_status_tlv()
1244 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1248 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1253 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1258 ppdu_info->he_data4 = in ath11k_hal_rx_parse_mon_status_tlv()
1263 ppdu_info->bw = value; in ath11k_hal_rx_parse_mon_status_tlv()
1264 ppdu_info->he_data5 = in ath11k_hal_rx_parse_mon_status_tlv()
1286 ppdu_info->gi = he_gi; in ath11k_hal_rx_parse_mon_status_tlv()
1288 ppdu_info->he_data5 |= FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA5_GI, he_gi); in ath11k_hal_rx_parse_mon_status_tlv()
1289 ppdu_info->ltf_size = he_ltf; in ath11k_hal_rx_parse_mon_status_tlv()
1290 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1295 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1300 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1305 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1311 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1315 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1320 ppdu_info->he_flags1 = in ath11k_hal_rx_parse_mon_status_tlv()
1328 ppdu_info->he_flags1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1332 ppdu_info->he_flags1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1337 ppdu_info->he_flags2 = in ath11k_hal_rx_parse_mon_status_tlv()
1341 ppdu_info->he_flags2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1345 ppdu_info->he_flags2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1349 ppdu_info->he_flags2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1353 ppdu_info->is_stbc = info1 & in ath11k_hal_rx_parse_mon_status_tlv()
1355 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_MIMO; in ath11k_hal_rx_parse_mon_status_tlv()
1367 ppdu_info->ru_alloc = in ath11k_hal_rx_parse_mon_status_tlv()
1369 ppdu_info->he_RU[0] = ru_tones; in ath11k_hal_rx_parse_mon_status_tlv()
1370 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_MIMO; in ath11k_hal_rx_parse_mon_status_tlv()
1379 ppdu_info->he_data1 |= IEEE80211_RADIOTAP_HE_DATA1_DATA_MCS_KNOWN | in ath11k_hal_rx_parse_mon_status_tlv()
1382 ppdu_info->mcs = in ath11k_hal_rx_parse_mon_status_tlv()
1384 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1385 FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA3_DATA_MCS, ppdu_info->mcs); in ath11k_hal_rx_parse_mon_status_tlv()
1388 ppdu_info->ldpc = value; in ath11k_hal_rx_parse_mon_status_tlv()
1389 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1393 ppdu_info->he_data4 |= in ath11k_hal_rx_parse_mon_status_tlv()
1396 ppdu_info->nss = in ath11k_hal_rx_parse_mon_status_tlv()
1406 ppdu_info->he_data1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1412 ppdu_info->he_data2 |= IEEE80211_RADIOTAP_HE_DATA2_TXBF_KNOWN; in ath11k_hal_rx_parse_mon_status_tlv()
1414 ppdu_info->mcs = in ath11k_hal_rx_parse_mon_status_tlv()
1417 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1418 FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA3_DATA_MCS, ppdu_info->mcs); in ath11k_hal_rx_parse_mon_status_tlv()
1422 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1426 ppdu_info->ldpc = value; in ath11k_hal_rx_parse_mon_status_tlv()
1427 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1432 ppdu_info->he_data4 |= in ath11k_hal_rx_parse_mon_status_tlv()
1435 ppdu_info->nss = in ath11k_hal_rx_parse_mon_status_tlv()
1438 ppdu_info->beamformed = in ath11k_hal_rx_parse_mon_status_tlv()
1440 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_OFDMA; in ath11k_hal_rx_parse_mon_status_tlv()
1454 ppdu_info->rssi_comb = in ath11k_hal_rx_parse_mon_status_tlv()
1460 ppdu_info->rssi_chain_pri20[i] = in ath11k_hal_rx_parse_mon_status_tlv()
1474 ppdu_info->peer_id = peer_id; in ath11k_hal_rx_parse_mon_status_tlv()
1480 ppdu_info->rx_duration = in ath11k_hal_rx_parse_mon_status_tlv()
1483 ppdu_info->tsft = __le32_to_cpu(ppdu_rx_duration->rsvd0[1]); in ath11k_hal_rx_parse_mon_status_tlv()
1484 ppdu_info->tsft = (ppdu_info->tsft << 32) | in ath11k_hal_rx_parse_mon_status_tlv()
1502 struct hal_rx_mon_ppdu_info *ppdu_info, in ath11k_hal_rx_parse_mon_status() argument
1527 hal_status = ath11k_hal_rx_parse_mon_status_tlv(ab, ppdu_info, in ath11k_hal_rx_parse_mon_status()