diff --git a/dp/wifi3.0/dp_tx.h b/dp/wifi3.0/dp_tx.h index 5070a99325..aac29a3fbe 100644 --- a/dp/wifi3.0/dp_tx.h +++ b/dp/wifi3.0/dp_tx.h @@ -823,6 +823,19 @@ static inline enum qdf_dp_tx_rx_status dp_tx_hw_to_qdf(uint16_t status) */ #ifdef QCA_OL_TX_MULTIQ_SUPPORT #if defined(IPA_OFFLOAD) && defined(QCA_IPA_LL_TX_FLOW_CONTROL) +#ifdef IPA_WDI3_TX_TWO_PIPES +static inline void dp_tx_get_queue(struct dp_vdev *vdev, + qdf_nbuf_t nbuf, struct dp_tx_queue *queue) +{ + queue->ring_id = qdf_get_cpu(); + if (vdev->pdev->soc->wlan_cfg_ctx->ipa_enabled) + if ((queue->ring_id == IPA_TCL_DATA_RING_IDX) || + (queue->ring_id == IPA_TX_ALT_RING_IDX)) + queue->ring_id = 0; + + queue->desc_pool_id = queue->ring_id; +} +#else static inline void dp_tx_get_queue(struct dp_vdev *vdev, qdf_nbuf_t nbuf, struct dp_tx_queue *queue) { @@ -833,6 +846,7 @@ static inline void dp_tx_get_queue(struct dp_vdev *vdev, queue->desc_pool_id = queue->ring_id; } +#endif #else static inline void dp_tx_get_queue(struct dp_vdev *vdev, qdf_nbuf_t nbuf, struct dp_tx_queue *queue)