qcacmn: Move prealloc DP descriptor types to QDF

Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.

Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
This commit is contained in:
Yeshwanth Sriram Guntuka
2023-05-18 15:50:37 +05:30
committed by Rahul Choudhary
parent a5beb4bc26
commit 4dc955351e
12 changed files with 77 additions and 74 deletions

View File

@@ -346,7 +346,7 @@ QDF_STATUS
dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc, dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
struct dp_hw_cookie_conversion_t *cc_ctx, struct dp_hw_cookie_conversion_t *cc_ctx,
uint32_t num_descs, uint32_t num_descs,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
uint8_t desc_pool_id) uint8_t desc_pool_id)
{ {
struct dp_soc *soc = DP_SOC_BE_GET_SOC(be_soc); struct dp_soc *soc = DP_SOC_BE_GET_SOC(be_soc);
@@ -361,7 +361,7 @@ dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
num_spt_pages : DP_CC_PPT_MAX_ENTRIES; num_spt_pages : DP_CC_PPT_MAX_ENTRIES;
dp_info("num_spt_pages needed %d", num_spt_pages); dp_info("num_spt_pages needed %d", num_spt_pages);
dp_desc_multi_pages_mem_alloc(soc, DP_HW_CC_SPT_PAGE_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_HW_CC_SPT_PAGE_TYPE,
&cc_ctx->page_pool, qdf_page_size, &cc_ctx->page_pool, qdf_page_size,
num_spt_pages, 0, false); num_spt_pages, 0, false);
if (!cc_ctx->page_pool.dma_pages) { if (!cc_ctx->page_pool.dma_pages) {
@@ -404,7 +404,7 @@ dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
fail_1: fail_1:
qdf_mem_free(cc_ctx->page_desc_base); qdf_mem_free(cc_ctx->page_desc_base);
fail_0: fail_0:
dp_desc_multi_pages_mem_free(soc, DP_HW_CC_SPT_PAGE_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_HW_CC_SPT_PAGE_TYPE,
&cc_ctx->page_pool, 0, false); &cc_ctx->page_pool, 0, false);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
@@ -417,7 +417,7 @@ dp_hw_cookie_conversion_detach(struct dp_soc_be *be_soc,
struct dp_soc *soc = DP_SOC_BE_GET_SOC(be_soc); struct dp_soc *soc = DP_SOC_BE_GET_SOC(be_soc);
qdf_mem_free(cc_ctx->page_desc_base); qdf_mem_free(cc_ctx->page_desc_base);
dp_desc_multi_pages_mem_free(soc, DP_HW_CC_SPT_PAGE_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_HW_CC_SPT_PAGE_TYPE,
&cc_ctx->page_pool, 0, false); &cc_ctx->page_pool, 0, false);
qdf_spinlock_destroy(&cc_ctx->cc_lock); qdf_spinlock_destroy(&cc_ctx->cc_lock);
@@ -973,7 +973,7 @@ static QDF_STATUS dp_soc_attach_be(struct dp_soc *soc,
dp_hw_cookie_conversion_attach(be_soc, dp_hw_cookie_conversion_attach(be_soc,
&be_soc->tx_cc_ctx[i], &be_soc->tx_cc_ctx[i],
num_entries, num_entries,
DP_TX_DESC_TYPE, i); QDF_DP_TX_DESC_TYPE, i);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) if (!QDF_IS_STATUS_SUCCESS(qdf_status))
goto fail; goto fail;
} }
@@ -989,7 +989,8 @@ static QDF_STATUS dp_soc_attach_be(struct dp_soc *soc,
dp_hw_cookie_conversion_attach(be_soc, dp_hw_cookie_conversion_attach(be_soc,
&be_soc->rx_cc_ctx[i], &be_soc->rx_cc_ctx[i],
num_entries, num_entries,
DP_RX_DESC_BUF_TYPE, i); QDF_DP_RX_DESC_BUF_TYPE,
i);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) if (!QDF_IS_STATUS_SUCCESS(qdf_status))
goto fail; goto fail;
} }

View File

