qcacmn: fast TX API and registration

This is a new FAST TX API which avoids various checks.
This API will be called when SFE tags a pkt as fast_forwarded
and vap's fast_tx flag is set.

avoid additional re-checks in the wifi TX function

CRs-Fixed: 3218650
Change-Id: Iba17ede59652a1ff2af553f57de21dc58946298e
This commit is contained in:
Tallapragada Kalyan
2022-06-09 06:35:50 +05:30
committed by Madan Koyyalamudi
parent f6060a9296
commit 1b1b3adbea
13 changed files with 394 additions and 162 deletions

View File

@@ -46,6 +46,9 @@ struct __attribute__((__packed__)) dp_tx_comp_peer_id {
(((_var) & 0x30) >> 4)
#define DP_TX_FLOW_OVERRIDE_ENABLE 0x1
#define DP_TX_FAST_DESC_SIZE 24
#define DP_TX_L3_L4_CSUM_ENABLE 0x1f
/**
* dp_tx_hw_enqueue_be() - Enqueue to TCL HW for transmit for BE target
* @soc: DP Soc Handle
@@ -67,6 +70,22 @@ QDF_STATUS dp_tx_hw_enqueue_be(struct dp_soc *soc, struct dp_vdev *vdev,
struct cdp_tx_exception_metadata *metadata,
struct dp_tx_msdu_info_s *msdu_info);
/**
* dp_tx_hw_enqueue_be() - This is a fast send API to directly enqueue to HW
* @soc: DP Soc Handle
* @vdev_id: DP vdev ID
* @nbuf: network buffer to be transmitted
*
* Gets the next free TCL HW DMA descriptor and sets up required parameters
* from software Tx descriptor
*
* Return: NULL for success
* nbuf for failure
*/
qdf_nbuf_t dp_tx_fast_send_be(struct cdp_soc_t *soc, uint8_t vdev_id,
qdf_nbuf_t nbuf);
/**
* dp_tx_comp_get_params_from_hal_desc_be() - Get TX desc from HAL comp desc
* @soc: DP soc handle