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,
|
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;
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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)
|
||||||
|
@@ -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)
|
||||||
|
@@ -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,
|
||||||
|
@@ -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);
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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 */
|
||||||
|
Reference in New Issue
Block a user