Lines Matching refs:ppdu_info
798 struct hal_rx_ppdu_info *ppdu_info = in hal_rx_populate_mu_user_info() local
801 mon_rx_info = &ppdu_info->rx_info; in hal_rx_populate_mu_user_info()
802 mon_rx_user_info = &ppdu_info->rx_user_info[user_id]; in hal_rx_populate_mu_user_info()
807 mon_rx_user_status->ast_index = ppdu_info->rx_status.ast_index; in hal_rx_populate_mu_user_info()
808 mon_rx_user_status->tid = ppdu_info->rx_status.tid; in hal_rx_populate_mu_user_info()
810 ppdu_info->rx_status.tcp_msdu_count; in hal_rx_populate_mu_user_info()
812 ppdu_info->rx_status.udp_msdu_count; in hal_rx_populate_mu_user_info()
814 ppdu_info->rx_status.other_msdu_count; in hal_rx_populate_mu_user_info()
815 mon_rx_user_status->frame_control = ppdu_info->rx_status.frame_control; in hal_rx_populate_mu_user_info()
817 ppdu_info->rx_status.frame_control_info_valid; in hal_rx_populate_mu_user_info()
819 ppdu_info->rx_status.data_sequence_control_info_valid; in hal_rx_populate_mu_user_info()
821 ppdu_info->rx_status.first_data_seq_ctrl; in hal_rx_populate_mu_user_info()
822 mon_rx_user_status->preamble_type = ppdu_info->rx_status.preamble_type; in hal_rx_populate_mu_user_info()
823 mon_rx_user_status->ht_flags = ppdu_info->rx_status.ht_flags; in hal_rx_populate_mu_user_info()
824 mon_rx_user_status->rtap_flags = ppdu_info->rx_status.rtap_flags; in hal_rx_populate_mu_user_info()
825 mon_rx_user_status->vht_flags = ppdu_info->rx_status.vht_flags; in hal_rx_populate_mu_user_info()
828 ppdu_info->rx_status.vht_flag_values2; in hal_rx_populate_mu_user_info()
830 ppdu_info->rx_status.vht_flag_values3, in hal_rx_populate_mu_user_info()
833 ppdu_info->rx_status.vht_flag_values4; in hal_rx_populate_mu_user_info()
835 ppdu_info->rx_status.vht_flag_values5; in hal_rx_populate_mu_user_info()
837 ppdu_info->rx_status.vht_flag_values6; in hal_rx_populate_mu_user_info()
839 mon_rx_user_status->he_flags = ppdu_info->rx_status.he_flags; in hal_rx_populate_mu_user_info()
840 mon_rx_user_status->rs_flags = ppdu_info->rx_status.rs_flags; in hal_rx_populate_mu_user_info()
843 ppdu_info->com_info.mpdu_cnt_fcs_ok; in hal_rx_populate_mu_user_info()
845 ppdu_info->com_info.mpdu_cnt_fcs_err; in hal_rx_populate_mu_user_info()
847 &ppdu_info->com_info.mpdu_fcs_ok_bitmap, in hal_rx_populate_mu_user_info()
849 sizeof(ppdu_info->com_info.mpdu_fcs_ok_bitmap[0])); in hal_rx_populate_mu_user_info()
851 ppdu_info->rx_status.mpdu_retry_cnt; in hal_rx_populate_mu_user_info()
852 hal_rx_populate_byte_count(rx_ppdu_end_user, ppdu_info, in hal_rx_populate_mu_user_info()
857 ppdu_info, rssi_info_tlv) \ argument
859 ppdu_info->rx_status.rssi_chain[chain][0] = \
862 ppdu_info->rx_status.rssi_chain[chain][1] = \
865 ppdu_info->rx_status.rssi_chain[chain][2] = \
868 ppdu_info->rx_status.rssi_chain[chain][3] = \
873 #define HAL_RX_PPDU_UPDATE_RSSI(ppdu_info, rssi_info_tlv) \ argument
874 {HAL_RX_UPDATE_RSSI_PER_CHAIN_BW(0, ppdu_info, rssi_info_tlv) \
875 HAL_RX_UPDATE_RSSI_PER_CHAIN_BW(1, ppdu_info, rssi_info_tlv) \
876 HAL_RX_UPDATE_RSSI_PER_CHAIN_BW(2, ppdu_info, rssi_info_tlv) \
877 HAL_RX_UPDATE_RSSI_PER_CHAIN_BW(3, ppdu_info, rssi_info_tlv) \
881 hal_rx_update_rssi_chain(struct hal_rx_ppdu_info *ppdu_info, in hal_rx_update_rssi_chain() argument
884 HAL_RX_PPDU_UPDATE_RSSI(ppdu_info, rssi_info_tlv) in hal_rx_update_rssi_chain()
891 struct hal_rx_ppdu_info *ppdu_info) in hal_get_qos_control() argument
893 ppdu_info->rx_info.qos_control_info_valid = in hal_get_qos_control()
896 if (ppdu_info->rx_info.qos_control_info_valid) in hal_get_qos_control()
897 ppdu_info->rx_info.qos_control = in hal_get_qos_control()
903 struct hal_rx_ppdu_info *ppdu_info) in hal_get_mac_addr1() argument
905 if ((ppdu_info->sw_frame_group_id in hal_get_mac_addr1()
907 (ppdu_info->sw_frame_group_id == in hal_get_mac_addr1()
909 ppdu_info->rx_info.mac_addr1_valid = in hal_get_mac_addr1()
912 *(uint32_t *)&ppdu_info->rx_info.mac_addr1[0] = in hal_get_mac_addr1()
914 if (ppdu_info->sw_frame_group_id == in hal_get_mac_addr1()
916 *(uint16_t *)&ppdu_info->rx_info.mac_addr1[4] = in hal_get_mac_addr1()
924 struct hal_rx_ppdu_info *ppdu_info) in hal_get_qos_control() argument
930 struct hal_rx_ppdu_info *ppdu_info) in hal_get_mac_addr1() argument
938 struct hal_rx_ppdu_info *ppdu_info) in hal_update_frame_type_cnt() argument
947 ppdu_info->frm_type_info.rx_mgmt_cnt++; in hal_update_frame_type_cnt()
949 ppdu_info->frm_type_info.rx_ctrl_cnt++; in hal_update_frame_type_cnt()
951 ppdu_info->frm_type_info.rx_data_cnt++; in hal_update_frame_type_cnt()
957 struct hal_rx_ppdu_info *ppdu_info) in hal_update_frame_type_cnt() argument
1532 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_u_sig_cmn() argument
1540 ppdu_info->rx_status.usig_common |= in hal_rx_parse_u_sig_cmn()
1547 ppdu_info->rx_status.usig_common |= (usig_1->phy_version << in hal_rx_parse_u_sig_cmn()
1549 ppdu_info->rx_status.usig_common |= (usig_1->bw << in hal_rx_parse_u_sig_cmn()
1551 ppdu_info->rx_status.usig_common |= (usig_1->ul_dl << in hal_rx_parse_u_sig_cmn()
1553 ppdu_info->rx_status.usig_common |= (usig_1->bss_color << in hal_rx_parse_u_sig_cmn()
1555 ppdu_info->rx_status.usig_common |= (usig_1->txop << in hal_rx_parse_u_sig_cmn()
1557 ppdu_info->rx_status.usig_common |= bad_usig_crc; in hal_rx_parse_u_sig_cmn()
1559 ppdu_info->u_sig_info.ul_dl = usig_1->ul_dl; in hal_rx_parse_u_sig_cmn()
1560 ppdu_info->u_sig_info.bw = usig_1->bw; in hal_rx_parse_u_sig_cmn()
1561 ppdu_info->rx_status.bw = usig_1->bw; in hal_rx_parse_u_sig_cmn()
1568 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_u_sig_tb() argument
1573 ppdu_info->rx_status.usig_mask |= in hal_rx_parse_u_sig_tb()
1583 ppdu_info->rx_status.usig_value |= (0x3F << in hal_rx_parse_u_sig_tb()
1585 ppdu_info->rx_status.usig_value |= (usig_tb->ppdu_type_comp_mode << in hal_rx_parse_u_sig_tb()
1587 ppdu_info->rx_status.usig_value |= (0x1 << in hal_rx_parse_u_sig_tb()
1589 ppdu_info->rx_status.usig_value |= (usig_tb->spatial_reuse_1 << in hal_rx_parse_u_sig_tb()
1591 ppdu_info->rx_status.usig_value |= (usig_tb->spatial_reuse_2 << in hal_rx_parse_u_sig_tb()
1593 ppdu_info->rx_status.usig_value |= (0x1F << in hal_rx_parse_u_sig_tb()
1595 ppdu_info->rx_status.usig_value |= (usig_tb->crc << in hal_rx_parse_u_sig_tb()
1597 ppdu_info->rx_status.usig_value |= (usig_tb->tail << in hal_rx_parse_u_sig_tb()
1600 ppdu_info->u_sig_info.ppdu_type_comp_mode = in hal_rx_parse_u_sig_tb()
1608 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_u_sig_mu() argument
1613 ppdu_info->rx_status.usig_mask |= in hal_rx_parse_u_sig_mu()
1625 ppdu_info->rx_status.usig_value |= (0x1F << in hal_rx_parse_u_sig_mu()
1627 ppdu_info->rx_status.usig_value |= (0x1 << in hal_rx_parse_u_sig_mu()
1629 ppdu_info->rx_status.usig_value |= (usig_mu->ppdu_type_comp_mode << in hal_rx_parse_u_sig_mu()
1631 ppdu_info->rx_status.usig_value |= (0x1 << in hal_rx_parse_u_sig_mu()
1633 ppdu_info->rx_status.usig_value |= (usig_mu->punc_ch_info << in hal_rx_parse_u_sig_mu()
1635 ppdu_info->rx_status.usig_value |= (0x1 << in hal_rx_parse_u_sig_mu()
1637 ppdu_info->rx_status.usig_value |= (usig_mu->eht_sig_mcs << in hal_rx_parse_u_sig_mu()
1639 ppdu_info->rx_status.usig_value |= (usig_mu->num_eht_sig_sym << in hal_rx_parse_u_sig_mu()
1641 ppdu_info->rx_status.usig_value |= (usig_mu->crc << in hal_rx_parse_u_sig_mu()
1643 ppdu_info->rx_status.usig_value |= (usig_mu->tail << in hal_rx_parse_u_sig_mu()
1646 ppdu_info->u_sig_info.ppdu_type_comp_mode = in hal_rx_parse_u_sig_mu()
1648 ppdu_info->u_sig_info.eht_sig_mcs = usig_mu->eht_sig_mcs; in hal_rx_parse_u_sig_mu()
1649 ppdu_info->u_sig_info.num_eht_sig_sym = usig_mu->num_eht_sig_sym; in hal_rx_parse_u_sig_mu()
1656 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_u_sig_hdr() argument
1661 ppdu_info->rx_status.usig_flags = 1; in hal_rx_parse_u_sig_hdr()
1663 ppdu_info->rx_status.user_info_skip = 1; in hal_rx_parse_u_sig_hdr()
1665 hal_rx_parse_u_sig_cmn(hal_soc, rx_tlv, ppdu_info); in hal_rx_parse_u_sig_hdr()
1669 return hal_rx_parse_u_sig_tb(hal_soc, rx_tlv, ppdu_info); in hal_rx_parse_u_sig_hdr()
1671 return hal_rx_parse_u_sig_mu(hal_soc, rx_tlv, ppdu_info); in hal_rx_parse_u_sig_hdr()
1676 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_usig_overflow() argument
1681 ppdu_info->rx_status.eht_known |= in hal_rx_parse_usig_overflow()
1689 ppdu_info->rx_status.eht_data[0] |= (usig_ovflow->spatial_reuse << in hal_rx_parse_usig_overflow()
1695 ppdu_info->rx_status.eht_data[0] |= (usig_ovflow->num_ltf_sym << in hal_rx_parse_usig_overflow()
1697 ppdu_info->rx_status.eht_data[0] |= (usig_ovflow->ldpc_extra_sym << in hal_rx_parse_usig_overflow()
1699 ppdu_info->rx_status.eht_data[0] |= (usig_ovflow->pre_fec_pad_factor << in hal_rx_parse_usig_overflow()
1701 ppdu_info->rx_status.eht_data[0] |= (usig_ovflow->pe_disambiguity << in hal_rx_parse_usig_overflow()
1703 ppdu_info->rx_status.eht_data[0] |= (0xF << in hal_rx_parse_usig_overflow()
1711 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_non_ofdma_users() argument
1716 ppdu_info->rx_status.eht_known |= in hal_rx_parse_non_ofdma_users()
1719 ppdu_info->rx_status.eht_data[7] |= (non_ofdma_cmn_eb->num_users << in hal_rx_parse_non_ofdma_users()
1748 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_eht_sig_mumimo_user_info() argument
1758 rx_status = &ppdu_info->rx_status; in hal_rx_parse_eht_sig_mumimo_user_info()
1759 user_field = (uint32_t *)((uint8_t *)tlv + ppdu_info->tlv_aggr.rd_idx); in hal_rx_parse_eht_sig_mumimo_user_info()
1762 (ppdu_info->tlv_aggr.rd_idx < ppdu_info->tlv_aggr.cur_len)) { in hal_rx_parse_eht_sig_mumimo_user_info()
1764 rx_user_status = &ppdu_info->rx_user_status[user_idx]; in hal_rx_parse_eht_sig_mumimo_user_info()
1779 ppdu_info->tlv_aggr.rd_idx += 4; in hal_rx_parse_eht_sig_mumimo_user_info()
1789 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_eht_sig_mumimo_all_user_info() argument
1793 uint32_t user_idx = ppdu_info->rx_status.num_eht_all_user_info_valid; in hal_rx_parse_eht_sig_mumimo_all_user_info()
1797 eht_user_info = &ppdu_info->rx_status.eht_user_info[user_idx]; in hal_rx_parse_eht_sig_mumimo_all_user_info()
1801 ppdu_info->rx_status.num_eht_all_user_info_valid++; in hal_rx_parse_eht_sig_mumimo_all_user_info()
1828 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_eht_sig_non_mumimo_user_info() argument
1838 rx_status = &ppdu_info->rx_status; in hal_rx_parse_eht_sig_non_mumimo_user_info()
1839 user_field = (uint32_t *)((uint8_t *)tlv + ppdu_info->tlv_aggr.rd_idx); in hal_rx_parse_eht_sig_non_mumimo_user_info()
1842 (ppdu_info->tlv_aggr.rd_idx < ppdu_info->tlv_aggr.cur_len)) { in hal_rx_parse_eht_sig_non_mumimo_user_info()
1845 rx_user_status = &ppdu_info->rx_user_status[user_idx]; in hal_rx_parse_eht_sig_non_mumimo_user_info()
1851 ppdu_info->rx_status.mcs = user_info->mcs; in hal_rx_parse_eht_sig_non_mumimo_user_info()
1861 ppdu_info->tlv_aggr.rd_idx += 4; in hal_rx_parse_eht_sig_non_mumimo_user_info()
1870 *ppdu_info) in hal_rx_parse_eht_sig_non_mumimo_all_user_info()
1874 uint32_t user_idx = ppdu_info->rx_status.num_eht_all_user_info_valid; in hal_rx_parse_eht_sig_non_mumimo_all_user_info()
1878 eht_user_info = &ppdu_info->rx_status.eht_user_info[user_idx]; in hal_rx_parse_eht_sig_non_mumimo_all_user_info()
1882 ppdu_info->rx_status.num_eht_all_user_info_valid++; in hal_rx_parse_eht_sig_non_mumimo_all_user_info()
1886 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_is_ofdma() argument
1888 if (ppdu_info->u_sig_info.ppdu_type_comp_mode == 0 && in hal_rx_is_ofdma()
1889 ppdu_info->u_sig_info.ul_dl == 0) in hal_rx_is_ofdma()
1896 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_is_non_ofdma() argument
1899 ppdu_info->u_sig_info.ppdu_type_comp_mode; in hal_rx_is_non_ofdma()
1900 uint32_t ul_dl = ppdu_info->u_sig_info.ul_dl; in hal_rx_is_non_ofdma()
1911 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_is_mu_mimo_user() argument
1913 if (ppdu_info->u_sig_info.ppdu_type_comp_mode == 2 && in hal_rx_is_mu_mimo_user()
1914 ppdu_info->u_sig_info.ul_dl == 0) in hal_rx_is_mu_mimo_user()
1922 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_is_frame_type_ndp() argument
1924 if (ppdu_info->u_sig_info.ppdu_type_comp_mode == 1 && in hal_rx_is_frame_type_ndp()
1925 ppdu_info->u_sig_info.eht_sig_mcs == 0 && in hal_rx_is_frame_type_ndp()
1926 ppdu_info->u_sig_info.num_eht_sig_sym == 0) in hal_rx_is_frame_type_ndp()
1934 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_eht_sig_ndp() argument
1939 ppdu_info->rx_status.eht_known |= in hal_rx_parse_eht_sig_ndp()
1948 ppdu_info->rx_status.eht_data[0] |= (eht_sig_ndp->spatial_reuse << in hal_rx_parse_eht_sig_ndp()
1954 ppdu_info->rx_status.eht_data[0] |= (eht_sig_ndp->num_ltf_sym << in hal_rx_parse_eht_sig_ndp()
1956 ppdu_info->rx_status.eht_data[0] |= (0xF << in hal_rx_parse_eht_sig_ndp()
1959 ppdu_info->rx_status.eht_data[7] |= (eht_sig_ndp->nss << in hal_rx_parse_eht_sig_ndp()
1961 ppdu_info->rx_status.eht_data[7] |= (eht_sig_ndp->beamformed << in hal_rx_parse_eht_sig_ndp()
1964 ppdu_info->rx_status.eht_data[0] |= (eht_sig_ndp->crc << in hal_rx_parse_eht_sig_ndp()
1973 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_punctured_pattern() argument
1975 ppdu_info->rx_status.punctured_pattern = cmn_usr_info->puncture_bitmap; in hal_rx_parse_punctured_pattern()
1980 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_punctured_pattern() argument
1986 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_parse_cmn_usr_info() argument
1991 ppdu_info->rx_status.eht_known |= in hal_rx_parse_cmn_usr_info()
1995 ppdu_info->rx_status.eht_data[0] |= (cmn_usr_info->cp_setting << in hal_rx_parse_cmn_usr_info()
1997 if (!ppdu_info->rx_status.sgi) in hal_rx_parse_cmn_usr_info()
1998 ppdu_info->rx_status.sgi = cmn_usr_info->cp_setting; in hal_rx_parse_cmn_usr_info()
2000 ppdu_info->rx_status.eht_data[0] |= (cmn_usr_info->ltf_size << in hal_rx_parse_cmn_usr_info()
2002 if (!ppdu_info->rx_status.ltf_size) in hal_rx_parse_cmn_usr_info()
2003 ppdu_info->rx_status.ltf_size = cmn_usr_info->ltf_size; in hal_rx_parse_cmn_usr_info()
2005 hal_rx_parse_punctured_pattern(cmn_usr_info, ppdu_info); in hal_rx_parse_cmn_usr_info()
2133 struct hal_rx_ppdu_info *ppdu_info, in hal_rx_parse_receive_user_info() argument
2145 if (ppdu_info->rx_status.user_info_skip) in hal_rx_parse_receive_user_info()
2150 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_SU; in hal_rx_parse_receive_user_info()
2153 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_DL; in hal_rx_parse_receive_user_info()
2154 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_MIMO; in hal_rx_parse_receive_user_info()
2157 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_UL; in hal_rx_parse_receive_user_info()
2158 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_MIMO; in hal_rx_parse_receive_user_info()
2161 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_DL; in hal_rx_parse_receive_user_info()
2162 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_OFDMA; in hal_rx_parse_receive_user_info()
2165 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_UL; in hal_rx_parse_receive_user_info()
2166 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_OFDMA; in hal_rx_parse_receive_user_info()
2169 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_DL; in hal_rx_parse_receive_user_info()
2170 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_OFDMA_MIMO; in hal_rx_parse_receive_user_info()
2173 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_UL; in hal_rx_parse_receive_user_info()
2174 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_OFDMA_MIMO; in hal_rx_parse_receive_user_info()
2178 ppdu_info->start_user_info_cnt++; in hal_rx_parse_receive_user_info()
2180 ppdu_info->rx_status.is_stbc = rx_usr_info->stbc; in hal_rx_parse_receive_user_info()
2181 ppdu_info->rx_status.ldpc = rx_usr_info->ldpc; in hal_rx_parse_receive_user_info()
2182 ppdu_info->rx_status.dcm = rx_usr_info->sta_dcm; in hal_rx_parse_receive_user_info()
2183 ppdu_info->rx_status.mcs = rx_usr_info->rate_mcs; in hal_rx_parse_receive_user_info()
2184 ppdu_info->rx_status.nss = rx_usr_info->nss + 1; in hal_rx_parse_receive_user_info()
2188 &ppdu_info->rx_user_status[user_id]; in hal_rx_parse_receive_user_info()
2196 ppdu_info->rx_status.is_stbc; in hal_rx_parse_receive_user_info()
2198 ppdu_info->rx_status.ldpc; in hal_rx_parse_receive_user_info()
2200 ppdu_info->rx_status.dcm; in hal_rx_parse_receive_user_info()
2201 mon_rx_user_status->mcs = ppdu_info->rx_status.mcs; in hal_rx_parse_receive_user_info()
2202 mon_rx_user_status->nss = ppdu_info->rx_status.nss; in hal_rx_parse_receive_user_info()
2205 if (!(ppdu_info->rx_status.reception_type == HAL_RX_TYPE_MU_MIMO || in hal_rx_parse_receive_user_info()
2206 ppdu_info->rx_status.reception_type == HAL_RX_TYPE_MU_OFDMA || in hal_rx_parse_receive_user_info()
2207 ppdu_info->rx_status.reception_type == HAL_RX_TYPE_MU_OFDMA_MIMO)) in hal_rx_parse_receive_user_info()
2339 if (ppdu_info->rx_status.reception_type == in hal_rx_parse_receive_user_info()
2341 ppdu_info->rx_status.he_mu_flags = 1; in hal_rx_parse_receive_user_info()
2356 ppdu_info->rx_status.ldpc << in hal_rx_parse_receive_user_info()
2371 if (ppdu_info->rx_status.reception_type == in hal_rx_parse_receive_user_info()
2373 ppdu_info->rx_status.he_mu_flags = 1; in hal_rx_parse_receive_user_info()
2413 ppdu_info->rx_status.he_flags1; in hal_rx_parse_receive_user_info()
2415 ppdu_info->rx_status.he_flags2; in hal_rx_parse_receive_user_info()
2433 hal_rx_status_get_mpdu_retry_cnt(struct hal_rx_ppdu_info *ppdu_info, in hal_rx_status_get_mpdu_retry_cnt() argument
2436 ppdu_info->rx_status.mpdu_retry_cnt = in hal_rx_status_get_mpdu_retry_cnt()
2442 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_status_get_mon_buf_addr() argument
2446 ppdu_info->packet_info.sw_cookie = in hal_rx_status_get_mon_buf_addr()
2450 ppdu_info->packet_info.dma_length = addr->dma_length + 1; in hal_rx_status_get_mon_buf_addr()
2451 ppdu_info->packet_info.msdu_continuation = addr->msdu_continuation; in hal_rx_status_get_mon_buf_addr()
2452 ppdu_info->packet_info.truncated = addr->truncated; in hal_rx_status_get_mon_buf_addr()
2458 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_update_ppdu_drop_cnt() argument
2462 ppdu_info->drop_cnt.ppdu_drop_cnt = drop_cnt->ppdu_drop_cnt; in hal_rx_update_ppdu_drop_cnt()
2463 ppdu_info->drop_cnt.mpdu_drop_cnt = drop_cnt->mpdu_drop_cnt; in hal_rx_update_ppdu_drop_cnt()
2464 ppdu_info->drop_cnt.end_of_ppdu_drop_cnt = drop_cnt->end_of_ppdu_seen; in hal_rx_update_ppdu_drop_cnt()
2465 ppdu_info->drop_cnt.tlv_drop_cnt = drop_cnt->tlv_drop_cnt; in hal_rx_update_ppdu_drop_cnt()
2469 hal_rx_status_get_mpdu_retry_cnt(struct hal_rx_ppdu_info *ppdu_info, in hal_rx_status_get_mpdu_retry_cnt() argument
2472 ppdu_info->rx_status.mpdu_retry_cnt = 0; in hal_rx_status_get_mpdu_retry_cnt()
2476 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_status_get_mon_buf_addr() argument
2482 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_update_ppdu_drop_cnt() argument
2489 hal_update_rx_ctrl_frame_stats(struct hal_rx_ppdu_info *ppdu_info, in hal_update_rx_ctrl_frame_stats() argument
2492 uint16_t fc = ppdu_info->nac_info.frame_control; in hal_update_rx_ctrl_frame_stats()
2497 ppdu_info->ctrl_frm_info[user_id].ndpa = 1; in hal_update_rx_ctrl_frame_stats()
2500 ppdu_info->ctrl_frm_info[user_id].bar = 1; in hal_update_rx_ctrl_frame_stats()
2505 hal_update_rx_ctrl_frame_stats(struct hal_rx_ppdu_info *ppdu_info, in hal_update_rx_ctrl_frame_stats() argument
2520 hal_rx_record_tlv_info(struct hal_rx_ppdu_info *ppdu_info, uint32_t tlv_tag) { in hal_rx_record_tlv_info() argument
2521 ppdu_info->rx_tlv_info.tlv_tag = tlv_tag; in hal_rx_record_tlv_info()
2525 ppdu_info->rx_tlv_info.tlv_category = CATEGORY_PPDU_START; in hal_rx_record_tlv_info()
2533 ppdu_info->rx_tlv_info.tlv_category = CATEGORY_MPDU; in hal_rx_record_tlv_info()
2547 ppdu_info->rx_tlv_info.tlv_category = CATEGORY_PPDU_END; in hal_rx_record_tlv_info()
2553 hal_rx_record_tlv_info(struct hal_rx_ppdu_info *ppdu_info, uint32_t tlv_tag) { in hal_rx_record_tlv_info() argument
2566 hal_rx_he_sig_a_mu_ul_e_handle(struct hal_rx_ppdu_info *ppdu_info, in hal_rx_he_sig_a_mu_ul_e_handle() argument
2571 ppdu_info->rx_status.he_flags = 1; in hal_rx_he_sig_a_mu_ul_e_handle()
2573 ppdu_info->rx_status.user_info_skip = 1; in hal_rx_he_sig_a_mu_ul_e_handle()
2578 ppdu_info->rx_status.he_data1 = in hal_rx_he_sig_a_mu_ul_e_handle()
2581 ppdu_info->rx_status.he_data1 = in hal_rx_he_sig_a_mu_ul_e_handle()
2586 ppdu_info->rx_status.he_data1 |= in hal_rx_he_sig_a_mu_ul_e_handle()
2591 ppdu_info->rx_status.he_data2 |= in hal_rx_he_sig_a_mu_ul_e_handle()
2597 ppdu_info->rx_status.he_data3 = value; in hal_rx_he_sig_a_mu_ul_e_handle()
2604 ppdu_info->rx_status.he_data5 = value; in hal_rx_he_sig_a_mu_ul_e_handle()
2605 ppdu_info->rx_status.bw = value; in hal_rx_he_sig_a_mu_ul_e_handle()
2611 ppdu_info->rx_status.he_data6 |= value; in hal_rx_he_sig_a_mu_ul_e_handle()
2613 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_UL; in hal_rx_he_sig_a_mu_ul_e_handle()
2614 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_MIMO; in hal_rx_he_sig_a_mu_ul_e_handle()
2618 hal_rx_he_sig_a_mu_ul_e_handle(struct hal_rx_ppdu_info *ppdu_info, in hal_rx_he_sig_a_mu_ul_e_handle() argument
2646 struct hal_rx_ppdu_info *ppdu_info = in hal_rx_status_get_tlv_info_generic_be() local
2655 ppdu_info->user_id = user_id; in hal_rx_status_get_tlv_info_generic_be()
2659 if (qdf_unlikely(ppdu_info->com_info.last_ppdu_id == in hal_rx_status_get_tlv_info_generic_be()
2662 ppdu_info->com_info.last_ppdu_id); in hal_rx_status_get_tlv_info_generic_be()
2664 ppdu_info->com_info.last_ppdu_id = in hal_rx_status_get_tlv_info_generic_be()
2665 ppdu_info->com_info.ppdu_id = in hal_rx_status_get_tlv_info_generic_be()
2670 ppdu_info->rx_status.chan_num = in hal_rx_status_get_tlv_info_generic_be()
2673 ppdu_info->rx_status.chan_freq = in hal_rx_status_get_tlv_info_generic_be()
2676 if (ppdu_info->rx_status.chan_num && in hal_rx_status_get_tlv_info_generic_be()
2677 ppdu_info->rx_status.chan_freq) { in hal_rx_status_get_tlv_info_generic_be()
2678 ppdu_info->rx_status.chan_freq = in hal_rx_status_get_tlv_info_generic_be()
2680 ppdu_info->rx_status.chan_num, in hal_rx_status_get_tlv_info_generic_be()
2681 ppdu_info->rx_status.chan_freq); in hal_rx_status_get_tlv_info_generic_be()
2684 ppdu_info->com_info.ppdu_timestamp = in hal_rx_status_get_tlv_info_generic_be()
2687 ppdu_info->rx_status.ppdu_timestamp = in hal_rx_status_get_tlv_info_generic_be()
2688 ppdu_info->com_info.ppdu_timestamp; in hal_rx_status_get_tlv_info_generic_be()
2689 ppdu_info->rx_state = HAL_RX_MON_PPDU_START; in hal_rx_status_get_tlv_info_generic_be()
2695 hal_rx_parse_receive_user_info(hal, rx_tlv, ppdu_info, user_id); in hal_rx_status_get_tlv_info_generic_be()
2700 ppdu_info->rx_state = HAL_RX_MON_PPDU_END; in hal_rx_status_get_tlv_info_generic_be()
2704 hal_rx_get_rtt_info(hal_soc_hdl, rx_tlv, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
2708 ppdu_info->rx_status.rx_antenna = in hal_rx_status_get_tlv_info_generic_be()
2710 ppdu_info->rx_status.tsft = in hal_rx_status_get_tlv_info_generic_be()
2713 ppdu_info->rx_status.tsft = (ppdu_info->rx_status.tsft << 32) | in hal_rx_status_get_tlv_info_generic_be()
2716 ppdu_info->rx_status.duration = in hal_rx_status_get_tlv_info_generic_be()
2719 hal_rx_get_bb_info(hal_soc_hdl, rx_tlv, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
2732 ppdu_info->rx_status.ast_index = in hal_rx_status_get_tlv_info_generic_be()
2736 ppdu_info->rx_status.tid = qdf_find_first_bit(&tid, in hal_rx_status_get_tlv_info_generic_be()
2739 if (ppdu_info->rx_status.tid == (sizeof(tid) * 8)) in hal_rx_status_get_tlv_info_generic_be()
2740 ppdu_info->rx_status.tid = HAL_TID_INVALID; in hal_rx_status_get_tlv_info_generic_be()
2742 ppdu_info->rx_status.tcp_msdu_count = in hal_rx_status_get_tlv_info_generic_be()
2746 ppdu_info->rx_status.udp_msdu_count = in hal_rx_status_get_tlv_info_generic_be()
2749 ppdu_info->rx_status.other_msdu_count = in hal_rx_status_get_tlv_info_generic_be()
2752 hal_rx_status_get_mpdu_retry_cnt(ppdu_info, rx_ppdu_end_user); in hal_rx_status_get_tlv_info_generic_be()
2754 if (ppdu_info->sw_frame_group_id in hal_rx_status_get_tlv_info_generic_be()
2756 ppdu_info->rx_status.frame_control_info_valid = in hal_rx_status_get_tlv_info_generic_be()
2759 if (ppdu_info->rx_status.frame_control_info_valid) in hal_rx_status_get_tlv_info_generic_be()
2760 ppdu_info->rx_status.frame_control = in hal_rx_status_get_tlv_info_generic_be()
2763 hal_get_qos_control(rx_ppdu_end_user, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
2766 ppdu_info->rx_status.data_sequence_control_info_valid = in hal_rx_status_get_tlv_info_generic_be()
2771 if (ppdu_info->rx_status.data_sequence_control_info_valid) in hal_rx_status_get_tlv_info_generic_be()
2772 ppdu_info->rx_status.first_data_seq_ctrl = seq; in hal_rx_status_get_tlv_info_generic_be()
2774 ppdu_info->rx_status.preamble_type = in hal_rx_status_get_tlv_info_generic_be()
2777 ppdu_info->end_user_stats_cnt++; in hal_rx_status_get_tlv_info_generic_be()
2779 switch (ppdu_info->rx_status.preamble_type) { in hal_rx_status_get_tlv_info_generic_be()
2781 ppdu_info->rx_status.ht_flags = 1; in hal_rx_status_get_tlv_info_generic_be()
2782 ppdu_info->rx_status.rtap_flags |= HT_SGI_PRESENT; in hal_rx_status_get_tlv_info_generic_be()
2785 ppdu_info->rx_status.vht_flags = 1; in hal_rx_status_get_tlv_info_generic_be()
2788 ppdu_info->rx_status.he_flags = 1; in hal_rx_status_get_tlv_info_generic_be()
2791 ppdu_info->rx_status.eht_flags = 1; in hal_rx_status_get_tlv_info_generic_be()
2797 ppdu_info->com_info.mpdu_cnt_fcs_ok = in hal_rx_status_get_tlv_info_generic_be()
2799 ppdu_info->com_info.mpdu_cnt_fcs_err = in hal_rx_status_get_tlv_info_generic_be()
2801 if ((ppdu_info->com_info.mpdu_cnt_fcs_ok | in hal_rx_status_get_tlv_info_generic_be()
2802 ppdu_info->com_info.mpdu_cnt_fcs_err) > 1) in hal_rx_status_get_tlv_info_generic_be()
2803 ppdu_info->rx_status.rs_flags |= IEEE80211_AMPDU_FLAG; in hal_rx_status_get_tlv_info_generic_be()
2805 ppdu_info->rx_status.rs_flags &= in hal_rx_status_get_tlv_info_generic_be()
2808 ppdu_info->com_info.mpdu_fcs_ok_bitmap[0] = in hal_rx_status_get_tlv_info_generic_be()
2811 ppdu_info->com_info.mpdu_fcs_ok_bitmap[1] = in hal_rx_status_get_tlv_info_generic_be()
2816 &ppdu_info->rx_user_status[user_id]; in hal_rx_status_get_tlv_info_generic_be()
2821 ppdu_info->com_info.num_users++; in hal_rx_status_get_tlv_info_generic_be()
2823 hal_rx_populate_mu_user_info(rx_ppdu_end_user, ppdu_info, in hal_rx_status_get_tlv_info_generic_be()
2831 ppdu_info->com_info.mpdu_fcs_ok_bitmap[2] = in hal_rx_status_get_tlv_info_generic_be()
2835 ppdu_info->com_info.mpdu_fcs_ok_bitmap[3] = in hal_rx_status_get_tlv_info_generic_be()
2839 ppdu_info->com_info.mpdu_fcs_ok_bitmap[4] = in hal_rx_status_get_tlv_info_generic_be()
2843 ppdu_info->com_info.mpdu_fcs_ok_bitmap[5] = in hal_rx_status_get_tlv_info_generic_be()
2847 ppdu_info->com_info.mpdu_fcs_ok_bitmap[6] = in hal_rx_status_get_tlv_info_generic_be()
2851 ppdu_info->com_info.mpdu_fcs_ok_bitmap[7] = in hal_rx_status_get_tlv_info_generic_be()
2857 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
2864 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
2873 ppdu_info->rx_status.ldpc = (value == HAL_SU_MU_CODING_LDPC) ? in hal_rx_status_get_tlv_info_generic_be()
2875 ppdu_info->rx_status.mcs = HAL_RX_GET(ht_sig_info, in hal_rx_status_get_tlv_info_generic_be()
2877 ppdu_info->rx_status.ht_mcs = ppdu_info->rx_status.mcs; in hal_rx_status_get_tlv_info_generic_be()
2878 ppdu_info->rx_status.bw = HAL_RX_GET(ht_sig_info, in hal_rx_status_get_tlv_info_generic_be()
2880 ppdu_info->rx_status.sgi = HAL_RX_GET(ht_sig_info, in hal_rx_status_get_tlv_info_generic_be()
2882 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_SU; in hal_rx_status_get_tlv_info_generic_be()
2883 ppdu_info->rx_status.nss = ((ppdu_info->rx_status.mcs) >> in hal_rx_status_get_tlv_info_generic_be()
2885 ppdu_info->rx_status.mcs &= ((1 << HT_SIG_SU_NSS_SHIFT) - 1); in hal_rx_status_get_tlv_info_generic_be()
2896 ppdu_info->rx_status.l_sig_b_info = *((uint32_t *)l_sig_b_info); in hal_rx_status_get_tlv_info_generic_be()
2899 ppdu_info->rx_status.rate = HAL_11B_RATE_3MCS; in hal_rx_status_get_tlv_info_generic_be()
2900 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS3; in hal_rx_status_get_tlv_info_generic_be()
2903 ppdu_info->rx_status.rate = HAL_11B_RATE_2MCS; in hal_rx_status_get_tlv_info_generic_be()
2904 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS2; in hal_rx_status_get_tlv_info_generic_be()
2907 ppdu_info->rx_status.rate = HAL_11B_RATE_1MCS; in hal_rx_status_get_tlv_info_generic_be()
2908 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS1; in hal_rx_status_get_tlv_info_generic_be()
2911 ppdu_info->rx_status.rate = HAL_11B_RATE_0MCS; in hal_rx_status_get_tlv_info_generic_be()
2912 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS0; in hal_rx_status_get_tlv_info_generic_be()
2915 ppdu_info->rx_status.rate = HAL_11B_RATE_6MCS; in hal_rx_status_get_tlv_info_generic_be()
2916 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS6; in hal_rx_status_get_tlv_info_generic_be()
2919 ppdu_info->rx_status.rate = HAL_11B_RATE_5MCS; in hal_rx_status_get_tlv_info_generic_be()
2920 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS5; in hal_rx_status_get_tlv_info_generic_be()
2923 ppdu_info->rx_status.rate = HAL_11B_RATE_4MCS; in hal_rx_status_get_tlv_info_generic_be()
2924 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS4; in hal_rx_status_get_tlv_info_generic_be()
2929 ppdu_info->rx_status.cck_flag = 1; in hal_rx_status_get_tlv_info_generic_be()
2940 ppdu_info->rx_status.l_sig_a_info = *((uint32_t *)l_sig_a_info); in hal_rx_status_get_tlv_info_generic_be()
2943 ppdu_info->rx_status.rate = HAL_11A_RATE_0MCS; in hal_rx_status_get_tlv_info_generic_be()
2944 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS0; in hal_rx_status_get_tlv_info_generic_be()
2947 ppdu_info->rx_status.rate = HAL_11A_RATE_1MCS; in hal_rx_status_get_tlv_info_generic_be()
2948 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS1; in hal_rx_status_get_tlv_info_generic_be()
2951 ppdu_info->rx_status.rate = HAL_11A_RATE_2MCS; in hal_rx_status_get_tlv_info_generic_be()
2952 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS2; in hal_rx_status_get_tlv_info_generic_be()
2955 ppdu_info->rx_status.rate = HAL_11A_RATE_3MCS; in hal_rx_status_get_tlv_info_generic_be()
2956 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS3; in hal_rx_status_get_tlv_info_generic_be()
2959 ppdu_info->rx_status.rate = HAL_11A_RATE_4MCS; in hal_rx_status_get_tlv_info_generic_be()
2960 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS4; in hal_rx_status_get_tlv_info_generic_be()
2963 ppdu_info->rx_status.rate = HAL_11A_RATE_5MCS; in hal_rx_status_get_tlv_info_generic_be()
2964 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS5; in hal_rx_status_get_tlv_info_generic_be()
2967 ppdu_info->rx_status.rate = HAL_11A_RATE_6MCS; in hal_rx_status_get_tlv_info_generic_be()
2968 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS6; in hal_rx_status_get_tlv_info_generic_be()
2971 ppdu_info->rx_status.rate = HAL_11A_RATE_7MCS; in hal_rx_status_get_tlv_info_generic_be()
2972 ppdu_info->rx_status.mcs = HAL_LEGACY_MCS7; in hal_rx_status_get_tlv_info_generic_be()
2977 ppdu_info->rx_status.ofdm_flag = 1; in hal_rx_status_get_tlv_info_generic_be()
2989 ppdu_info->rx_status.ldpc = (value == HAL_SU_MU_CODING_LDPC) ? in hal_rx_status_get_tlv_info_generic_be()
2992 ppdu_info->rx_status.vht_flag_values5 = group_id; in hal_rx_status_get_tlv_info_generic_be()
2993 ppdu_info->rx_status.mcs = HAL_RX_GET(vht_sig_a_info, in hal_rx_status_get_tlv_info_generic_be()
2995 ppdu_info->rx_status.sgi = HAL_RX_GET(vht_sig_a_info, in hal_rx_status_get_tlv_info_generic_be()
3010 ppdu_info->rx_status.is_stbc = in hal_rx_status_get_tlv_info_generic_be()
3016 if (ppdu_info->rx_status.is_stbc && (value > 0)) in hal_rx_status_get_tlv_info_generic_be()
3018 ppdu_info->rx_status.nss = in hal_rx_status_get_tlv_info_generic_be()
3024 ppdu_info->rx_status.is_stbc = in hal_rx_status_get_tlv_info_generic_be()
3030 if (ppdu_info->rx_status.is_stbc && (value > 0)) in hal_rx_status_get_tlv_info_generic_be()
3032 ppdu_info->rx_status.nss = in hal_rx_status_get_tlv_info_generic_be()
3035 ppdu_info->rx_status.nss = 0; in hal_rx_status_get_tlv_info_generic_be()
3041 ppdu_info->rx_status.is_stbc = in hal_rx_status_get_tlv_info_generic_be()
3047 if (ppdu_info->rx_status.is_stbc && (value > 0)) in hal_rx_status_get_tlv_info_generic_be()
3049 ppdu_info->rx_status.nss = in hal_rx_status_get_tlv_info_generic_be()
3055 ppdu_info->rx_status.nss = 0; in hal_rx_status_get_tlv_info_generic_be()
3060 ppdu_info->rx_status.vht_flag_values3[0] = in hal_rx_status_get_tlv_info_generic_be()
3061 (((ppdu_info->rx_status.mcs) << 4) in hal_rx_status_get_tlv_info_generic_be()
3062 | ppdu_info->rx_status.nss); in hal_rx_status_get_tlv_info_generic_be()
3063 ppdu_info->rx_status.bw = HAL_RX_GET(vht_sig_a_info, in hal_rx_status_get_tlv_info_generic_be()
3065 ppdu_info->rx_status.vht_flag_values2 = in hal_rx_status_get_tlv_info_generic_be()
3066 ppdu_info->rx_status.bw; in hal_rx_status_get_tlv_info_generic_be()
3067 ppdu_info->rx_status.vht_flag_values4 = in hal_rx_status_get_tlv_info_generic_be()
3071 ppdu_info->rx_status.beamformed = HAL_RX_GET(vht_sig_a_info, in hal_rx_status_get_tlv_info_generic_be()
3075 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_SU; in hal_rx_status_get_tlv_info_generic_be()
3077 ppdu_info->rx_status.reception_type = in hal_rx_status_get_tlv_info_generic_be()
3087 ppdu_info->rx_status.he_flags = 1; in hal_rx_status_get_tlv_info_generic_be()
3091 ppdu_info->rx_status.he_data1 = in hal_rx_status_get_tlv_info_generic_be()
3094 ppdu_info->rx_status.he_data1 = in hal_rx_status_get_tlv_info_generic_be()
3099 ppdu_info->rx_status.he_data1 |= in hal_rx_status_get_tlv_info_generic_be()
3112 ppdu_info->rx_status.he_data2 = in hal_rx_status_get_tlv_info_generic_be()
3114 ppdu_info->rx_status.he_data2 |= in hal_rx_status_get_tlv_info_generic_be()
3125 ppdu_info->rx_status.he_data3 = value; in hal_rx_status_get_tlv_info_generic_be()
3129 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3132 ppdu_info->rx_status.mu_dl_ul = HAL_RX_TYPE_DL; in hal_rx_status_get_tlv_info_generic_be()
3135 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3139 ppdu_info->rx_status.mcs = value; in hal_rx_status_get_tlv_info_generic_be()
3141 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3147 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3150 ppdu_info->rx_status.ldpc = (value == HAL_SU_MU_CODING_LDPC) ? in hal_rx_status_get_tlv_info_generic_be()
3153 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3158 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3163 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3168 ppdu_info->rx_status.he_data4 = value; in hal_rx_status_get_tlv_info_generic_be()
3173 ppdu_info->rx_status.he_data5 = value; in hal_rx_status_get_tlv_info_generic_be()
3174 ppdu_info->rx_status.bw = value; in hal_rx_status_get_tlv_info_generic_be()
3200 ppdu_info->rx_status.sgi = he_gi; in hal_rx_status_get_tlv_info_generic_be()
3201 ppdu_info->rx_status.ltf_size = he_ltf; in hal_rx_status_get_tlv_info_generic_be()
3204 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3206 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3210 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3215 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3219 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3223 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3228 ppdu_info->rx_status.nss = value; in hal_rx_status_get_tlv_info_generic_be()
3229 ppdu_info->rx_status.he_data6 = value; in hal_rx_status_get_tlv_info_generic_be()
3233 ppdu_info->rx_status.he_data6 |= value; in hal_rx_status_get_tlv_info_generic_be()
3237 ppdu_info->rx_status.he_data6 |= value; in hal_rx_status_get_tlv_info_generic_be()
3239 ppdu_info->rx_status.beamformed = HAL_RX_GET(he_sig_a_su_info, in hal_rx_status_get_tlv_info_generic_be()
3242 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_SU; in hal_rx_status_get_tlv_info_generic_be()
3251 ppdu_info->rx_status.he_mu_flags = 1; in hal_rx_status_get_tlv_info_generic_be()
3255 ppdu_info->rx_status.he_data1 = in hal_rx_status_get_tlv_info_generic_be()
3257 ppdu_info->rx_status.he_data1 |= in hal_rx_status_get_tlv_info_generic_be()
3266 ppdu_info->rx_status.he_data2 = in hal_rx_status_get_tlv_info_generic_be()
3268 ppdu_info->rx_status.he_data2 |= in hal_rx_status_get_tlv_info_generic_be()
3278 ppdu_info->rx_status.he_data3 = value; in hal_rx_status_get_tlv_info_generic_be()
3283 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3289 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3295 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3300 ppdu_info->rx_status.he_data4 = value; in hal_rx_status_get_tlv_info_generic_be()
3305 ppdu_info->rx_status.he_data5 = value; in hal_rx_status_get_tlv_info_generic_be()
3306 ppdu_info->rx_status.bw = value; in hal_rx_status_get_tlv_info_generic_be()
3328 ppdu_info->rx_status.sgi = he_gi; in hal_rx_status_get_tlv_info_generic_be()
3329 ppdu_info->rx_status.ltf_size = he_ltf; in hal_rx_status_get_tlv_info_generic_be()
3332 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3335 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3340 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3345 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3350 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3356 ppdu_info->rx_status.he_data6 |= value; in hal_rx_status_get_tlv_info_generic_be()
3361 ppdu_info->rx_status.he_data6 |= value; in hal_rx_status_get_tlv_info_generic_be()
3365 ppdu_info->rx_status.he_flags1 = in hal_rx_status_get_tlv_info_generic_be()
3374 ppdu_info->rx_status.he_flags1 |= value; in hal_rx_status_get_tlv_info_generic_be()
3378 ppdu_info->rx_status.he_flags1 |= value; in hal_rx_status_get_tlv_info_generic_be()
3381 ppdu_info->rx_status.he_flags2 = in hal_rx_status_get_tlv_info_generic_be()
3386 ppdu_info->rx_status.he_flags2 |= value; in hal_rx_status_get_tlv_info_generic_be()
3390 ppdu_info->rx_status.he_flags2 |= value; in hal_rx_status_get_tlv_info_generic_be()
3395 ppdu_info->rx_status.he_flags2 |= value; in hal_rx_status_get_tlv_info_generic_be()
3396 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_MIMO; in hal_rx_status_get_tlv_info_generic_be()
3401 hal_rx_he_sig_a_mu_ul_e_handle(ppdu_info, rx_tlv); in hal_rx_status_get_tlv_info_generic_be()
3410 ppdu_info->rx_status.he_sig_b_common_known |= in hal_rx_status_get_tlv_info_generic_be()
3418 ppdu_info->rx_status.he_RU[0] = value; in hal_rx_status_get_tlv_info_generic_be()
3419 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_MIMO; in hal_rx_status_get_tlv_info_generic_be()
3434 ppdu_info->rx_status.he_data1 |= in hal_rx_status_get_tlv_info_generic_be()
3443 ppdu_info->rx_status.mcs = value; in hal_rx_status_get_tlv_info_generic_be()
3445 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3450 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3456 ppdu_info->rx_status.he_data4 |= value; in hal_rx_status_get_tlv_info_generic_be()
3465 ppdu_info->rx_status.nss = value; in hal_rx_status_get_tlv_info_generic_be()
3466 ppdu_info->rx_status.he_data6 |= value; in hal_rx_status_get_tlv_info_generic_be()
3484 ppdu_info->rx_status.he_data1 |= in hal_rx_status_get_tlv_info_generic_be()
3490 ppdu_info->rx_status.he_data2 |= in hal_rx_status_get_tlv_info_generic_be()
3496 ppdu_info->rx_status.mcs = value; in hal_rx_status_get_tlv_info_generic_be()
3498 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3504 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3509 ppdu_info->rx_status.he_data3 |= value; in hal_rx_status_get_tlv_info_generic_be()
3515 ppdu_info->rx_status.he_data4 |= value; in hal_rx_status_get_tlv_info_generic_be()
3521 ppdu_info->rx_status.he_data5 |= value; in hal_rx_status_get_tlv_info_generic_be()
3528 ppdu_info->rx_status.nss = value; in hal_rx_status_get_tlv_info_generic_be()
3529 ppdu_info->rx_status.he_data6 |= value; in hal_rx_status_get_tlv_info_generic_be()
3530 ppdu_info->rx_status.reception_type = HAL_RX_TYPE_MU_OFDMA; in hal_rx_status_get_tlv_info_generic_be()
3541 ppdu_info->rx_status.rssi_comb = in hal_rx_status_get_tlv_info_generic_be()
3544 ppdu_info->rx_status.bw = hal->ops->hal_rx_get_tlv(rx_tlv); in hal_rx_status_get_tlv_info_generic_be()
3545 ppdu_info->rx_status.he_re = 0; in hal_rx_status_get_tlv_info_generic_be()
3552 ppdu_info->rx_status.ulofdma_flag = 1; in hal_rx_status_get_tlv_info_generic_be()
3553 ppdu_info->rx_status.he_data1 = in hal_rx_status_get_tlv_info_generic_be()
3557 ppdu_info->rx_status.he_data1 = in hal_rx_status_get_tlv_info_generic_be()
3564 ppdu_info->rx_status.ul_mu_type = reception_type; in hal_rx_status_get_tlv_info_generic_be()
3566 hal_rx_update_rssi_chain(ppdu_info, rssi_info_tlv); in hal_rx_status_get_tlv_info_generic_be()
3570 ppdu_info->rx_status.rssi[0] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3575 ppdu_info->rx_status.rssi[1] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3580 ppdu_info->rx_status.rssi[2] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3585 ppdu_info->rx_status.rssi[3] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3592 ppdu_info->rx_status.rssi[4] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3597 ppdu_info->rx_status.rssi[5] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3602 ppdu_info->rx_status.rssi[6] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3607 ppdu_info->rx_status.rssi[7] = rssi_value; in hal_rx_status_get_tlv_info_generic_be()
3613 ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
3616 hal_rx_parse_u_sig_hdr(hal, rx_tlv, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
3619 hal_rx_parse_cmn_usr_info(hal, rx_tlv, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
3623 struct hal_rx_ppdu_common_info *com_info = &ppdu_info->com_info; in hal_rx_status_get_tlv_info_generic_be()
3625 if (ppdu_info->fcs_ok_cnt >= in hal_rx_status_get_tlv_info_generic_be()
3628 ppdu_info->fcs_ok_cnt); in hal_rx_status_get_tlv_info_generic_be()
3635 ppdu_info->ppdu_msdu_info[ppdu_info->fcs_ok_cnt].first_msdu_payload = in hal_rx_status_get_tlv_info_generic_be()
3637 ppdu_info->ppdu_msdu_info[ppdu_info->fcs_ok_cnt].payload_len = tlv_len; in hal_rx_status_get_tlv_info_generic_be()
3638 ppdu_info->msdu_info.first_msdu_payload = rx_tlv; in hal_rx_status_get_tlv_info_generic_be()
3639 ppdu_info->msdu_info.payload_len = tlv_len; in hal_rx_status_get_tlv_info_generic_be()
3640 ppdu_info->user_id = user_id; in hal_rx_status_get_tlv_info_generic_be()
3641 ppdu_info->hdr_len = tlv_len; in hal_rx_status_get_tlv_info_generic_be()
3642 ppdu_info->data = rx_tlv; in hal_rx_status_get_tlv_info_generic_be()
3643 ppdu_info->data += 4; in hal_rx_status_get_tlv_info_generic_be()
3647 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3656 ppdu_info->nac_info.fc_valid = in hal_rx_status_get_tlv_info_generic_be()
3659 ppdu_info->nac_info.to_ds_flag = in hal_rx_status_get_tlv_info_generic_be()
3662 ppdu_info->nac_info.frame_control = in hal_rx_status_get_tlv_info_generic_be()
3665 ppdu_info->sw_frame_group_id = in hal_rx_status_get_tlv_info_generic_be()
3668 ppdu_info->rx_user_status[user_id].sw_peer_id = in hal_rx_status_get_tlv_info_generic_be()
3671 hal_update_rx_ctrl_frame_stats(ppdu_info, user_id); in hal_rx_status_get_tlv_info_generic_be()
3673 if (ppdu_info->sw_frame_group_id == in hal_rx_status_get_tlv_info_generic_be()
3675 ppdu_info->rx_status.frame_control_info_valid = in hal_rx_status_get_tlv_info_generic_be()
3676 ppdu_info->nac_info.fc_valid; in hal_rx_status_get_tlv_info_generic_be()
3677 ppdu_info->rx_status.frame_control = in hal_rx_status_get_tlv_info_generic_be()
3678 ppdu_info->nac_info.frame_control; in hal_rx_status_get_tlv_info_generic_be()
3682 ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
3684 ppdu_info->nac_info.mac_addr2_valid = in hal_rx_status_get_tlv_info_generic_be()
3687 *(uint16_t *)&ppdu_info->nac_info.mac_addr2[0] = in hal_rx_status_get_tlv_info_generic_be()
3690 *(uint32_t *)&ppdu_info->nac_info.mac_addr2[2] = in hal_rx_status_get_tlv_info_generic_be()
3693 if (ppdu_info->rx_status.prev_ppdu_id != ppdu_id) { in hal_rx_status_get_tlv_info_generic_be()
3694 ppdu_info->rx_status.prev_ppdu_id = ppdu_id; in hal_rx_status_get_tlv_info_generic_be()
3695 ppdu_info->rx_status.ppdu_len = in hal_rx_status_get_tlv_info_generic_be()
3698 ppdu_info->rx_status.ppdu_len += in hal_rx_status_get_tlv_info_generic_be()
3706 ppdu_info->rx_status.rxpcu_filter_pass = 1; in hal_rx_status_get_tlv_info_generic_be()
3708 ppdu_info->rx_status.monitor_direct_used = 1; in hal_rx_status_get_tlv_info_generic_be()
3710 ppdu_info->rx_user_status[user_id].filter_category = filter_category; in hal_rx_status_get_tlv_info_generic_be()
3712 ppdu_info->nac_info.mcast_bcast = in hal_rx_status_get_tlv_info_generic_be()
3714 ppdu_info->mpdu_info[user_id].decap_type = in hal_rx_status_get_tlv_info_generic_be()
3717 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3721 ppdu_info->user_id = user_id; in hal_rx_status_get_tlv_info_generic_be()
3722 ppdu_info->fcs_err = in hal_rx_status_get_tlv_info_generic_be()
3726 ppdu_info->mpdu_info[user_id].fcs_err = ppdu_info->fcs_err; in hal_rx_status_get_tlv_info_generic_be()
3727 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3733 ppdu_info->rx_msdu_info[user_id].cce_metadata = in hal_rx_status_get_tlv_info_generic_be()
3735 ppdu_info->rx_msdu_info[user_id].fse_metadata = in hal_rx_status_get_tlv_info_generic_be()
3737 ppdu_info->rx_msdu_info[user_id].is_flow_idx_timeout = in hal_rx_status_get_tlv_info_generic_be()
3739 ppdu_info->rx_msdu_info[user_id].is_flow_idx_invalid = in hal_rx_status_get_tlv_info_generic_be()
3741 ppdu_info->rx_msdu_info[user_id].flow_idx = in hal_rx_status_get_tlv_info_generic_be()
3743 ppdu_info->msdu[user_id].first_msdu = in hal_rx_status_get_tlv_info_generic_be()
3745 ppdu_info->msdu[user_id].last_msdu = in hal_rx_status_get_tlv_info_generic_be()
3747 ppdu_info->msdu[user_id].msdu_len = in hal_rx_status_get_tlv_info_generic_be()
3749 ppdu_info->msdu[user_id].user_rssi = in hal_rx_status_get_tlv_info_generic_be()
3751 ppdu_info->msdu[user_id].reception_type = in hal_rx_status_get_tlv_info_generic_be()
3754 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3758 hal_rx_status_get_mon_buf_addr(rx_tlv, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
3759 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3762 hal_rx_update_ppdu_drop_cnt(rx_tlv, ppdu_info); in hal_rx_status_get_tlv_info_generic_be()
3763 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3766 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3771 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3778 hal_rx_record_tlv_info(ppdu_info, tlv_tag); in hal_rx_status_get_tlv_info_generic_be()
3784 struct hal_rx_ppdu_info *ppdu_info) in hal_rx_status_process_aggr_tlv() argument
3786 uint32_t aggr_tlv_tag = ppdu_info->tlv_aggr.tlv_tag; in hal_rx_status_process_aggr_tlv()
3790 hal_rx_parse_eht_sig_hdr(hal_soc, ppdu_info->tlv_aggr.buf, in hal_rx_status_process_aggr_tlv()
3791 ppdu_info); in hal_rx_status_process_aggr_tlv()
3799 ppdu_info->tlv_aggr.in_progress = 0; in hal_rx_status_process_aggr_tlv()
3800 ppdu_info->tlv_aggr.cur_len = 0; in hal_rx_status_process_aggr_tlv()
3818 struct hal_rx_ppdu_info *ppdu_info, in hal_rx_status_aggr_tlv() argument
3830 if (tlv_len <= HAL_RX_MON_MAX_AGGR_SIZE - ppdu_info->tlv_aggr.cur_len) { in hal_rx_status_aggr_tlv()
3831 qdf_mem_copy(ppdu_info->tlv_aggr.buf + in hal_rx_status_aggr_tlv()
3832 ppdu_info->tlv_aggr.cur_len, in hal_rx_status_aggr_tlv()
3834 ppdu_info->tlv_aggr.cur_len += tlv_len; in hal_rx_status_aggr_tlv()
3845 struct hal_rx_ppdu_info *ppdu_info, in hal_rx_status_start_new_aggr_tlv() argument
3854 ppdu_info->tlv_aggr.in_progress = 1; in hal_rx_status_start_new_aggr_tlv()
3855 ppdu_info->tlv_aggr.tlv_tag = tlv_tag; in hal_rx_status_start_new_aggr_tlv()
3856 ppdu_info->tlv_aggr.cur_len = 0; in hal_rx_status_start_new_aggr_tlv()
3857 ppdu_info->tlv_aggr.rd_idx = 0; in hal_rx_status_start_new_aggr_tlv()
3859 return hal_rx_status_aggr_tlv(hal_soc, rx_tlv_hdr, ppdu_info, nbuf); in hal_rx_status_start_new_aggr_tlv()
3869 struct hal_rx_ppdu_info *ppdu_info = in hal_rx_status_get_tlv_info_wrapper_be() local
3881 if (ppdu_info->tlv_aggr.in_progress) { in hal_rx_status_get_tlv_info_wrapper_be()
3882 if (ppdu_info->tlv_aggr.tlv_tag == tlv_tag) { in hal_rx_status_get_tlv_info_wrapper_be()
3884 ppdu_info, nbuf); in hal_rx_status_get_tlv_info_wrapper_be()
3887 hal_rx_status_process_aggr_tlv(hal, ppdu_info); in hal_rx_status_get_tlv_info_wrapper_be()