qcacmn: Fix TX completion configurations

Currently when OPT_WIFI_DP is enabled, dp_tx_get_queue()
sets the ring_id always to one ring. This could potentially
affect the Tx data rates. This change is to ensure
all the Tx data rings are used.

Change-Id: Ib1ecf7f36f6967c0edf947d6310d6ae7caf43e5b
CRs-Fixed: 3577829
This commit is contained in:
Namita Nair
2023-07-28 14:25:55 -07:00
committed by Rahul Choudhary
parent 9c55f0cc3c
commit f06f5e0791

View File

@@ -37,6 +37,9 @@
#endif
#include <qdf_pkt_add_timestamp.h>
#include "dp_ipa.h"
#ifdef IPA_OFFLOAD
#include <wlan_ipa_obj_mgmt_api.h>
#endif
#define DP_INVALID_VDEV_ID 0xFF
@@ -989,7 +992,8 @@ static inline void dp_tx_get_queue(struct dp_vdev *vdev,
{
/* get flow id */
queue->desc_pool_id = DP_TX_GET_DESC_POOL_ID(vdev);
if (vdev->pdev->soc->wlan_cfg_ctx->ipa_enabled)
if (vdev->pdev->soc->wlan_cfg_ctx->ipa_enabled &&
!ipa_config_is_opt_wifi_dp_enabled())
queue->ring_id = DP_TX_GET_RING_ID(vdev);
else
queue->ring_id = (qdf_nbuf_get_queue_mapping(nbuf) %