Lines Matching refs:ppdu_info

835 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
838 rx_user_status->ast_index = ppdu_info->ast_index; in ath11k_hal_rx_populate_mu_user_info()
839 rx_user_status->tid = ppdu_info->tid; in ath11k_hal_rx_populate_mu_user_info()
841 ppdu_info->tcp_msdu_count; in ath11k_hal_rx_populate_mu_user_info()
843 ppdu_info->udp_msdu_count; in ath11k_hal_rx_populate_mu_user_info()
845 ppdu_info->other_msdu_count; in ath11k_hal_rx_populate_mu_user_info()
846 rx_user_status->frame_control = ppdu_info->frame_control; in ath11k_hal_rx_populate_mu_user_info()
848 ppdu_info->frame_control_info_valid; in ath11k_hal_rx_populate_mu_user_info()
850 ppdu_info->data_sequence_control_info_valid; in ath11k_hal_rx_populate_mu_user_info()
852 ppdu_info->first_data_seq_ctrl; in ath11k_hal_rx_populate_mu_user_info()
853 rx_user_status->preamble_type = ppdu_info->preamble_type; in ath11k_hal_rx_populate_mu_user_info()
854 rx_user_status->ht_flags = ppdu_info->ht_flags; in ath11k_hal_rx_populate_mu_user_info()
855 rx_user_status->vht_flags = ppdu_info->vht_flags; in ath11k_hal_rx_populate_mu_user_info()
856 rx_user_status->he_flags = ppdu_info->he_flags; in ath11k_hal_rx_populate_mu_user_info()
857 rx_user_status->rs_flags = ppdu_info->rs_flags; in ath11k_hal_rx_populate_mu_user_info()
860 ppdu_info->num_mpdu_fcs_ok; in ath11k_hal_rx_populate_mu_user_info()
862 ppdu_info->num_mpdu_fcs_err; in ath11k_hal_rx_populate_mu_user_info()
864 ath11k_hal_rx_populate_byte_count(rx_tlv, ppdu_info, rx_user_status); in ath11k_hal_rx_populate_mu_user_info()
875 struct hal_rx_mon_ppdu_info *ppdu_info, in ath11k_hal_rx_parse_mon_status_tlv() argument
887 ppdu_info->ppdu_id = in ath11k_hal_rx_parse_mon_status_tlv()
890 ppdu_info->chan_num = __le32_to_cpu(ppdu_start->chan_num); in ath11k_hal_rx_parse_mon_status_tlv()
891 ppdu_info->ppdu_ts = __le32_to_cpu(ppdu_start->ppdu_start_ts); in ath11k_hal_rx_parse_mon_status_tlv()
901 ppdu_info->ast_index = in ath11k_hal_rx_parse_mon_status_tlv()
904 ppdu_info->tid = in ath11k_hal_rx_parse_mon_status_tlv()
907 ppdu_info->tcp_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
910 ppdu_info->udp_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
913 ppdu_info->other_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
916 ppdu_info->tcp_ack_msdu_count = in ath11k_hal_rx_parse_mon_status_tlv()
919 ppdu_info->preamble_type = in ath11k_hal_rx_parse_mon_status_tlv()
921 ppdu_info->num_mpdu_fcs_ok = in ath11k_hal_rx_parse_mon_status_tlv()
924 ppdu_info->num_mpdu_fcs_err = in ath11k_hal_rx_parse_mon_status_tlv()
927 switch (ppdu_info->preamble_type) { in ath11k_hal_rx_parse_mon_status_tlv()
929 ppdu_info->ht_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
932 ppdu_info->vht_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
935 ppdu_info->he_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
943 &ppdu_info->userstats; in ath11k_hal_rx_parse_mon_status_tlv()
946 ath11k_hal_rx_populate_mu_user_info(tlv_data, ppdu_info, in ath11k_hal_rx_parse_mon_status_tlv()
949 ppdu_info->userstats.mpdu_fcs_ok_bitmap[0] = in ath11k_hal_rx_parse_mon_status_tlv()
951 ppdu_info->userstats.mpdu_fcs_ok_bitmap[1] = in ath11k_hal_rx_parse_mon_status_tlv()
959 ppdu_info->userstats.mpdu_fcs_ok_bitmap[2] = eu_stats->info1; in ath11k_hal_rx_parse_mon_status_tlv()
960 ppdu_info->userstats.mpdu_fcs_ok_bitmap[3] = eu_stats->info2; in ath11k_hal_rx_parse_mon_status_tlv()
961 ppdu_info->userstats.mpdu_fcs_ok_bitmap[4] = eu_stats->info3; in ath11k_hal_rx_parse_mon_status_tlv()
962 ppdu_info->userstats.mpdu_fcs_ok_bitmap[5] = eu_stats->info4; in ath11k_hal_rx_parse_mon_status_tlv()
963 ppdu_info->userstats.mpdu_fcs_ok_bitmap[6] = eu_stats->info5; in ath11k_hal_rx_parse_mon_status_tlv()
964 ppdu_info->userstats.mpdu_fcs_ok_bitmap[7] = eu_stats->info6; in ath11k_hal_rx_parse_mon_status_tlv()
974 ppdu_info->mcs = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO0_MCS, info0); in ath11k_hal_rx_parse_mon_status_tlv()
975 ppdu_info->bw = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO0_BW, info0); in ath11k_hal_rx_parse_mon_status_tlv()
976 ppdu_info->is_stbc = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO1_STBC, in ath11k_hal_rx_parse_mon_status_tlv()
978 ppdu_info->ldpc = FIELD_GET(HAL_RX_HT_SIG_INFO_INFO1_FEC_CODING, info1); in ath11k_hal_rx_parse_mon_status_tlv()
979 ppdu_info->gi = info1 & HAL_RX_HT_SIG_INFO_INFO1_GI; in ath11k_hal_rx_parse_mon_status_tlv()
981 switch (ppdu_info->mcs) { in ath11k_hal_rx_parse_mon_status_tlv()
983 ppdu_info->nss = 1; in ath11k_hal_rx_parse_mon_status_tlv()
986 ppdu_info->nss = 2; in ath11k_hal_rx_parse_mon_status_tlv()
989 ppdu_info->nss = 3; in ath11k_hal_rx_parse_mon_status_tlv()
992 ppdu_info->nss = 4; in ath11k_hal_rx_parse_mon_status_tlv()
996 if (ppdu_info->nss > 1) in ath11k_hal_rx_parse_mon_status_tlv()
997 ppdu_info->mcs = ppdu_info->mcs % 8; in ath11k_hal_rx_parse_mon_status_tlv()
999 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1006 ppdu_info->rate = FIELD_GET(HAL_RX_LSIG_B_INFO_INFO0_RATE, in ath11k_hal_rx_parse_mon_status_tlv()
1008 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1015 ppdu_info->rate = FIELD_GET(HAL_RX_LSIG_A_INFO_INFO0_RATE, in ath11k_hal_rx_parse_mon_status_tlv()
1017 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1030 ppdu_info->ldpc = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_SU_MU_CODING, in ath11k_hal_rx_parse_mon_status_tlv()
1032 ppdu_info->mcs = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_MCS, in ath11k_hal_rx_parse_mon_status_tlv()
1038 ppdu_info->gi = HAL_RX_GI_0_8_US; in ath11k_hal_rx_parse_mon_status_tlv()
1042 ppdu_info->gi = HAL_RX_GI_0_4_US; in ath11k_hal_rx_parse_mon_status_tlv()
1046 ppdu_info->is_stbc = info0 & HAL_RX_VHT_SIG_A_INFO_INFO0_STBC; in ath11k_hal_rx_parse_mon_status_tlv()
1048 if (ppdu_info->is_stbc && nsts > 0) in ath11k_hal_rx_parse_mon_status_tlv()
1051 ppdu_info->nss = (nsts & VHT_SIG_SU_NSS_MASK) + 1; in ath11k_hal_rx_parse_mon_status_tlv()
1052 ppdu_info->bw = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO0_BW, in ath11k_hal_rx_parse_mon_status_tlv()
1054 ppdu_info->beamformed = info1 & in ath11k_hal_rx_parse_mon_status_tlv()
1059 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1061 ppdu_info->reception_type = in ath11k_hal_rx_parse_mon_status_tlv()
1063 ppdu_info->vht_flag_values5 = group_id; in ath11k_hal_rx_parse_mon_status_tlv()
1064 ppdu_info->vht_flag_values3[0] = (((ppdu_info->mcs) << 4) | in ath11k_hal_rx_parse_mon_status_tlv()
1065 ppdu_info->nss); in ath11k_hal_rx_parse_mon_status_tlv()
1066 ppdu_info->vht_flag_values2 = ppdu_info->bw; in ath11k_hal_rx_parse_mon_status_tlv()
1067 ppdu_info->vht_flag_values4 = in ath11k_hal_rx_parse_mon_status_tlv()
1075 ppdu_info->he_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
1082 ppdu_info->he_data1 = IEEE80211_RADIOTAP_HE_DATA1_FORMAT_TRIG; in ath11k_hal_rx_parse_mon_status_tlv()
1084 ppdu_info->he_data1 = IEEE80211_RADIOTAP_HE_DATA1_FORMAT_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1086 ppdu_info->he_data1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1098 ppdu_info->he_data2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1108 ppdu_info->he_data3 = in ath11k_hal_rx_parse_mon_status_tlv()
1111 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1114 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1117 ppdu_info->mcs = value; in ath11k_hal_rx_parse_mon_status_tlv()
1118 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1122 ppdu_info->dcm = he_dcm; in ath11k_hal_rx_parse_mon_status_tlv()
1123 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1126 ppdu_info->ldpc = (value == HAL_RX_SU_MU_CODING_LDPC) ? 1 : 0; in ath11k_hal_rx_parse_mon_status_tlv()
1127 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1130 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1133 ppdu_info->is_stbc = he_stbc; in ath11k_hal_rx_parse_mon_status_tlv()
1134 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1139 ppdu_info->he_data4 = in ath11k_hal_rx_parse_mon_status_tlv()
1144 ppdu_info->bw = value; in ath11k_hal_rx_parse_mon_status_tlv()
1145 ppdu_info->he_data5 = in ath11k_hal_rx_parse_mon_status_tlv()
1171 ppdu_info->gi = he_gi; in ath11k_hal_rx_parse_mon_status_tlv()
1173 ppdu_info->he_data5 |= FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA5_GI, he_gi); in ath11k_hal_rx_parse_mon_status_tlv()
1174 ppdu_info->ltf_size = he_ltf; in ath11k_hal_rx_parse_mon_status_tlv()
1175 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1180 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1184 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1188 ppdu_info->beamformed = value; in ath11k_hal_rx_parse_mon_status_tlv()
1189 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1192 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1198 ppdu_info->nss = value; in ath11k_hal_rx_parse_mon_status_tlv()
1199 ppdu_info->he_data6 = in ath11k_hal_rx_parse_mon_status_tlv()
1202 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1205 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1208 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_SU; in ath11k_hal_rx_parse_mon_status_tlv()
1218 ppdu_info->he_mu_flags = 1; in ath11k_hal_rx_parse_mon_status_tlv()
1220 ppdu_info->he_data1 = IEEE80211_RADIOTAP_HE_DATA1_FORMAT_MU; in ath11k_hal_rx_parse_mon_status_tlv()
1221 ppdu_info->he_data1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1229 ppdu_info->he_data2 = in ath11k_hal_rx_parse_mon_status_tlv()
1239 ppdu_info->he_data3 = in ath11k_hal_rx_parse_mon_status_tlv()
1243 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1247 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1252 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1257 ppdu_info->he_data4 = in ath11k_hal_rx_parse_mon_status_tlv()
1262 ppdu_info->bw = value; in ath11k_hal_rx_parse_mon_status_tlv()
1263 ppdu_info->he_data5 = in ath11k_hal_rx_parse_mon_status_tlv()
1285 ppdu_info->gi = he_gi; in ath11k_hal_rx_parse_mon_status_tlv()
1287 ppdu_info->he_data5 |= FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA5_GI, he_gi); in ath11k_hal_rx_parse_mon_status_tlv()
1288 ppdu_info->ltf_size = he_ltf; in ath11k_hal_rx_parse_mon_status_tlv()
1289 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1294 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1299 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1304 ppdu_info->he_data5 |= in ath11k_hal_rx_parse_mon_status_tlv()
1310 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1314 ppdu_info->he_data6 |= in ath11k_hal_rx_parse_mon_status_tlv()
1319 ppdu_info->he_flags1 = in ath11k_hal_rx_parse_mon_status_tlv()
1327 ppdu_info->he_flags1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1331 ppdu_info->he_flags1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1336 ppdu_info->he_flags2 = in ath11k_hal_rx_parse_mon_status_tlv()
1340 ppdu_info->he_flags2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1344 ppdu_info->he_flags2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1348 ppdu_info->he_flags2 |= in ath11k_hal_rx_parse_mon_status_tlv()
1352 ppdu_info->is_stbc = info1 & in ath11k_hal_rx_parse_mon_status_tlv()
1354 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_MIMO; in ath11k_hal_rx_parse_mon_status_tlv()
1366 ppdu_info->ru_alloc = in ath11k_hal_rx_parse_mon_status_tlv()
1368 ppdu_info->he_RU[0] = ru_tones; in ath11k_hal_rx_parse_mon_status_tlv()
1369 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_MIMO; in ath11k_hal_rx_parse_mon_status_tlv()
1378 ppdu_info->he_data1 |= IEEE80211_RADIOTAP_HE_DATA1_DATA_MCS_KNOWN | in ath11k_hal_rx_parse_mon_status_tlv()
1381 ppdu_info->mcs = in ath11k_hal_rx_parse_mon_status_tlv()
1383 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1384 FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA3_DATA_MCS, ppdu_info->mcs); in ath11k_hal_rx_parse_mon_status_tlv()
1387 ppdu_info->ldpc = value; in ath11k_hal_rx_parse_mon_status_tlv()
1388 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1392 ppdu_info->he_data4 |= in ath11k_hal_rx_parse_mon_status_tlv()
1395 ppdu_info->nss = in ath11k_hal_rx_parse_mon_status_tlv()
1405 ppdu_info->he_data1 |= in ath11k_hal_rx_parse_mon_status_tlv()
1411 ppdu_info->he_data2 |= IEEE80211_RADIOTAP_HE_DATA2_TXBF_KNOWN; in ath11k_hal_rx_parse_mon_status_tlv()
1413 ppdu_info->mcs = in ath11k_hal_rx_parse_mon_status_tlv()
1416 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1417 FIELD_PREP(IEEE80211_RADIOTAP_HE_DATA3_DATA_MCS, ppdu_info->mcs); in ath11k_hal_rx_parse_mon_status_tlv()
1421 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1425 ppdu_info->ldpc = value; in ath11k_hal_rx_parse_mon_status_tlv()
1426 ppdu_info->he_data3 |= in ath11k_hal_rx_parse_mon_status_tlv()
1431 ppdu_info->he_data4 |= in ath11k_hal_rx_parse_mon_status_tlv()
1434 ppdu_info->nss = in ath11k_hal_rx_parse_mon_status_tlv()
1437 ppdu_info->beamformed = in ath11k_hal_rx_parse_mon_status_tlv()
1439 ppdu_info->reception_type = HAL_RX_RECEPTION_TYPE_MU_OFDMA; in ath11k_hal_rx_parse_mon_status_tlv()
1453 ppdu_info->rssi_comb = in ath11k_hal_rx_parse_mon_status_tlv()
1459 ppdu_info->rssi_chain_pri20[i] = in ath11k_hal_rx_parse_mon_status_tlv()
1473 ppdu_info->peer_id = peer_id; in ath11k_hal_rx_parse_mon_status_tlv()
1479 ppdu_info->rx_duration = in ath11k_hal_rx_parse_mon_status_tlv()
1482 ppdu_info->tsft = __le32_to_cpu(ppdu_rx_duration->rsvd0[1]); in ath11k_hal_rx_parse_mon_status_tlv()
1483 ppdu_info->tsft = (ppdu_info->tsft << 32) | in ath11k_hal_rx_parse_mon_status_tlv()
1501 struct hal_rx_mon_ppdu_info *ppdu_info, in ath11k_hal_rx_parse_mon_status() argument
1526 hal_status = ath11k_hal_rx_parse_mon_status_tlv(ab, ppdu_info, in ath11k_hal_rx_parse_mon_status()