@@ -634,7 +634,7 @@ QDF_STATUS
dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc, dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
struct dp_hw_cookie_conversion_t *cc_ctx, struct dp_hw_cookie_conversion_t *cc_ctx,
uint32_t num_descs, uint32_t num_descs,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
uint8_t desc_pool_id); uint8_t desc_pool_id);
void dp_reo_shared_qaddr_detach(struct dp_soc *soc); void dp_reo_shared_qaddr_detach(struct dp_soc *soc);
@@ -845,17 +845,17 @@ _dp_srng_test_and_update_nf_params(struct dp_soc *soc,
static inline static inline
uint32_t dp_desc_pool_get_cmem_base(uint8_t chip_id, uint8_t desc_pool_id, uint32_t dp_desc_pool_get_cmem_base(uint8_t chip_id, uint8_t desc_pool_id,
enum dp_desc_type desc_type) enum qdf_dp_desc_type desc_type)
{ {
switch (desc_type) { switch (desc_type) {
case DP_TX_DESC_TYPE: case QDF_DP_TX_DESC_TYPE:
return (DP_TX_DESC_CMEM_OFFSET + return (DP_TX_DESC_CMEM_OFFSET +
(desc_pool_id * DP_TX_DESC_POOL_CMEM_SIZE)); (desc_pool_id * DP_TX_DESC_POOL_CMEM_SIZE));
case DP_RX_DESC_BUF_TYPE: case QDF_DP_RX_DESC_BUF_TYPE:
return (DP_RX_DESC_CMEM_OFFSET + return (DP_RX_DESC_CMEM_OFFSET +
((chip_id * MAX_RXDESC_POOLS) + desc_pool_id) * ((chip_id * MAX_RXDESC_POOLS) + desc_pool_id) *
DP_RX_DESC_POOL_CMEM_SIZE); DP_RX_DESC_POOL_CMEM_SIZE);
case DP_TX_PPEDS_DESC_TYPE: case QDF_DP_TX_PPEDS_DESC_TYPE:
return DP_TX_PPEDS_DESC_CMEM_OFFSET; return DP_TX_PPEDS_DESC_CMEM_OFFSET;
default: default:
QDF_BUG(0); QDF_BUG(0);

View File

@@ -1041,7 +1041,7 @@ QDF_STATUS dp_rx_desc_pool_init_be(struct dp_soc *soc,
QDF_STATUS status = QDF_STATUS_SUCCESS; QDF_STATUS status = QDF_STATUS_SUCCESS;
/* Only regular RX buffer desc pool use HW cookie conversion */ /* Only regular RX buffer desc pool use HW cookie conversion */
if (rx_desc_pool->desc_type == DP_RX_DESC_BUF_TYPE) { if (rx_desc_pool->desc_type == QDF_DP_RX_DESC_BUF_TYPE) {
dp_info("rx_desc_buf pool init"); dp_info("rx_desc_buf pool init");
status = dp_rx_desc_pool_init_be_cc(soc, status = dp_rx_desc_pool_init_be_cc(soc,
rx_desc_pool, rx_desc_pool,
@@ -1059,7 +1059,7 @@ void dp_rx_desc_pool_deinit_be(struct dp_soc *soc,
struct rx_desc_pool *rx_desc_pool, struct rx_desc_pool *rx_desc_pool,
uint32_t pool_id) uint32_t pool_id)
{ {
if (rx_desc_pool->desc_type == DP_RX_DESC_BUF_TYPE) if (rx_desc_pool->desc_type == QDF_DP_RX_DESC_BUF_TYPE)
dp_rx_desc_pool_deinit_be_cc(soc, rx_desc_pool, pool_id); dp_rx_desc_pool_deinit_be_cc(soc, rx_desc_pool, pool_id);
} }

View File

@@ -4412,7 +4412,7 @@ void dp_context_free_mem(struct dp_soc *soc, enum dp_ctxt_type ctxt_type,
* Return: None * Return: None
*/ */
void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc, void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
struct qdf_mem_multi_page_t *pages, struct qdf_mem_multi_page_t *pages,
size_t element_size, size_t element_size,
uint32_t element_num, uint32_t element_num,
@@ -4434,7 +4434,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
* Return: None * Return: None
*/ */
void dp_desc_multi_pages_mem_free(struct dp_soc *soc, void dp_desc_multi_pages_mem_free(struct dp_soc *soc,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
struct qdf_mem_multi_page_t *pages, struct qdf_mem_multi_page_t *pages,
qdf_dma_context_t memctxt, qdf_dma_context_t memctxt,
bool cacheable); bool cacheable);
@@ -4456,7 +4456,7 @@ void dp_context_free_mem(struct dp_soc *soc, enum dp_ctxt_type ctxt_type,
static inline static inline
void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc, void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
struct qdf_mem_multi_page_t *pages, struct qdf_mem_multi_page_t *pages,
size_t element_size, size_t element_size,
uint32_t element_num, uint32_t element_num,
@@ -4469,7 +4469,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
static inline static inline
void dp_desc_multi_pages_mem_free(struct dp_soc *soc, void dp_desc_multi_pages_mem_free(struct dp_soc *soc,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
struct qdf_mem_multi_page_t *pages, struct qdf_mem_multi_page_t *pages,
qdf_dma_context_t memctxt, qdf_dma_context_t memctxt,
bool cacheable) bool cacheable)

View File

@@ -1250,7 +1250,7 @@ static inline void dp_srng_mem_free_consistent(struct dp_soc *soc,
} }
void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc, void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
struct qdf_mem_multi_page_t *pages, struct qdf_mem_multi_page_t *pages,
size_t element_size, size_t element_size,
uint32_t element_num, uint32_t element_num,
@@ -1282,7 +1282,7 @@ end:
} }
void dp_desc_multi_pages_mem_free(struct dp_soc *soc, void dp_desc_multi_pages_mem_free(struct dp_soc *soc,
enum dp_desc_type desc_type, enum qdf_dp_desc_type desc_type,
struct qdf_mem_multi_page_t *pages, struct qdf_mem_multi_page_t *pages,
qdf_dma_context_t memctxt, qdf_dma_context_t memctxt,
bool cacheable) bool cacheable)

View File

@@ -2016,7 +2016,7 @@ void dp_hw_link_desc_pool_banks_free(struct dp_soc *soc, uint32_t mac_id)
soc->ctrl_psoc, soc->ctrl_psoc,
WLAN_MD_DP_SRNG_WBM_IDLE_LINK, WLAN_MD_DP_SRNG_WBM_IDLE_LINK,
"hw_link_desc_bank"); "hw_link_desc_bank");
dp_desc_multi_pages_mem_free(soc, DP_HW_LINK_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_HW_LINK_DESC_TYPE,
pages, 0, false); pages, 0, false);
} }
} }
@@ -2105,7 +2105,7 @@ QDF_STATUS dp_hw_link_desc_pool_banks_alloc(struct dp_soc *soc, uint32_t mac_id)
soc, total_mem_size); soc, total_mem_size);
dp_set_max_page_size(pages, max_alloc_size); dp_set_max_page_size(pages, max_alloc_size);
dp_desc_multi_pages_mem_alloc(soc, DP_HW_LINK_DESC_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_HW_LINK_DESC_TYPE,
pages, pages,
link_desc_size, link_desc_size,
*total_link_descs, *total_link_descs,

View File

@@ -3164,7 +3164,7 @@ dp_rx_pdev_desc_pool_alloc(struct dp_pdev *pdev)
rx_desc_pool = &soc->rx_desc_buf[mac_for_pdev]; rx_desc_pool = &soc->rx_desc_buf[mac_for_pdev];
rx_sw_desc_num = wlan_cfg_get_dp_soc_rx_sw_desc_num(soc->wlan_cfg_ctx); rx_sw_desc_num = wlan_cfg_get_dp_soc_rx_sw_desc_num(soc->wlan_cfg_ctx);
rx_desc_pool->desc_type = DP_RX_DESC_BUF_TYPE; rx_desc_pool->desc_type = QDF_DP_RX_DESC_BUF_TYPE;
status = dp_rx_desc_pool_alloc(soc, status = dp_rx_desc_pool_alloc(soc,
rx_sw_desc_num, rx_sw_desc_num,
rx_desc_pool); rx_desc_pool);

View File

@@ -125,7 +125,7 @@ QDF_STATUS dp_tx_desc_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
desc_size = DP_TX_DESC_SIZE(sizeof(struct dp_tx_desc_s)); desc_size = DP_TX_DESC_SIZE(sizeof(struct dp_tx_desc_s));
tx_desc_pool = &((soc)->tx_desc[(pool_id)]); tx_desc_pool = &((soc)->tx_desc[(pool_id)]);
tx_desc_pool->desc_pages.page_size = DP_BLOCKMEM_SIZE; tx_desc_pool->desc_pages.page_size = DP_BLOCKMEM_SIZE;
dp_desc_multi_pages_mem_alloc(soc, DP_TX_DESC_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_TX_DESC_TYPE,
&tx_desc_pool->desc_pages, &tx_desc_pool->desc_pages,
desc_size, num_elem, desc_size, num_elem,
0, true); 0, true);
@@ -152,7 +152,7 @@ void dp_tx_desc_pool_free(struct dp_soc *soc, uint8_t pool_id)
tx_desc_pool = &((soc)->tx_desc[pool_id]); tx_desc_pool = &((soc)->tx_desc[pool_id]);
if (tx_desc_pool->desc_pages.num_pages) if (tx_desc_pool->desc_pages.num_pages)
dp_desc_multi_pages_mem_free(soc, DP_TX_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_DESC_TYPE,
&tx_desc_pool->desc_pages, 0, &tx_desc_pool->desc_pages, 0,
true); true);
@@ -217,7 +217,7 @@ dp_tx_ext_desc_pool_alloc_by_id(struct dp_soc *soc, uint32_t num_elem,
memctx = qdf_get_dma_mem_context(dp_tx_ext_desc_pool, memctx); memctx = qdf_get_dma_mem_context(dp_tx_ext_desc_pool, memctx);
/* Coherent tx extension descriptor alloc */ /* Coherent tx extension descriptor alloc */
dp_desc_multi_pages_mem_alloc(soc, DP_TX_EXT_DESC_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_TX_EXT_DESC_TYPE,
&dp_tx_ext_desc_pool->desc_pages, &dp_tx_ext_desc_pool->desc_pages,
elem_size, num_elem, memctx, false); elem_size, num_elem, memctx, false);
@@ -233,7 +233,7 @@ dp_tx_ext_desc_pool_alloc_by_id(struct dp_soc *soc, uint32_t num_elem,
* single element is 24bytes, 2K elements are 48Kbytes * single element is 24bytes, 2K elements are 48Kbytes
* Have to alloc multi page cacheable memory * Have to alloc multi page cacheable memory
*/ */
dp_desc_multi_pages_mem_alloc(soc, DP_TX_EXT_DESC_LINK_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_TX_EXT_DESC_LINK_TYPE,
&dp_tx_ext_desc_pool->desc_link_pages, &dp_tx_ext_desc_pool->desc_link_pages,
link_elem_size, num_elem, 0, true); link_elem_size, num_elem, 0, true);
@@ -247,7 +247,7 @@ dp_tx_ext_desc_pool_alloc_by_id(struct dp_soc *soc, uint32_t num_elem,
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
free_ext_desc: free_ext_desc:
dp_desc_multi_pages_mem_free(soc, DP_TX_EXT_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_EXT_DESC_TYPE,
&dp_tx_ext_desc_pool->desc_pages, &dp_tx_ext_desc_pool->desc_pages,
memctx, false); memctx, false);
return status; return status;
@@ -378,11 +378,11 @@ void dp_tx_ext_desc_pool_free_by_id(struct dp_soc *soc, uint8_t pool_id)
dp_tx_ext_desc_pool = &((soc)->tx_ext_desc[pool_id]); dp_tx_ext_desc_pool = &((soc)->tx_ext_desc[pool_id]);
memctx = qdf_get_dma_mem_context(dp_tx_ext_desc_pool, memctx); memctx = qdf_get_dma_mem_context(dp_tx_ext_desc_pool, memctx);
dp_desc_multi_pages_mem_free(soc, DP_TX_EXT_DESC_LINK_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_EXT_DESC_LINK_TYPE,
&dp_tx_ext_desc_pool->desc_link_pages, &dp_tx_ext_desc_pool->desc_link_pages,
0, true); 0, true);
dp_desc_multi_pages_mem_free(soc, DP_TX_EXT_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_EXT_DESC_TYPE,
&dp_tx_ext_desc_pool->desc_pages, &dp_tx_ext_desc_pool->desc_pages,
memctx, false); memctx, false);
} }
@@ -422,7 +422,7 @@ QDF_STATUS dp_tx_tso_desc_pool_alloc_by_id(struct dp_soc *soc, uint32_t num_elem
tso_desc_pool = &soc->tx_tso_desc[pool_id]; tso_desc_pool = &soc->tx_tso_desc[pool_id];
tso_desc_pool->num_free = 0; tso_desc_pool->num_free = 0;
dp_desc_multi_pages_mem_alloc(soc, DP_TX_TSO_DESC_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_TX_TSO_DESC_TYPE,
&tso_desc_pool->desc_pages, &tso_desc_pool->desc_pages,
desc_size, num_elem, 0, true); desc_size, num_elem, 0, true);
if (!tso_desc_pool->desc_pages.num_pages) { if (!tso_desc_pool->desc_pages.num_pages) {
@@ -462,7 +462,7 @@ void dp_tx_tso_desc_pool_free_by_id(struct dp_soc *soc, uint8_t pool_id)
struct dp_tx_tso_seg_pool_s *tso_desc_pool; struct dp_tx_tso_seg_pool_s *tso_desc_pool;
tso_desc_pool = &soc->tx_tso_desc[pool_id]; tso_desc_pool = &soc->tx_tso_desc[pool_id];
dp_desc_multi_pages_mem_free(soc, DP_TX_TSO_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_TSO_DESC_TYPE,
&tso_desc_pool->desc_pages, &tso_desc_pool->desc_pages,
0, true); 0, true);
} }
@@ -558,7 +558,7 @@ QDF_STATUS dp_tx_tso_num_seg_pool_alloc_by_id(struct dp_soc *soc,
tso_num_seg_pool = &soc->tx_tso_num_seg[pool_id]; tso_num_seg_pool = &soc->tx_tso_num_seg[pool_id];
tso_num_seg_pool->num_free = 0; tso_num_seg_pool->num_free = 0;
dp_desc_multi_pages_mem_alloc(soc, DP_TX_TSO_NUM_SEG_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_TX_TSO_NUM_SEG_TYPE,
&tso_num_seg_pool->desc_pages, &tso_num_seg_pool->desc_pages,
desc_size, desc_size,
num_elem, 0, true); num_elem, 0, true);
@@ -600,7 +600,7 @@ void dp_tx_tso_num_seg_pool_free_by_id(struct dp_soc *soc, uint8_t pool_id)
struct dp_tx_tso_num_seg_pool_s *tso_num_seg_pool; struct dp_tx_tso_num_seg_pool_s *tso_num_seg_pool;
tso_num_seg_pool = &soc->tx_tso_num_seg[pool_id]; tso_num_seg_pool = &soc->tx_tso_num_seg[pool_id];
dp_desc_multi_pages_mem_free(soc, DP_TX_TSO_NUM_SEG_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_TSO_NUM_SEG_TYPE,
&tso_num_seg_pool->desc_pages, &tso_num_seg_pool->desc_pages,
0, true); 0, true);
} }

