qcacmn: Add SPECIAL descriptor flag in tx desc

Add SPECIAL descriptor flags in tx desc

Change-Id: I0ee73a939ef7734b5f37cdb278642772c1a8d2b9
CRs-Fixed: 3605272
This commit is contained in:
Neha Bisht
2023-09-02 11:28:12 +05:30
committed by Rahul Choudhary
parent 31876041a5
commit c3dfb6b22c
3 changed files with 4 additions and 3 deletions

View File

@@ -422,7 +422,7 @@ dp_tx_desc_release(struct dp_soc *soc, struct dp_tx_desc_s *tx_desc,
tx_desc->id, comp_status, tx_desc->id, comp_status,
qdf_atomic_read(&pdev->num_tx_outstanding)); qdf_atomic_read(&pdev->num_tx_outstanding));
if (tx_desc->nbuf->protocol == QDF_NBUF_TRAC_EAPOL_ETH_TYPE) if (tx_desc->flags & DP_TX_DESC_FLAG_SPECIAL)
dp_tx_spcl_desc_free(soc, tx_desc, desc_pool_id); dp_tx_spcl_desc_free(soc, tx_desc, desc_pool_id);
else else
dp_tx_desc_free(soc, tx_desc, desc_pool_id); dp_tx_desc_free(soc, tx_desc, desc_pool_id);
@@ -5716,8 +5716,7 @@ dp_tx_comp_process_desc_list(struct dp_soc *soc,
if (desc->pool_id != DP_TX_PPEDS_POOL_ID) { if (desc->pool_id != DP_TX_PPEDS_POOL_ID) {
nbuf = desc->nbuf; nbuf = desc->nbuf;
dp_tx_nbuf_dev_queue_free_no_flag(&h, nbuf); dp_tx_nbuf_dev_queue_free_no_flag(&h, nbuf);
if (nbuf->protocol == if (desc->flags & DP_TX_DESC_FLAG_SPECIAL)
QDF_NBUF_TRAC_EAPOL_ETH_TYPE)
dp_tx_spcl_desc_free(soc, desc, dp_tx_spcl_desc_free(soc, desc,
desc->pool_id); desc->pool_id);
else else

View File

@@ -75,6 +75,7 @@ int dp_tx_proxy_arp(struct dp_vdev *vdev, qdf_nbuf_t nbuf);
#define DP_TX_DESC_FLAG_FASTPATH_SIMPLE 0x10000 #define DP_TX_DESC_FLAG_FASTPATH_SIMPLE 0x10000
#define DP_TX_DESC_FLAG_PPEDS 0x20000 #define DP_TX_DESC_FLAG_PPEDS 0x20000
#define DP_TX_DESC_FLAG_FAST 0x40000 #define DP_TX_DESC_FLAG_FAST 0x40000
#define DP_TX_DESC_FLAG_SPECIAL 0x80000
#define DP_TX_EXT_DESC_FLAG_METADATA_VALID 0x1 #define DP_TX_EXT_DESC_FLAG_METADATA_VALID 0x1

View File

@@ -1068,6 +1068,7 @@ static inline struct dp_tx_desc_s *dp_tx_spcl_desc_alloc(struct dp_soc *soc,
dp_tx_prefetch_desc(pool->freelist); dp_tx_prefetch_desc(pool->freelist);
tx_desc->flags = DP_TX_DESC_FLAG_ALLOCATED; tx_desc->flags = DP_TX_DESC_FLAG_ALLOCATED;
tx_desc->flags |= DP_TX_DESC_FLAG_SPECIAL;
TX_DESC_LOCK_UNLOCK(&pool->lock); TX_DESC_LOCK_UNLOCK(&pool->lock);