qcacmn: Set fast_tx flag when ol_stats are disabled

Set fast_tx when ol_stats are disabled in
ultra_fastpath to avoid Tx completion overhead.
And also includes following fixes:
cdp support to get jitter stats
cdp support to set/get vow stats
cdp support to get Sojourn Stats

Change-Id: I8bdb176edbdf210b4dedfaa117f058f57bd17241
CRs-Fixed: 3604215
This commit is contained in:
Sushant Butta
2023-08-31 14:22:41 +05:30
committed by Rahul Choudhary
szülő 6bb232bd38
commit 37c16635b1
6 fájl változott, egészen pontosan 50 új sor hozzáadva és 6 régi sor törölve

Fájl megtekintése

@@ -8191,7 +8191,7 @@ static QDF_STATUS dp_get_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
switch (param) {
case CDP_CONFIG_VOW:
val->cdp_pdev_param_cfg_vow =
((struct dp_pdev *)pdev)->delay_stats_flag;
((struct dp_pdev *)pdev)->vow_stats;
break;
case CDP_TX_PENDING:
val->cdp_pdev_param_tx_pending = dp_get_tx_pending(pdev);
@@ -8220,6 +8220,10 @@ static QDF_STATUS dp_get_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
val->cdp_rxdma_buf_ring_size =
wlan_cfg_get_rx_dma_buf_ring_size(((struct dp_pdev *)pdev)->wlan_cfg_ctx);
break;
case CDP_CONFIG_DELAY_STATS:
val->cdp_pdev_param_cfg_delay_stats =
((struct dp_pdev *)pdev)->delay_stats_flag;
break;
default:
return QDF_STATUS_E_FAILURE;
}
@@ -8357,6 +8361,9 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
wlan_cfg_set_rx_dma_buf_ring_size(pdev->wlan_cfg_ctx,
val.cdp_rxdma_buf_ring_size);
break;
case CDP_CONFIG_VOW:
pdev->vow_stats = val.cdp_pdev_param_cfg_vow;
break;
default:
return QDF_STATUS_E_INVAL;
}
@@ -9070,6 +9077,9 @@ static QDF_STATUS dp_get_psoc_param(struct cdp_soc_t *cdp_soc,
wlan_cfg_ctx = soc->wlan_cfg_ctx;
switch (param) {
case CDP_ENABLE_RATE_STATS:
val->cdp_psoc_param_en_rate_stats = soc->peerstats_enabled;
break;
case CDP_CFG_PEER_EXT_STATS:
val->cdp_psoc_param_pext_stats =
wlan_cfg_is_peer_ext_stats_enabled(wlan_cfg_ctx);
@@ -9129,6 +9139,10 @@ static QDF_STATUS dp_get_psoc_param(struct cdp_soc_t *cdp_soc,
case CDP_CFG_GET_MLO_OPER_MODE:
val->cdp_psoc_param_mlo_oper_mode = dp_get_mldev_mode(soc);
break;
case CDP_CFG_PEER_JITTER_STATS:
val->cdp_psoc_param_jitter_stats =
wlan_cfg_is_peer_jitter_stats_enabled(soc->wlan_cfg_ctx);
break;
default:
dp_warn("Invalid param: %u", param);
break;
@@ -14383,6 +14397,11 @@ static QDF_STATUS dp_pdev_init(struct cdp_soc_t *txrx_soc,
dp_init_tso_stats(pdev);
dp_init_link_peer_stats_enabled(pdev);
/* Initialize dp tx fast path flag */
pdev->tx_fast_flag = DP_TX_DESC_FLAG_SIMPLE;
if (soc->hw_txrx_stats_en)
pdev->tx_fast_flag |= DP_TX_DESC_FLAG_FASTPATH_SIMPLE;
pdev->rx_fast_flag = false;
dp_info("Mem stats: DMA = %u HEAP = %u SKB = %u",
qdf_dma_mem_stats_read(),