Lines Matching refs:pmon
3000 ath11k_dp_rx_mon_update_status_buf_state(struct ath11k_mon_data *pmon, in ath11k_dp_rx_mon_update_status_buf_state() argument
3021 if (pmon->sw_mon_entries.ppdu_id < ppdu_id) { in ath11k_dp_rx_mon_update_status_buf_state()
3022 pmon->buf_state = DP_MON_STATUS_LEAD; in ath11k_dp_rx_mon_update_status_buf_state()
3023 ppdu_id_diff = ppdu_id - pmon->sw_mon_entries.ppdu_id; in ath11k_dp_rx_mon_update_status_buf_state()
3025 pmon->buf_state = DP_MON_STATUS_LAG; in ath11k_dp_rx_mon_update_status_buf_state()
3026 } else if (pmon->sw_mon_entries.ppdu_id > ppdu_id) { in ath11k_dp_rx_mon_update_status_buf_state()
3027 pmon->buf_state = DP_MON_STATUS_LAG; in ath11k_dp_rx_mon_update_status_buf_state()
3028 ppdu_id_diff = pmon->sw_mon_entries.ppdu_id - ppdu_id; in ath11k_dp_rx_mon_update_status_buf_state()
3030 pmon->buf_state = DP_MON_STATUS_LEAD; in ath11k_dp_rx_mon_update_status_buf_state()
3041 struct ath11k_mon_data *pmon; in ath11k_dp_rx_reap_mon_status_ring() local
3055 pmon = &dp->mon_data; in ath11k_dp_rx_reap_mon_status_ring()
3069 pmon->buf_state = DP_MON_STATUS_REPLINISH; in ath11k_dp_rx_reap_mon_status_ring()
3085 pmon->buf_state = DP_MON_STATUS_REPLINISH; in ath11k_dp_rx_reap_mon_status_ring()
3108 pmon->buf_state = DP_MON_STATUS_NO_DMA; in ath11k_dp_rx_reap_mon_status_ring()
3116 ath11k_dp_rx_mon_update_status_buf_state(pmon, tlv); in ath11k_dp_rx_reap_mon_status_ring()
3117 if (paddr == pmon->mon_status_paddr) in ath11k_dp_rx_reap_mon_status_ring()
3118 pmon->buf_state = DP_MON_STATUS_MATCH; in ath11k_dp_rx_reap_mon_status_ring()
3127 pmon->buf_state = DP_MON_STATUS_REPLINISH; in ath11k_dp_rx_reap_mon_status_ring()
4697 struct ath11k_mon_data *pmon = (struct ath11k_mon_data *)&dp->mon_data; in ath11k_dp_rx_mon_mpdu_pop() local
4737 pmon->rx_mon_stats.dest_mpdu_drop++; in ath11k_dp_rx_mon_mpdu_pop()
4745 if (pmon->mon_last_linkdesc_paddr == paddr) { in ath11k_dp_rx_mon_mpdu_pop()
4746 pmon->rx_mon_stats.dup_mon_linkdesc_cnt++; in ath11k_dp_rx_mon_mpdu_pop()
4753 (void *)pmon->link_desc_banks[sw_cookie].vaddr + in ath11k_dp_rx_mon_mpdu_pop()
4755 (u8 *)pmon->link_desc_banks[sw_cookie].vaddr + in ath11k_dp_rx_mon_mpdu_pop()
4757 (paddr - pmon->link_desc_banks[sw_cookie].paddr); in ath11k_dp_rx_mon_mpdu_pop()
4773 if (pmon->mon_last_buf_cookie == msdu_list.sw_cookie[i]) { in ath11k_dp_rx_mon_mpdu_pop()
4776 i, pmon->mon_last_buf_cookie); in ath11k_dp_rx_mon_mpdu_pop()
4778 pmon->rx_mon_stats.dup_mon_buf_cnt++; in ath11k_dp_rx_mon_mpdu_pop()
4819 pmon->mon_last_linkdesc_paddr = paddr; in ath11k_dp_rx_mon_mpdu_pop()
4837 pmon->mon_last_linkdesc_paddr = paddr; in ath11k_dp_rx_mon_mpdu_pop()
4854 pmon->mon_last_buf_cookie = msdu_list.sw_cookie[i]; in ath11k_dp_rx_mon_mpdu_pop()
5152 struct ath11k_mon_data *pmon = (struct ath11k_mon_data *)&dp->mon_data; in ath11k_dp_rx_mon_dest_process() local
5177 spin_lock_bh(&pmon->mon_lock); in ath11k_dp_rx_mon_dest_process()
5181 ppdu_id = pmon->mon_ppdu_info.ppdu_id; in ath11k_dp_rx_mon_dest_process()
5183 rx_mon_stats = &pmon->rx_mon_stats; in ath11k_dp_rx_mon_dest_process()
5209 pmon->mon_ppdu_info.ppdu_id, ppdu_id, in ath11k_dp_rx_mon_dest_process()
5213 pmon->mon_ppdu_info.ppdu_id = ppdu_id; in ath11k_dp_rx_mon_dest_process()
5217 if (ppdu_id != pmon->mon_ppdu_info.ppdu_id) { in ath11k_dp_rx_mon_dest_process()
5218 pmon->mon_ppdu_status = DP_PPDU_STATUS_START; in ath11k_dp_rx_mon_dest_process()
5221 ppdu_id, pmon->mon_ppdu_info.ppdu_id, in ath11k_dp_rx_mon_dest_process()
5228 &pmon->mon_ppdu_info, in ath11k_dp_rx_mon_dest_process()
5238 spin_unlock_bh(&pmon->mon_lock); in ath11k_dp_rx_mon_dest_process()
5269 struct ath11k_mon_data *pmon = (struct ath11k_mon_data *)&ar->dp.mon_data; in ath11k_dp_rx_process_mon_status() local
5270 struct ath11k_pdev_mon_stats *rx_mon_stats = &pmon->rx_mon_stats; in ath11k_dp_rx_process_mon_status()
5271 struct hal_rx_mon_ppdu_info *ppdu_info = &pmon->mon_ppdu_info; in ath11k_dp_rx_process_mon_status()
5303 pmon->mon_ppdu_status == DP_PPDU_STATUS_START && in ath11k_dp_rx_process_mon_status()
5306 pmon->mon_ppdu_status = DP_PPDU_STATUS_DONE; in ath11k_dp_rx_process_mon_status()
5308 pmon->mon_ppdu_status = DP_PPDU_STATUS_START; in ath11k_dp_rx_process_mon_status()
5353 struct ath11k_mon_data *pmon = &dp->mon_data; in ath11k_dp_rx_full_mon_mpdu_pop() local
5393 pmon->rx_mon_stats.dest_mpdu_drop++; in ath11k_dp_rx_full_mon_mpdu_pop()
5403 (u8 *)pmon->link_desc_banks[sw_cookie].vaddr + in ath11k_dp_rx_full_mon_mpdu_pop()
5405 pmon->link_desc_banks[sw_cookie].paddr); in ath11k_dp_rx_full_mon_mpdu_pop()
5541 struct ath11k_mon_data *pmon, in ath11k_dp_rx_full_mon_deliver_ppdu() argument
5546 struct dp_full_mon_mpdu *mon_mpdu = pmon->mon_mpdu; in ath11k_dp_rx_full_mon_deliver_ppdu()
5552 rx_mon_stats = &pmon->rx_mon_stats; in ath11k_dp_rx_full_mon_deliver_ppdu()
5560 &pmon->mon_ppdu_info, in ath11k_dp_rx_full_mon_deliver_ppdu()
5577 struct ath11k_mon_data *pmon = &dp->mon_data; in ath11k_dp_rx_process_full_mon_status_ring() local
5581 sw_mon_entries = &pmon->sw_mon_entries; in ath11k_dp_rx_process_full_mon_status_ring()
5583 while (pmon->hold_mon_dst_ring) { in ath11k_dp_rx_process_full_mon_status_ring()
5586 if (pmon->buf_state == DP_MON_STATUS_MATCH) { in ath11k_dp_rx_process_full_mon_status_ring()
5594 pmon, napi); in ath11k_dp_rx_process_full_mon_status_ring()
5595 pmon->hold_mon_dst_ring = false; in ath11k_dp_rx_process_full_mon_status_ring()
5596 } else if (!pmon->mon_status_paddr || in ath11k_dp_rx_process_full_mon_status_ring()
5597 pmon->buf_state == DP_MON_STATUS_LEAD) { in ath11k_dp_rx_process_full_mon_status_ring()
5599 pmon->hold_mon_dst_ring = false; in ath11k_dp_rx_process_full_mon_status_ring()
5609 ath11k_dp_rx_full_mon_drop_ppdu(&ab->dp, pmon->mon_mpdu); in ath11k_dp_rx_process_full_mon_status_ring()
5619 struct ath11k_mon_data *pmon = &dp->mon_data; in ath11k_dp_full_mon_process_rx() local
5629 spin_lock_bh(&pmon->mon_lock); in ath11k_dp_full_mon_process_rx()
5631 sw_mon_entries = &pmon->sw_mon_entries; in ath11k_dp_full_mon_process_rx()
5632 rx_mon_stats = &pmon->rx_mon_stats; in ath11k_dp_full_mon_process_rx()
5634 if (pmon->hold_mon_dst_ring) { in ath11k_dp_full_mon_process_rx()
5635 spin_unlock_bh(&pmon->mon_lock); in ath11k_dp_full_mon_process_rx()
5653 pmon->mon_mpdu, in ath11k_dp_full_mon_process_rx()
5670 pmon->mon_ppdu_status = DP_PPDU_STATUS_START; in ath11k_dp_full_mon_process_rx()
5671 pmon->buf_state = DP_MON_STATUS_LAG; in ath11k_dp_full_mon_process_rx()
5672 pmon->mon_status_paddr = sw_mon_entries->mon_status_paddr; in ath11k_dp_full_mon_process_rx()
5673 pmon->hold_mon_dst_ring = true; in ath11k_dp_full_mon_process_rx()
5682 spin_unlock_bh(&pmon->mon_lock); in ath11k_dp_full_mon_process_rx()
5716 struct ath11k_mon_data *pmon = (struct ath11k_mon_data *)&dp->mon_data; in ath11k_dp_rx_pdev_mon_status_attach() local
5718 skb_queue_head_init(&pmon->rx_status_q); in ath11k_dp_rx_pdev_mon_status_attach()
5720 pmon->mon_ppdu_status = DP_PPDU_STATUS_START; in ath11k_dp_rx_pdev_mon_status_attach()
5722 memset(&pmon->rx_mon_stats, 0, in ath11k_dp_rx_pdev_mon_status_attach()
5723 sizeof(pmon->rx_mon_stats)); in ath11k_dp_rx_pdev_mon_status_attach()
5730 struct ath11k_mon_data *pmon = &dp->mon_data; in ath11k_dp_rx_pdev_mon_attach() local
5754 ret = ath11k_dp_link_desc_setup(ar->ab, pmon->link_desc_banks, in ath11k_dp_rx_pdev_mon_attach()
5761 pmon->mon_last_linkdesc_paddr = 0; in ath11k_dp_rx_pdev_mon_attach()
5762 pmon->mon_last_buf_cookie = DP_RX_DESC_COOKIE_MAX + 1; in ath11k_dp_rx_pdev_mon_attach()
5763 spin_lock_init(&pmon->mon_lock); in ath11k_dp_rx_pdev_mon_attach()
5771 struct ath11k_mon_data *pmon = &dp->mon_data; in ath11k_dp_mon_link_free() local
5773 ath11k_dp_link_desc_cleanup(ar->ab, pmon->link_desc_banks, in ath11k_dp_mon_link_free()