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:

committed by
Rahul Choudhary

parent
a5beb4bc26
commit
4dc955351e
@@ -346,7 +346,7 @@ QDF_STATUS
|
||||
dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
|
||||
struct dp_hw_cookie_conversion_t *cc_ctx,
|
||||
uint32_t num_descs,
|
||||
enum dp_desc_type desc_type,
|
||||
enum qdf_dp_desc_type desc_type,
|
||||
uint8_t desc_pool_id)
|
||||
{
|
||||
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;
|
||||
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,
|
||||
num_spt_pages, 0, false);
|
||||
if (!cc_ctx->page_pool.dma_pages) {
|
||||
@@ -404,7 +404,7 @@ dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
|
||||
fail_1:
|
||||
qdf_mem_free(cc_ctx->page_desc_base);
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
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,
|
||||
&be_soc->tx_cc_ctx[i],
|
||||
num_entries,
|
||||
DP_TX_DESC_TYPE, i);
|
||||
QDF_DP_TX_DESC_TYPE, i);
|
||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status))
|
||||
goto fail;
|
||||
}
|
||||
@@ -989,7 +989,8 @@ static QDF_STATUS dp_soc_attach_be(struct dp_soc *soc,
|
||||
dp_hw_cookie_conversion_attach(be_soc,
|
||||
&be_soc->rx_cc_ctx[i],
|
||||
num_entries,
|
||||
DP_RX_DESC_BUF_TYPE, i);
|
||||
QDF_DP_RX_DESC_BUF_TYPE,
|
||||
i);
|
||||
if (!QDF_IS_STATUS_SUCCESS(qdf_status))
|
||||
goto fail;
|
||||
}
|
||||
|
@@ -634,7 +634,7 @@ QDF_STATUS
|
||||
dp_hw_cookie_conversion_attach(struct dp_soc_be *be_soc,
|
||||
struct dp_hw_cookie_conversion_t *cc_ctx,
|
||||
uint32_t num_descs,
|
||||
enum dp_desc_type desc_type,
|
||||
enum qdf_dp_desc_type desc_type,
|
||||
uint8_t desc_pool_id);
|
||||
|
||||
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
|
||||
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) {
|
||||
case DP_TX_DESC_TYPE:
|
||||
case QDF_DP_TX_DESC_TYPE:
|
||||
return (DP_TX_DESC_CMEM_OFFSET +
|
||||
(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 +
|
||||
((chip_id * MAX_RXDESC_POOLS) + desc_pool_id) *
|
||||
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;
|
||||
default:
|
||||
QDF_BUG(0);
|
||||
|
@@ -1041,7 +1041,7 @@ QDF_STATUS dp_rx_desc_pool_init_be(struct dp_soc *soc,
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
|
||||
/* 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");
|
||||
status = dp_rx_desc_pool_init_be_cc(soc,
|
||||
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,
|
||||
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);
|
||||
}
|
||||
|
||||
|
@@ -4412,7 +4412,7 @@ void dp_context_free_mem(struct dp_soc *soc, enum dp_ctxt_type ctxt_type,
|
||||
* Return: None
|
||||
*/
|
||||
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,
|
||||
size_t element_size,
|
||||
uint32_t element_num,
|
||||
@@ -4434,7 +4434,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
|
||||
* Return: None
|
||||
*/
|
||||
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,
|
||||
qdf_dma_context_t memctxt,
|
||||
bool cacheable);
|
||||
@@ -4456,7 +4456,7 @@ void dp_context_free_mem(struct dp_soc *soc, enum dp_ctxt_type ctxt_type,
|
||||
|
||||
static inline
|
||||
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,
|
||||
size_t element_size,
|
||||
uint32_t element_num,
|
||||
@@ -4469,7 +4469,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
|
||||
|
||||
static inline
|
||||
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,
|
||||
qdf_dma_context_t memctxt,
|
||||
bool cacheable)
|
||||
|
@@ -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,
|
||||
enum dp_desc_type desc_type,
|
||||
enum qdf_dp_desc_type desc_type,
|
||||
struct qdf_mem_multi_page_t *pages,
|
||||
size_t element_size,
|
||||
uint32_t element_num,
|
||||
@@ -1282,7 +1282,7 @@ end:
|
||||
}
|
||||
|
||||
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,
|
||||
qdf_dma_context_t memctxt,
|
||||
bool cacheable)
|
||||
|
@@ -2016,7 +2016,7 @@ void dp_hw_link_desc_pool_banks_free(struct dp_soc *soc, uint32_t mac_id)
|
||||
soc->ctrl_psoc,
|
||||
WLAN_MD_DP_SRNG_WBM_IDLE_LINK,
|
||||
"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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
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,
|
||||
link_desc_size,
|
||||
*total_link_descs,
|
||||
|
@@ -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_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,
|
||||
rx_sw_desc_num,
|
||||
rx_desc_pool);
|
||||
|
@@ -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));
|
||||
tx_desc_pool = &((soc)->tx_desc[(pool_id)]);
|
||||
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,
|
||||
desc_size, num_elem,
|
||||
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]);
|
||||
|
||||
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,
|
||||
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);
|
||||
|
||||
/* 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,
|
||||
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
|
||||
* 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,
|
||||
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;
|
||||
|
||||
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,
|
||||
memctx, false);
|
||||
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]);
|
||||
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,
|
||||
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,
|
||||
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->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,
|
||||
desc_size, num_elem, 0, true);
|
||||
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;
|
||||
|
||||
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,
|
||||
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->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,
|
||||
desc_size,
|
||||
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;
|
||||
|
||||
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,
|
||||
0, true);
|
||||
}
|
||||
|
@@ -545,42 +545,6 @@ enum dp_ctxt_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
|
||||
* @pool_size: number of RX descriptor in the pool
|
||||
@@ -609,7 +573,7 @@ struct rx_desc_pool {
|
||||
uint16_t buf_size;
|
||||
uint8_t buf_alignment;
|
||||
bool rx_mon_dest_frag_enable;
|
||||
enum dp_desc_type desc_type;
|
||||
enum qdf_dp_desc_type desc_type;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@@ -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 */
|
||||
tcl_desc_pool = &rh_soc->tcl_desc_pool[pool_id];
|
||||
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,
|
||||
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;
|
||||
|
||||
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,
|
||||
memctx, false);
|
||||
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];
|
||||
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,
|
||||
memctx, false);
|
||||
}
|
||||
|
@@ -1797,4 +1797,42 @@ enum qdf_iommu_attr {
|
||||
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 */
|
||||
|
Reference in New Issue
Block a user