Lines Matching refs:ppdu

2476 			 struct cdp_tx_completion_ppdu_user *ppdu,  in dp_peer_copy_delay_stats()  argument
2494 mon_peer->delayed_ba_ppdu_stats.ltf_size = ppdu->ltf_size; in dp_peer_copy_delay_stats()
2495 mon_peer->delayed_ba_ppdu_stats.stbc = ppdu->stbc; in dp_peer_copy_delay_stats()
2496 mon_peer->delayed_ba_ppdu_stats.he_re = ppdu->he_re; in dp_peer_copy_delay_stats()
2497 mon_peer->delayed_ba_ppdu_stats.txbf = ppdu->txbf; in dp_peer_copy_delay_stats()
2498 mon_peer->delayed_ba_ppdu_stats.bw = ppdu->bw; in dp_peer_copy_delay_stats()
2499 mon_peer->delayed_ba_ppdu_stats.nss = ppdu->nss; in dp_peer_copy_delay_stats()
2500 mon_peer->delayed_ba_ppdu_stats.gi = ppdu->gi; in dp_peer_copy_delay_stats()
2501 mon_peer->delayed_ba_ppdu_stats.dcm = ppdu->dcm; in dp_peer_copy_delay_stats()
2502 mon_peer->delayed_ba_ppdu_stats.ldpc = ppdu->ldpc; in dp_peer_copy_delay_stats()
2503 mon_peer->delayed_ba_ppdu_stats.dcm = ppdu->dcm; in dp_peer_copy_delay_stats()
2505 ppdu->mpdu_tried_ucast; in dp_peer_copy_delay_stats()
2507 ppdu->mpdu_tried_mcast; in dp_peer_copy_delay_stats()
2508 mon_peer->delayed_ba_ppdu_stats.frame_ctrl = ppdu->frame_ctrl; in dp_peer_copy_delay_stats()
2509 mon_peer->delayed_ba_ppdu_stats.qos_ctrl = ppdu->qos_ctrl; in dp_peer_copy_delay_stats()
2510 mon_peer->delayed_ba_ppdu_stats.dcm = ppdu->dcm; in dp_peer_copy_delay_stats()
2512 mon_peer->delayed_ba_ppdu_stats.ru_start = ppdu->ru_start; in dp_peer_copy_delay_stats()
2513 mon_peer->delayed_ba_ppdu_stats.ru_tones = ppdu->ru_tones; in dp_peer_copy_delay_stats()
2514 mon_peer->delayed_ba_ppdu_stats.is_mcast = ppdu->is_mcast; in dp_peer_copy_delay_stats()
2516 mon_peer->delayed_ba_ppdu_stats.user_pos = ppdu->user_pos; in dp_peer_copy_delay_stats()
2517 mon_peer->delayed_ba_ppdu_stats.mu_group_id = ppdu->mu_group_id; in dp_peer_copy_delay_stats()
2521 ppdu->debug_copied = true; in dp_peer_copy_delay_stats()
2539 struct cdp_tx_completion_ppdu_user *ppdu) in dp_peer_copy_stats_to_bar() argument
2543 ppdu->ltf_size = mon_peer->delayed_ba_ppdu_stats.ltf_size; in dp_peer_copy_stats_to_bar()
2544 ppdu->stbc = mon_peer->delayed_ba_ppdu_stats.stbc; in dp_peer_copy_stats_to_bar()
2545 ppdu->he_re = mon_peer->delayed_ba_ppdu_stats.he_re; in dp_peer_copy_stats_to_bar()
2546 ppdu->txbf = mon_peer->delayed_ba_ppdu_stats.txbf; in dp_peer_copy_stats_to_bar()
2547 ppdu->bw = mon_peer->delayed_ba_ppdu_stats.bw; in dp_peer_copy_stats_to_bar()
2548 ppdu->nss = mon_peer->delayed_ba_ppdu_stats.nss; in dp_peer_copy_stats_to_bar()
2549 ppdu->gi = mon_peer->delayed_ba_ppdu_stats.gi; in dp_peer_copy_stats_to_bar()
2550 ppdu->dcm = mon_peer->delayed_ba_ppdu_stats.dcm; in dp_peer_copy_stats_to_bar()
2551 ppdu->ldpc = mon_peer->delayed_ba_ppdu_stats.ldpc; in dp_peer_copy_stats_to_bar()
2552 ppdu->dcm = mon_peer->delayed_ba_ppdu_stats.dcm; in dp_peer_copy_stats_to_bar()
2553 ppdu->mpdu_tried_ucast = in dp_peer_copy_stats_to_bar()
2555 ppdu->mpdu_tried_mcast = in dp_peer_copy_stats_to_bar()
2557 ppdu->frame_ctrl = mon_peer->delayed_ba_ppdu_stats.frame_ctrl; in dp_peer_copy_stats_to_bar()
2558 ppdu->qos_ctrl = mon_peer->delayed_ba_ppdu_stats.qos_ctrl; in dp_peer_copy_stats_to_bar()
2559 ppdu->dcm = mon_peer->delayed_ba_ppdu_stats.dcm; in dp_peer_copy_stats_to_bar()
2561 ppdu->ru_start = mon_peer->delayed_ba_ppdu_stats.ru_start; in dp_peer_copy_stats_to_bar()
2562 ppdu->ru_tones = mon_peer->delayed_ba_ppdu_stats.ru_tones; in dp_peer_copy_stats_to_bar()
2563 ppdu->is_mcast = mon_peer->delayed_ba_ppdu_stats.is_mcast; in dp_peer_copy_stats_to_bar()
2565 ppdu->user_pos = mon_peer->delayed_ba_ppdu_stats.user_pos; in dp_peer_copy_stats_to_bar()
2566 ppdu->mu_group_id = mon_peer->delayed_ba_ppdu_stats.mu_group_id; in dp_peer_copy_stats_to_bar()
2570 ppdu->debug_copied = true; in dp_peer_copy_stats_to_bar()
2582 struct cdp_tx_completion_ppdu_user *ppdu) in dp_tx_rate_stats_update() argument
2590 if (!peer || !ppdu) in dp_tx_rate_stats_update()
2593 if (ppdu->completion_status != HTT_PPDU_STATS_USER_STATUS_OK) in dp_tx_rate_stats_update()
2600 ratekbps = dp_getrateindex(ppdu->gi, in dp_tx_rate_stats_update()
2601 ppdu->mcs, in dp_tx_rate_stats_update()
2602 ppdu->nss, in dp_tx_rate_stats_update()
2603 ppdu->preamble, in dp_tx_rate_stats_update()
2604 ppdu->bw, in dp_tx_rate_stats_update()
2605 ppdu->punc_mode, in dp_tx_rate_stats_update()
2616 if ((!peer->bss_peer) && (!ppdu->sa_is_training)) { in dp_tx_rate_stats_update()
2617 ppdu->sa_goodput = ((ratekbps / CDP_NUM_KB_IN_MB) * in dp_tx_rate_stats_update()
2618 (CDP_PERCENT_MACRO - ppdu->current_rate_per)); in dp_tx_rate_stats_update()
2620 ppdu->rix = rix; in dp_tx_rate_stats_update()
2621 ppdu->tx_ratekbps = ratekbps; in dp_tx_rate_stats_update()
2622 ppdu->tx_ratecode = ratecode; in dp_tx_rate_stats_update()
2629 mon_peer->stats.tx.bw_info = ppdu->bw; in dp_tx_rate_stats_update()
2630 mon_peer->stats.tx.gi_info = ppdu->gi; in dp_tx_rate_stats_update()
2631 mon_peer->stats.tx.nss_info = ppdu->nss; in dp_tx_rate_stats_update()
2632 mon_peer->stats.tx.mcs_info = ppdu->mcs; in dp_tx_rate_stats_update()
2633 mon_peer->stats.tx.preamble_info = ppdu->preamble; in dp_tx_rate_stats_update()
2645 peer->vdev->stats.tx.mcast_last_tx_rate_mcs = ppdu->mcs; in dp_tx_rate_stats_update()
2648 peer->vdev->stats.tx.last_tx_rate_mcs = ppdu->mcs; in dp_tx_rate_stats_update()
2891 struct cdp_tx_completion_ppdu_user *ppdu) in dp_pdev_telemetry_stats_update() argument
2898 num_mpdu = ppdu->mpdu_success; in dp_pdev_telemetry_stats_update()
2899 mpdu_tried = ppdu->mpdu_tried_ucast + ppdu->mpdu_tried_mcast; in dp_pdev_telemetry_stats_update()
2902 ac = TID_TO_WME_AC(ppdu->tid); in dp_pdev_telemetry_stats_update()
2918 void dp_ppdu_desc_get_txmode(struct cdp_tx_completion_ppdu *ppdu) in dp_ppdu_desc_get_txmode() argument
2920 uint16_t frame_type = ppdu->htt_frame_type; in dp_ppdu_desc_get_txmode()
2922 ppdu->txmode_type = TX_MODE_TYPE_UNKNOWN; in dp_ppdu_desc_get_txmode()
2924 if (ppdu->frame_type == CDP_PPDU_FTYPE_CTRL && in dp_ppdu_desc_get_txmode()
2931 ppdu->txmode = TX_MODE_UL_OFDMA_MU_BAR_TRIGGER; in dp_ppdu_desc_get_txmode()
2932 ppdu->txmode_type = TX_MODE_TYPE_UL; in dp_ppdu_desc_get_txmode()
2937 switch (ppdu->htt_seq_type) { in dp_ppdu_desc_get_txmode()
2940 ppdu->txmode = TX_MODE_DL_SU_DATA; in dp_ppdu_desc_get_txmode()
2941 ppdu->txmode_type = TX_MODE_TYPE_DL; in dp_ppdu_desc_get_txmode()
2947 ppdu->txmode = TX_MODE_DL_OFDMA_DATA; in dp_ppdu_desc_get_txmode()
2948 ppdu->txmode_type = TX_MODE_TYPE_DL; in dp_ppdu_desc_get_txmode()
2955 ppdu->txmode = TX_MODE_DL_MUMIMO_DATA; in dp_ppdu_desc_get_txmode()
2956 ppdu->txmode_type = TX_MODE_TYPE_DL; in dp_ppdu_desc_get_txmode()
2963 ppdu->txmode = TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA; in dp_ppdu_desc_get_txmode()
2964 ppdu->txmode_type = TX_MODE_TYPE_UL; in dp_ppdu_desc_get_txmode()
2971 ppdu->txmode = TX_MODE_UL_MUMIMO_BASIC_TRIGGER_DATA; in dp_ppdu_desc_get_txmode()
2972 ppdu->txmode_type = TX_MODE_TYPE_UL; in dp_ppdu_desc_get_txmode()
2976 ppdu->txmode_type = TX_MODE_TYPE_UNKNOWN; in dp_ppdu_desc_get_txmode()
2990 struct cdp_tx_completion_ppdu *ppdu) in dp_pdev_update_deter_stats() argument
2994 if (!pdev || !ppdu) in dp_pdev_update_deter_stats()
2997 if (ppdu->txmode_type == TX_MODE_TYPE_UNKNOWN) in dp_pdev_update_deter_stats()
3000 if (ppdu->backoff_ac_valid) { in dp_pdev_update_deter_stats()
3001 if (ppdu->backoff_ac >= WME_AC_MAX) { in dp_pdev_update_deter_stats()
3003 ppdu->backoff_ac); in dp_pdev_update_deter_stats()
3007 deter_stats.ch_access_delay[ppdu->backoff_ac], in dp_pdev_update_deter_stats()
3008 ppdu->ch_access_delay); in dp_pdev_update_deter_stats()
3011 if (ppdu->txmode_type == TX_MODE_TYPE_DL) { in dp_pdev_update_deter_stats()
3013 deter_stats.dl_mode_cnt[ppdu->txmode], in dp_pdev_update_deter_stats()
3015 if (!ppdu->num_users) { in dp_pdev_update_deter_stats()
3016 dp_mon_err("dl users is %d", ppdu->num_users); in dp_pdev_update_deter_stats()
3019 user_idx = ppdu->num_users - 1; in dp_pdev_update_deter_stats()
3020 switch (ppdu->txmode) { in dp_pdev_update_deter_stats()
3029 ppdu->num_users); in dp_pdev_update_deter_stats()
3039 deter_stats.ul_mode_cnt[ppdu->txmode], in dp_pdev_update_deter_stats()
3042 if (!ppdu->num_ul_users) { in dp_pdev_update_deter_stats()
3043 dp_mon_err("dl users is %d", ppdu->num_ul_users); in dp_pdev_update_deter_stats()
3046 user_idx = ppdu->num_ul_users - 1; in dp_pdev_update_deter_stats()
3047 switch (ppdu->txmode) { in dp_pdev_update_deter_stats()
3056 ppdu->num_ul_users); in dp_pdev_update_deter_stats()
3064 if (ppdu->num_ul_user_resp_valid) { in dp_pdev_update_deter_stats()
3065 if (ppdu->num_ul_user_resp) { in dp_pdev_update_deter_stats()
3067 deter_stats.ts[ppdu->txmode].trigger_success, in dp_pdev_update_deter_stats()
3071 deter_stats.ts[ppdu->txmode].trigger_fail, in dp_pdev_update_deter_stats()
3209 void dp_ppdu_desc_get_txmode(struct cdp_tx_completion_ppdu *ppdu) in dp_ppdu_desc_get_txmode() argument
3229 struct cdp_tx_completion_ppdu_user *ppdu) in dp_pdev_telemetry_stats_update() argument
3234 struct cdp_tx_completion_ppdu *ppdu) in dp_pdev_update_deter_stats() argument
3249 struct cdp_tx_completion_ppdu_user *ppdu, in dp_tx_stats_update() argument
3265 preamble = ppdu->preamble; in dp_tx_stats_update()
3266 mcs = ppdu->mcs; in dp_tx_stats_update()
3267 num_msdu = ppdu->num_msdu; in dp_tx_stats_update()
3268 num_mpdu = ppdu->mpdu_success; in dp_tx_stats_update()
3269 mpdu_tried = ppdu->mpdu_tried_ucast + ppdu->mpdu_tried_mcast; in dp_tx_stats_update()
3271 tx_byte_count = ppdu->success_bytes; in dp_tx_stats_update()
3284 if (!ppdu->is_mcast) { in dp_tx_stats_update()
3290 if (ppdu->completion_status != HTT_PPDU_STATS_USER_STATUS_OK) { in dp_tx_stats_update()
3298 dp_pdev_telemetry_stats_update(pdev, ppdu); in dp_tx_stats_update()
3302 if (ppdu->is_ppdu_cookie_valid) in dp_tx_stats_update()
3305 if (ppdu->mu_group_id <= MAX_MU_GROUP_ID && in dp_tx_stats_update()
3306 ppdu->ppdu_type != HTT_PPDU_STATS_PPDU_TYPE_SU) { in dp_tx_stats_update()
3307 if (qdf_unlikely(ppdu->mu_group_id && in dp_tx_stats_update()
3308 !(ppdu->mu_group_id & (MAX_MU_GROUP_ID - 1)))) in dp_tx_stats_update()
3312 DP_STATS_UPD(mon_peer, tx.mu_group_id[ppdu->mu_group_id], in dp_tx_stats_update()
3313 (ppdu->user_pos + 1)); in dp_tx_stats_update()
3316 if (ppdu->ppdu_type == HTT_PPDU_STATS_PPDU_TYPE_MU_OFDMA || in dp_tx_stats_update()
3317 ppdu->ppdu_type == HTT_PPDU_STATS_PPDU_TYPE_MU_MIMO_OFDMA) { in dp_tx_stats_update()
3318 DP_STATS_UPD(mon_peer, tx.ru_tones, ppdu->ru_tones); in dp_tx_stats_update()
3319 DP_STATS_UPD(mon_peer, tx.ru_start, ppdu->ru_start); in dp_tx_stats_update()
3320 ru_index = dp_get_ru_index_frm_ru_tones(ppdu->ru_tones); in dp_tx_stats_update()
3339 DP_STATS_INC(mon_peer, tx.transmit_type[ppdu->ppdu_type].num_msdu, in dp_tx_stats_update()
3341 DP_STATS_INC(mon_peer, tx.transmit_type[ppdu->ppdu_type].num_mpdu, in dp_tx_stats_update()
3343 DP_STATS_INC(mon_peer, tx.transmit_type[ppdu->ppdu_type].mpdu_tried, in dp_tx_stats_update()
3346 DP_STATS_INC(mon_peer, tx.sgi_count[ppdu->gi], num_msdu); in dp_tx_stats_update()
3347 DP_STATS_INC(mon_peer, tx.bw[ppdu->bw], num_msdu); in dp_tx_stats_update()
3348 DP_STATS_INC(mon_peer, tx.nss[ppdu->nss], num_msdu); in dp_tx_stats_update()
3349 if (ppdu->tid < CDP_DATA_TID_MAX) { in dp_tx_stats_update()
3350 DP_STATS_INC(mon_peer, tx.wme_ac_type[TID_TO_WME_AC(ppdu->tid)], in dp_tx_stats_update()
3353 tx.wme_ac_type_bytes[TID_TO_WME_AC(ppdu->tid)], in dp_tx_stats_update()
3357 DP_STATS_INCC(mon_peer, tx.stbc, num_msdu, ppdu->stbc); in dp_tx_stats_update()
3358 DP_STATS_INCC(mon_peer, tx.ldpc, num_msdu, ppdu->ldpc); in dp_tx_stats_update()
3359 if (!(ppdu->is_mcast) && ppdu->ack_rssi_valid) in dp_tx_stats_update()
3362 if (!ppdu->is_mcast) { in dp_tx_stats_update()
3391 DP_STATS_INCC(mon_peer, tx.ampdu_cnt, num_mpdu, ppdu->is_ampdu); in dp_tx_stats_update()
3392 DP_STATS_INCC(mon_peer, tx.non_ampdu_cnt, num_mpdu, !(ppdu->is_ampdu)); in dp_tx_stats_update()
3393 DP_STATS_INCC(mon_peer, tx.pream_punct_cnt, 1, ppdu->pream_punct); in dp_tx_stats_update()
3399 DP_STATS_UPD(mon_peer, tx.rssi_chain[idx], ppdu->rssi_chain[idx]); in dp_tx_stats_update()
3403 mon_ops->mon_tx_stats_update(mon_peer, ppdu); in dp_tx_stats_update()
3405 if (!ppdu->fixed_rate_used) in dp_tx_stats_update()
3406 dp_tx_rate_stats_update(peer, ppdu); in dp_tx_stats_update()
3408 dp_pdev_telemetry_stats_update(pdev, ppdu); in dp_tx_stats_update()
3415 dp_send_stats_event(pdev, peer, ppdu->peer_id); in dp_tx_stats_update()