View File

@@ -545,42 +545,6 @@ enum dp_ctxt_type {
DP_CFG_EVENT_HIST_TYPE, DP_CFG_EVENT_HIST_TYPE,
}; };
/**
* enum dp_desc_type - source type for multiple pages allocation
* @DP_TX_DESC_TYPE: DP SW TX descriptor
* @DP_TX_PPEDS_DESC_TYPE: DP PPE-DS Tx descriptor
* @DP_TX_EXT_DESC_TYPE: DP TX msdu extension descriptor
* @DP_TX_EXT_DESC_LINK_TYPE: DP link descriptor for msdu ext_desc
* @DP_TX_TSO_DESC_TYPE: DP TX TSO descriptor
* @DP_TX_TSO_NUM_SEG_TYPE: DP TX number of segments
* @DP_RX_DESC_BUF_TYPE: DP RX SW descriptor
* @DP_RX_DESC_STATUS_TYPE: DP RX SW descriptor for monitor status
* @DP_HW_LINK_DESC_TYPE: DP HW link descriptor
* @DP_HW_CC_SPT_PAGE_TYPE: DP pages for HW CC secondary page table
* @DP_TX_TCL_DESC_TYPE: DP TCL descriptor
* @DP_TX_DIRECT_LINK_CE_BUF_TYPE: DP tx direct link CE source ring buf pages
* @DP_TX_DIRECT_LINK_BUF_TYPE: DP tx direct link buffer pages
* @DP_DESC_TYPE_MAX: DP max desc type
*/
enum dp_desc_type {
DP_TX_DESC_TYPE,
DP_TX_PPEDS_DESC_TYPE,
DP_TX_EXT_DESC_TYPE,
DP_TX_EXT_DESC_LINK_TYPE,
DP_TX_TSO_DESC_TYPE,
DP_TX_TSO_NUM_SEG_TYPE,
DP_RX_DESC_BUF_TYPE,
DP_RX_DESC_STATUS_TYPE,
DP_HW_LINK_DESC_TYPE,
DP_HW_CC_SPT_PAGE_TYPE,
DP_TX_TCL_DESC_TYPE,
#ifdef FEATURE_DIRECT_LINK
DP_TX_DIRECT_LINK_CE_BUF_TYPE,
DP_TX_DIRECT_LINK_BUF_TYPE,
#endif
DP_DESC_TYPE_MAX
};
/** /**
* struct rx_desc_pool * struct rx_desc_pool
* @pool_size: number of RX descriptor in the pool * @pool_size: number of RX descriptor in the pool
@@ -609,7 +573,7 @@ struct rx_desc_pool {
uint16_t buf_size; uint16_t buf_size;
uint8_t buf_alignment; uint8_t buf_alignment;
bool rx_mon_dest_frag_enable; bool rx_mon_dest_frag_enable;
enum dp_desc_type desc_type; enum qdf_dp_desc_type desc_type;
}; };
/** /**

View File

@@ -895,7 +895,7 @@ dp_rx_pdev_mon_status_desc_pool_alloc(struct dp_pdev *pdev, uint32_t mac_id)
dp_debug("Mon RX Desc Pool[%d] entries=%u", pdev_id, num_entries); dp_debug("Mon RX Desc Pool[%d] entries=%u", pdev_id, num_entries);
rx_desc_pool->desc_type = DP_RX_DESC_STATUS_TYPE; rx_desc_pool->desc_type = QDF_DP_RX_DESC_STATUS_TYPE;
return dp_rx_desc_pool_alloc(soc, num_entries + 1, rx_desc_pool); return dp_rx_desc_pool_alloc(soc, num_entries + 1, rx_desc_pool);
} }

View File

@@ -392,7 +392,7 @@ dp_tx_tcl_desc_pool_alloc_rh(struct dp_soc *soc, uint32_t num_elem,
/* Allocate tcl descriptors in coherent memory */ /* Allocate tcl descriptors in coherent memory */
tcl_desc_pool = &rh_soc->tcl_desc_pool[pool_id]; tcl_desc_pool = &rh_soc->tcl_desc_pool[pool_id];
memctx = qdf_get_dma_mem_context(tcl_desc_pool, memctx); memctx = qdf_get_dma_mem_context(tcl_desc_pool, memctx);
dp_desc_multi_pages_mem_alloc(soc, DP_TX_TCL_DESC_TYPE, dp_desc_multi_pages_mem_alloc(soc, QDF_DP_TX_TCL_DESC_TYPE,
&tcl_desc_pool->desc_pages, &tcl_desc_pool->desc_pages,
elem_size, num_elem, memctx, false); elem_size, num_elem, memctx, false);
@@ -405,7 +405,7 @@ dp_tx_tcl_desc_pool_alloc_rh(struct dp_soc *soc, uint32_t num_elem,
return status; return status;
err_alloc_fail: err_alloc_fail:
dp_desc_multi_pages_mem_free(soc, DP_TX_TCL_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_TCL_DESC_TYPE,
&tcl_desc_pool->desc_pages, &tcl_desc_pool->desc_pages,
memctx, false); memctx, false);
return status; return status;
@@ -429,7 +429,7 @@ static void dp_tx_tcl_desc_pool_free_rh(struct dp_soc *soc, uint8_t pool_id)
tcl_desc_pool = &rh_soc->tcl_desc_pool[pool_id]; tcl_desc_pool = &rh_soc->tcl_desc_pool[pool_id];
memctx = qdf_get_dma_mem_context(tcl_desc_pool, memctx); memctx = qdf_get_dma_mem_context(tcl_desc_pool, memctx);
dp_desc_multi_pages_mem_free(soc, DP_TX_TCL_DESC_TYPE, dp_desc_multi_pages_mem_free(soc, QDF_DP_TX_TCL_DESC_TYPE,
&tcl_desc_pool->desc_pages, &tcl_desc_pool->desc_pages,
memctx, false); memctx, false);
} }

