diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 16cfc412b794..dbe96a1080ee 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -938,13 +938,13 @@ static QDF_STATUS dp_soc_interrupt_attach_wrapper(void *txrx_soc) if (!(soc->wlan_cfg_ctx->napi_enabled) || con_mode_monitor == QDF_GLOBAL_MONITOR_MODE) { - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "%s: Poll mode", __func__); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, + "%s: Poll mode", __func__); return dp_soc_interrupt_attach_poll(txrx_soc); } else { - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "%s: Interrupt mode", __func__); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, + "%s: Interrupt mode", __func__); return dp_soc_interrupt_attach(txrx_soc); } } diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index 2a723a5fb7b6..cfee4c019233 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/dp/wifi3.0/dp_rx.c @@ -97,8 +97,8 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id, rxdma_srng = dp_rxdma_srng->hal_srng; if (!rxdma_srng) { - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, - "rxdma srng not initialized"); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "rxdma srng not initialized"); DP_STATS_INC(dp_pdev, replenish.rxdma_err, num_req_buffers); return QDF_STATUS_E_FAILURE; } @@ -201,7 +201,7 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id, (*desc_list)->rx_desc.in_use = 1; QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "rx_netbuf=%pK, buf=%pK, paddr=0x%llx, cookie=%d\n", + "rx_netbuf=%pK, buf=%pK, paddr=0x%llx, cookie=%d", rx_netbuf, qdf_nbuf_data(rx_netbuf), (unsigned long long)paddr, (*desc_list)->rx_desc.cookie); diff --git a/dp/wifi3.0/dp_rx_mon_dest.c b/dp/wifi3.0/dp_rx_mon_dest.c index 1edf340fcf3c..cba079381bb6 100644 --- a/dp/wifi3.0/dp_rx_mon_dest.c +++ b/dp/wifi3.0/dp_rx_mon_dest.c @@ -141,7 +141,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, uint32_t msdu_ppdu_id, msdu_cnt, last_ppdu_id; uint8_t *data; uint32_t i; - uint32_t total_frag_len, frag_len; + uint32_t total_frag_len = 0, frag_len = 0; bool is_frag, is_first_msdu; msdu = 0; @@ -179,7 +179,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "[%s][%d] msdu_nbuf=%pK, data=%pK\n", + "[%s][%d] msdu_nbuf=%pK, data=%pK", __func__, __LINE__, msdu, data); rx_desc_tlv = HAL_RX_MON_DEST_GET_DESC(data); @@ -191,9 +191,9 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, } QDF_TRACE(QDF_MODULE_ID_DP, - QDF_TRACE_LEVEL_DEBUG, - "[%s][%d] i=%d, ppdu_id=%x, msdu_ppdu_id=%x\n", - __func__, __LINE__, i, *ppdu_id, msdu_ppdu_id); + QDF_TRACE_LEVEL_DEBUG, + "[%s][%d] i=%d, ppdu_id=%x, msdu_ppdu_id=%x", + __func__, __LINE__, i, *ppdu_id, msdu_ppdu_id); if (*ppdu_id > msdu_ppdu_id) QDF_TRACE(QDF_MODULE_ID_DP, @@ -233,6 +233,10 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, is_frag = false; msdu_cnt--; } + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "%s total_len %u frag_len %u flags %u", + __func__, total_frag_len, frag_len, + msdu_list.msdu_info[i].msdu_flags); rx_pkt_offset = HAL_RX_MON_HW_RX_DESC_SIZE(); /* @@ -245,7 +249,7 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, hal_rx_msdu_end_l3_hdr_padding_get(data); rx_buf_size = rx_pkt_offset + l2_hdr_offset - + frag_len; + + frag_len; qdf_nbuf_set_pktlen(msdu, rx_buf_size); @@ -258,12 +262,12 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, if (!hal_rx_attn_msdu_done_get(rx_desc_tlv)) { QDF_TRACE(QDF_MODULE_ID_DP, - QDF_TRACE_LEVEL_DEBUG, - "%s:%d: Pkt Desc\n", - __func__, __LINE__); + QDF_TRACE_LEVEL_ERROR, + "%s:%d: Pkt Desc\n", + __func__, __LINE__); QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_DP, - QDF_TRACE_LEVEL_DEBUG, + QDF_TRACE_LEVEL_ERROR, rx_desc_tlv, 128); qdf_assert_always(0); @@ -272,14 +276,11 @@ dp_rx_mon_mpdu_pop(struct dp_soc *soc, uint32_t mac_id, rx_bufs_used++; QDF_TRACE(QDF_MODULE_ID_DP, - QDF_TRACE_LEVEL_DEBUG, - "rx_pkt_offset=%d, \ - l2_hdr_offset=%d, msdu_len=%d, \ - addr=%pK\n", - rx_pkt_offset, - l2_hdr_offset, - msdu_list.msdu_info[i].msdu_len, - qdf_nbuf_data(msdu)); + QDF_TRACE_LEVEL_DEBUG, + "%s: rx_pkt_offset=%d, l2_hdr_offset=%d, msdu_len=%d, addr=%p skb->len %lu", + __func__, rx_pkt_offset, l2_hdr_offset, + msdu_list.msdu_info[i].msdu_len, + qdf_nbuf_data(msdu), qdf_nbuf_len(msdu)); if (*head_msdu == NULL) *head_msdu = msdu; @@ -321,7 +322,6 @@ void dp_rx_msdus_set_payload(qdf_nbuf_t msdu) rx_pkt_offset = HAL_RX_MON_HW_RX_DESC_SIZE(); l2_hdr_offset = hal_rx_msdu_end_l3_hdr_padding_get(data); qdf_nbuf_pull_head(msdu, rx_pkt_offset + l2_hdr_offset); - } static inline @@ -344,6 +344,7 @@ qdf_nbuf_t dp_rx_mon_restitch_mpdu_from_msdus(struct dp_soc *soc, /* The nbuf has been pulled just beyond the status and points to the * payload */ + msdu_orig = head_msdu; rx_desc = qdf_nbuf_data(msdu_orig); @@ -374,11 +375,14 @@ qdf_nbuf_t dp_rx_mon_restitch_mpdu_from_msdus(struct dp_soc *soc, /* Note that this path might suffer from headroom unavailabilty * - but the RX status is usually enough */ - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "[%s][%d] decap format raw\n", __func__, __LINE__); dp_rx_msdus_set_payload(head_msdu); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "[%s][%d] decap format raw head %pK head->next %pK last_msdu %pK last_msdu->next %pK", + __func__, __LINE__, head_msdu, head_msdu->next, + last_msdu, last_msdu->next); + mpdu_buf = head_msdu; if (!mpdu_buf) @@ -432,7 +436,8 @@ qdf_nbuf_t dp_rx_mon_restitch_mpdu_from_msdus(struct dp_soc *soc, hdr_desc = HAL_RX_DESC_GET_80211_HDR(rx_desc); QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "[%s][%d] decap format not raw\n", __func__, __LINE__); + "[%s][%d] decap format not raw", + __func__, __LINE__); /* Base size */ @@ -590,16 +595,21 @@ mpdu_stitch_done: rx_status->rs_tstamp.tsf = rx_desc->ppdu_end.tsf_timestamp; #endif - + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "%s %d mpdu_buf %pK mpdu_buf->len %u", + __func__, __LINE__, + mpdu_buf, mpdu_buf->len); return mpdu_buf; mpdu_stitch_fail: if ((mpdu_buf) && (decap_format != HAL_HW_RX_DECAP_FORMAT_RAW)) { + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, + "%s mpdu_stitch_fail mpdu_buf %pK", + __func__, mpdu_buf); /* Free the head buffer */ qdf_nbuf_free(mpdu_buf); } return NULL; - } /** @@ -653,6 +663,10 @@ QDF_STATUS dp_rx_mon_deliver(struct dp_soc *soc, uint32_t mac_id, pdev->monitor_vdev->osif_rx_mon( pdev->monitor_vdev->osif_vdev, mon_mpdu, NULL); } else { + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, + "[%s][%d] mon_mpdu=%p pdev->monitor_vdev %p osif_vdev %p", + __func__, __LINE__, mon_mpdu, pdev->monitor_vdev, + pdev->monitor_vdev->osif_vdev); goto mon_deliver_fail; } @@ -663,8 +677,9 @@ mon_deliver_fail: while (mon_skb) { skb_next = qdf_nbuf_next(mon_skb); - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, - "[%s][%d] mon_skb=%pK\n", __func__, __LINE__, mon_skb); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR, + "[%s][%d] mon_skb=%p len %u", __func__, __LINE__, + mon_skb, mon_skb->len); qdf_nbuf_free(mon_skb); mon_skb = skb_next; @@ -738,6 +753,10 @@ void dp_rx_mon_dest_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota) sizeof(pdev->ppdu_info.rx_status)); pdev->ppdu_info.com_info.last_ppdu_id = pdev->ppdu_info.com_info.ppdu_id; + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "%s %d ppdu_id %x != ppdu_info.com_info .ppdu_id %x", + __func__, __LINE__, + ppdu_id, pdev->ppdu_info.com_info.ppdu_id); break; } @@ -775,8 +794,8 @@ dp_rx_pdev_mon_buf_attach(struct dp_pdev *pdev) { rx_desc_pool = &soc->rx_desc_mon[pdev_id]; QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_LOW, - "%s: Mon RX Desc Pool[%d] allocation size=%d\n" - , __func__, pdev_id, rxdma_entries*3); + "%s: Mon RX Desc Pool[%d] allocation size=%d" + , __func__, pdev_id, rxdma_entries*3); status = dp_rx_desc_pool_alloc(soc, pdev_id, rxdma_entries*3, rx_desc_pool); @@ -787,8 +806,8 @@ dp_rx_pdev_mon_buf_attach(struct dp_pdev *pdev) { } QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_LOW, - "%s: Mon RX Buffers Replenish pdev_id=%d\n", - __func__, pdev_id); + "%s: Mon RX Buffers Replenish pdev_id=%d", + __func__, pdev_id); status = dp_rx_buffers_replenish(soc, pdev_id, rxdma_srng, rx_desc_pool, rxdma_entries, &desc_list, &tail, diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c index b0977fab9740..68fad1a3a254 100644 --- a/dp/wifi3.0/dp_rx_mon_status.c +++ b/dp/wifi3.0/dp_rx_mon_status.c @@ -403,7 +403,7 @@ dp_rx_mon_status_srng_process(struct dp_soc *soc, uint32_t mac_id, if (!mon_status_srng || !hal_srng_initialized(mon_status_srng)) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, - "%s %d : HAL Monitor Destination Ring Init Failed -- %pK\n", + "%s %d : HAL Monitor Status Ring Init Failed -- %pK\n", __func__, __LINE__, mon_status_srng); return work_done; } diff --git a/hal/wifi3.0/hal_api_mon.h b/hal/wifi3.0/hal_api_mon.h index a6543265c972..4fceaaffd1f9 100644 --- a/hal/wifi3.0/hal_api_mon.h +++ b/hal/wifi3.0/hal_api_mon.h @@ -486,8 +486,8 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) switch (tlv_tag) { case WIFIRX_PPDU_START_E: - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, - "[%s][%d] ppdu_start_e len=%d\n", + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "[%s][%d] ppdu_start_e len=%d", __func__, __LINE__, tlv_len); ppdu_info->com_info.ppdu_id = HAL_RX_GET(rx_tlv, RX_PPDU_START_0, @@ -505,9 +505,9 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) break; case WIFIRX_PPDU_END_E: - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, - "[%s][%d] ppdu_end_e len=%d\n", - __func__, __LINE__, tlv_len); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "[%s][%d] ppdu_end_e len=%d", + __func__, __LINE__, tlv_len); /* This is followed by sub-TLVs of PPDU_END */ ppdu_info->rx_status.duration = @@ -988,9 +988,9 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) break; } - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO, - "%s TLV type: %d, TLV len:%d\n", - __func__, tlv_tag, tlv_len); + QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG, + "%s TLV type: %d, TLV len:%d", + __func__, tlv_tag, tlv_len); return HAL_TLV_STATUS_PPDU_NOT_DONE; }