View File

@@ -1797,4 +1797,42 @@ enum qdf_iommu_attr {
QDF_DOMAIN_ATTR_MAX, QDF_DOMAIN_ATTR_MAX,
}; };
/**
* enum qdf_dp_desc_type - source type for multiple pages allocation
* @QDF_DP_TX_DESC_TYPE: DP SW TX descriptor
* @QDF_DP_TX_PPEDS_DESC_TYPE: DP PPE-DS Tx descriptor
* @QDF_DP_TX_EXT_DESC_TYPE: DP TX msdu extension descriptor
* @QDF_DP_TX_EXT_DESC_LINK_TYPE: DP link descriptor for msdu ext_desc
* @QDF_DP_TX_TSO_DESC_TYPE: DP TX TSO descriptor
* @QDF_DP_TX_TSO_NUM_SEG_TYPE: DP TX number of segments
* @QDF_DP_RX_DESC_BUF_TYPE: DP RX SW descriptor
* @QDF_DP_RX_DESC_STATUS_TYPE: DP RX SW descriptor for monitor status
* @QDF_DP_HW_LINK_DESC_TYPE: DP HW link descriptor
* @QDF_DP_HW_CC_SPT_PAGE_TYPE: DP pages for HW CC secondary page table
* @QDF_DP_TX_TCL_DESC_TYPE: DP TCL descriptor
* @QDF_DP_TX_DIRECT_LINK_CE_BUF_TYPE: DP tx direct link CE source ring buf
* pages
* @QDF_DP_TX_DIRECT_LINK_BUF_TYPE: DP tx direct link buffer pages
* @QDF_DP_RX_DIRECT_LINK_CE_BUF_TYPE: DP RX direct link CE dest ring buf pages
* @QDF_DP_DESC_TYPE_MAX: DP max desc type
*/
enum qdf_dp_desc_type {
QDF_DP_TX_DESC_TYPE,
QDF_DP_TX_PPEDS_DESC_TYPE,
QDF_DP_TX_EXT_DESC_TYPE,
QDF_DP_TX_EXT_DESC_LINK_TYPE,
QDF_DP_TX_TSO_DESC_TYPE,
QDF_DP_TX_TSO_NUM_SEG_TYPE,
QDF_DP_RX_DESC_BUF_TYPE,
QDF_DP_RX_DESC_STATUS_TYPE,
QDF_DP_HW_LINK_DESC_TYPE,
QDF_DP_HW_CC_SPT_PAGE_TYPE,
QDF_DP_TX_TCL_DESC_TYPE,
#ifdef FEATURE_DIRECT_LINK
QDF_DP_TX_DIRECT_LINK_CE_BUF_TYPE,
QDF_DP_TX_DIRECT_LINK_BUF_TYPE,
QDF_DP_RX_DIRECT_LINK_CE_BUF_TYPE,
#endif
QDF_DP_DESC_TYPE_MAX
};
#endif /* __QDF_TYPES_H */ #endif /* __QDF_TYPES_H */