qcacmn: Add provision to set desc to higher value
Add support to change the tx_desc value to 65536. Some changes to make the function argument as u32 type us made Change-Id: I7cbde1b7ed4ab4e278c25c1ecfa94b7f673197f2 CRs-Fixed: 3130833
This commit is contained in:

committato da
Madan Koyyalamudi

parent
ea3efe6a60
commit
cf10304673
@@ -847,7 +847,7 @@ void dp_tx_update_bank_profile(struct dp_soc_be *be_soc,
|
||||
}
|
||||
|
||||
QDF_STATUS dp_tx_desc_pool_init_be(struct dp_soc *soc,
|
||||
uint16_t num_elem,
|
||||
uint32_t num_elem,
|
||||
uint8_t pool_id)
|
||||
{
|
||||
struct dp_tx_desc_pool_s *tx_desc_pool;
|
||||
|
@@ -142,7 +142,7 @@ void dp_tx_update_bank_profile(struct dp_soc_be *be_soc,
|
||||
* Return: QDF_STATUS_SUCCESS - success, others - failure
|
||||
*/
|
||||
QDF_STATUS dp_tx_desc_pool_init_be(struct dp_soc *soc,
|
||||
uint16_t num_elem,
|
||||
uint32_t num_elem,
|
||||
uint8_t pool_id);
|
||||
/**
|
||||
* dp_tx_desc_pool_deinit_be() - De-initialize Tx Descriptor pool(s)
|
||||
|
@@ -3224,7 +3224,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
|
||||
enum dp_desc_type desc_type,
|
||||
struct qdf_mem_multi_page_t *pages,
|
||||
size_t element_size,
|
||||
uint16_t element_num,
|
||||
uint32_t element_num,
|
||||
qdf_dma_context_t memctxt,
|
||||
bool cacheable);
|
||||
|
||||
@@ -3268,7 +3268,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
|
||||
enum dp_desc_type desc_type,
|
||||
struct qdf_mem_multi_page_t *pages,
|
||||
size_t element_size,
|
||||
uint16_t element_num,
|
||||
uint32_t element_num,
|
||||
qdf_dma_context_t memctxt,
|
||||
bool cacheable)
|
||||
{
|
||||
|
@@ -2024,7 +2024,7 @@ void dp_desc_multi_pages_mem_alloc(struct dp_soc *soc,
|
||||
enum dp_desc_type desc_type,
|
||||
struct qdf_mem_multi_page_t *pages,
|
||||
size_t element_size,
|
||||
uint16_t element_num,
|
||||
uint32_t element_num,
|
||||
qdf_dma_context_t memctxt,
|
||||
bool cacheable)
|
||||
{
|
||||
|
@@ -5440,7 +5440,7 @@ static QDF_STATUS dp_tx_alloc_static_pools(struct dp_soc *soc, int num_pool,
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_tx_init_static_pools(struct dp_soc *soc, int num_pool,
|
||||
int num_desc)
|
||||
uint32_t num_desc)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -5458,7 +5458,7 @@ static void dp_tx_delete_static_pools(struct dp_soc *soc, int num_pool)
|
||||
}
|
||||
#else /* QCA_LL_TX_FLOW_CONTROL_V2! */
|
||||
static QDF_STATUS dp_tx_alloc_static_pools(struct dp_soc *soc, int num_pool,
|
||||
int num_desc)
|
||||
uint32_t num_desc)
|
||||
{
|
||||
uint8_t i, count;
|
||||
|
||||
@@ -5481,7 +5481,7 @@ fail:
|
||||
}
|
||||
|
||||
static QDF_STATUS dp_tx_init_static_pools(struct dp_soc *soc, int num_pool,
|
||||
int num_desc)
|
||||
uint32_t num_desc)
|
||||
{
|
||||
uint8_t i;
|
||||
for (i = 0; i < num_pool; i++) {
|
||||
@@ -5591,7 +5591,7 @@ void dp_soc_tx_desc_sw_pools_deinit(struct dp_soc *soc)
|
||||
*/
|
||||
QDF_STATUS dp_tx_tso_cmn_desc_pool_alloc(struct dp_soc *soc,
|
||||
uint8_t num_pool,
|
||||
uint16_t num_desc)
|
||||
uint32_t num_desc)
|
||||
{
|
||||
if (dp_tx_tso_desc_pool_alloc(soc, num_pool, num_desc)) {
|
||||
dp_err("TSO Desc Pool alloc %d failed %pK", num_pool, soc);
|
||||
@@ -5620,7 +5620,7 @@ QDF_STATUS dp_tx_tso_cmn_desc_pool_alloc(struct dp_soc *soc,
|
||||
|
||||
QDF_STATUS dp_tx_tso_cmn_desc_pool_init(struct dp_soc *soc,
|
||||
uint8_t num_pool,
|
||||
uint16_t num_desc)
|
||||
uint32_t num_desc)
|
||||
{
|
||||
if (dp_tx_tso_desc_pool_init(soc, num_pool, num_desc)) {
|
||||
dp_err("TSO Desc Pool alloc %d failed %pK", num_pool, soc);
|
||||
|
@@ -236,21 +236,14 @@ void dp_tx_deinit_pair_by_index(struct dp_soc *soc, int index);
|
||||
|
||||
void dp_tx_tso_cmn_desc_pool_deinit(struct dp_soc *soc, uint8_t num_pool);
|
||||
void dp_tx_tso_cmn_desc_pool_free(struct dp_soc *soc, uint8_t num_pool);
|
||||
QDF_STATUS dp_tx_tso_cmn_desc_pool_alloc(struct dp_soc *soc,
|
||||
uint8_t num_pool,
|
||||
uint16_t num_desc);
|
||||
QDF_STATUS dp_tx_tso_cmn_desc_pool_init(struct dp_soc *soc,
|
||||
uint8_t num_pool,
|
||||
uint16_t num_desc);
|
||||
|
||||
void dp_tx_tso_cmn_desc_pool_deinit(struct dp_soc *soc, uint8_t num_pool);
|
||||
void dp_tx_tso_cmn_desc_pool_free(struct dp_soc *soc, uint8_t num_pool);
|
||||
QDF_STATUS dp_tx_tso_cmn_desc_pool_alloc(struct dp_soc *soc,
|
||||
uint8_t num_pool,
|
||||
uint16_t num_desc);
|
||||
uint32_t num_desc);
|
||||
QDF_STATUS dp_tx_tso_cmn_desc_pool_init(struct dp_soc *soc,
|
||||
uint8_t num_pool,
|
||||
uint16_t num_desc);
|
||||
uint32_t num_desc);
|
||||
void dp_tx_comp_free_buf(struct dp_soc *soc, struct dp_tx_desc_s *desc);
|
||||
void dp_tx_desc_release(struct dp_tx_desc_s *tx_desc, uint8_t desc_pool_id);
|
||||
void dp_tx_compute_delay(struct dp_vdev *vdev, struct dp_tx_desc_s *tx_desc,
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -91,7 +92,7 @@ dp_tx_desc_pool_counter_initialize(struct dp_tx_desc_pool_s *tx_desc_pool,
|
||||
* Return: Status code. 0 for success.
|
||||
*/
|
||||
QDF_STATUS dp_tx_desc_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
uint32_t desc_size;
|
||||
struct dp_tx_desc_pool_s *tx_desc_pool;
|
||||
@@ -138,7 +139,7 @@ void dp_tx_desc_pool_free(struct dp_soc *soc, uint8_t pool_id)
|
||||
* QDF_STATUS_E_FAULT
|
||||
*/
|
||||
QDF_STATUS dp_tx_desc_pool_init(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
struct dp_tx_desc_pool_s *tx_desc_pool;
|
||||
uint32_t desc_size;
|
||||
@@ -196,7 +197,7 @@ void dp_tx_desc_pool_deinit(struct dp_soc *soc, uint8_t pool_id)
|
||||
* QDF_STATUS_E_NOMEM
|
||||
*/
|
||||
QDF_STATUS dp_tx_ext_desc_pool_alloc(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
qdf_dma_context_t memctx = 0;
|
||||
@@ -285,7 +286,7 @@ fail_exit:
|
||||
* QDF_STATUS_E_NOMEM
|
||||
*/
|
||||
QDF_STATUS dp_tx_ext_desc_pool_init(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
uint32_t i;
|
||||
struct dp_tx_ext_desc_elem_s *c_elem, *p_elem;
|
||||
@@ -418,7 +419,7 @@ void dp_tx_ext_desc_pool_deinit(struct dp_soc *soc, uint8_t num_pool)
|
||||
* QDF_STATUS_E_NOMEM
|
||||
*/
|
||||
QDF_STATUS dp_tx_tso_desc_pool_alloc(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
struct dp_tx_tso_seg_pool_s *tso_desc_pool;
|
||||
uint32_t desc_size, pool_id, i;
|
||||
@@ -480,7 +481,7 @@ void dp_tx_tso_desc_pool_free(struct dp_soc *soc, uint8_t num_pool)
|
||||
* QDF_STATUS_E_NOMEM
|
||||
*/
|
||||
QDF_STATUS dp_tx_tso_desc_pool_init(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
struct dp_tx_tso_seg_pool_s *tso_desc_pool;
|
||||
uint32_t desc_size, pool_id;
|
||||
@@ -546,7 +547,7 @@ void dp_tx_tso_desc_pool_deinit(struct dp_soc *soc, uint8_t num_pool)
|
||||
* QDF_STATUS_E_NOMEM
|
||||
*/
|
||||
QDF_STATUS dp_tx_tso_num_seg_pool_alloc(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
struct dp_tx_tso_num_seg_pool_s *tso_num_seg_pool;
|
||||
uint32_t desc_size, pool_id, i;
|
||||
@@ -610,7 +611,7 @@ void dp_tx_tso_num_seg_pool_free(struct dp_soc *soc, uint8_t num_pool)
|
||||
* QDF_STATUS_E_FAULT
|
||||
*/
|
||||
QDF_STATUS dp_tx_tso_num_seg_pool_init(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
struct dp_tx_tso_num_seg_pool_s *tso_num_seg_pool;
|
||||
uint32_t desc_size, pool_id;
|
||||
@@ -666,13 +667,13 @@ void dp_tx_tso_num_seg_pool_deinit(struct dp_soc *soc, uint8_t num_pool)
|
||||
}
|
||||
#else
|
||||
QDF_STATUS dp_tx_tso_desc_pool_alloc(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS dp_tx_tso_desc_pool_init(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -686,7 +687,7 @@ void dp_tx_tso_desc_pool_deinit(struct dp_soc *soc, uint8_t num_pool)
|
||||
}
|
||||
|
||||
QDF_STATUS dp_tx_tso_num_seg_pool_alloc(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -696,7 +697,7 @@ void dp_tx_tso_num_seg_pool_free(struct dp_soc *soc, uint8_t num_pool)
|
||||
}
|
||||
|
||||
QDF_STATUS dp_tx_tso_num_seg_pool_init(struct dp_soc *soc, uint8_t num_pool,
|
||||
uint16_t num_elem)
|
||||
uint32_t num_elem)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
@@ -107,30 +107,30 @@ static inline void dp_tx_desc_set_magic(struct dp_tx_desc_s *tx_desc,
|
||||
#endif
|
||||
|
||||
QDF_STATUS dp_tx_desc_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
QDF_STATUS dp_tx_desc_pool_init(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
void dp_tx_desc_pool_free(struct dp_soc *soc, uint8_t pool_id);
|
||||
void dp_tx_desc_pool_deinit(struct dp_soc *soc, uint8_t pool_id);
|
||||
|
||||
QDF_STATUS dp_tx_ext_desc_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
QDF_STATUS dp_tx_ext_desc_pool_init(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
void dp_tx_ext_desc_pool_free(struct dp_soc *soc, uint8_t pool_id);
|
||||
void dp_tx_ext_desc_pool_deinit(struct dp_soc *soc, uint8_t pool_id);
|
||||
|
||||
QDF_STATUS dp_tx_tso_desc_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
QDF_STATUS dp_tx_tso_desc_pool_init(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
void dp_tx_tso_desc_pool_free(struct dp_soc *soc, uint8_t pool_id);
|
||||
void dp_tx_tso_desc_pool_deinit(struct dp_soc *soc, uint8_t pool_id);
|
||||
|
||||
QDF_STATUS dp_tx_tso_num_seg_pool_alloc(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
QDF_STATUS dp_tx_tso_num_seg_pool_init(struct dp_soc *soc, uint8_t pool_id,
|
||||
uint16_t num_elem);
|
||||
uint32_t num_elem);
|
||||
void dp_tx_tso_num_seg_pool_free(struct dp_soc *soc, uint8_t pool_id);
|
||||
void dp_tx_tso_num_seg_pool_deinit(struct dp_soc *soc, uint8_t pool_id);
|
||||
|
||||
@@ -146,10 +146,10 @@ void dp_tx_flow_pool_unmap(struct cdp_soc_t *handle, uint8_t pdev_id,
|
||||
uint8_t vdev_id);
|
||||
void dp_tx_clear_flow_pool_stats(struct dp_soc *soc);
|
||||
struct dp_tx_desc_pool_s *dp_tx_create_flow_pool(struct dp_soc *soc,
|
||||
uint8_t flow_pool_id, uint16_t flow_pool_size);
|
||||
uint8_t flow_pool_id, uint32_t flow_pool_size);
|
||||
|
||||
QDF_STATUS dp_tx_flow_pool_map_handler(struct dp_pdev *pdev, uint8_t flow_id,
|
||||
uint8_t flow_type, uint8_t flow_pool_id, uint16_t flow_pool_size);
|
||||
uint8_t flow_type, uint8_t flow_pool_id, uint32_t flow_pool_size);
|
||||
void dp_tx_flow_pool_unmap_handler(struct dp_pdev *pdev, uint8_t flow_id,
|
||||
uint8_t flow_type, uint8_t flow_pool_id);
|
||||
|
||||
@@ -647,7 +647,7 @@ static inline void dp_tx_flow_control_deinit(struct dp_soc *handle)
|
||||
|
||||
static inline QDF_STATUS dp_tx_flow_pool_map_handler(struct dp_pdev *pdev,
|
||||
uint8_t flow_id, uint8_t flow_type, uint8_t flow_pool_id,
|
||||
uint16_t flow_pool_size)
|
||||
uint32_t flow_pool_size)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
@@ -327,7 +327,7 @@ void dp_tx_clear_flow_pool_stats(struct dp_soc *soc)
|
||||
* Return: flow_pool pointer / NULL for error
|
||||
*/
|
||||
struct dp_tx_desc_pool_s *dp_tx_create_flow_pool(struct dp_soc *soc,
|
||||
uint8_t flow_pool_id, uint16_t flow_pool_size)
|
||||
uint8_t flow_pool_id, uint32_t flow_pool_size)
|
||||
{
|
||||
struct dp_tx_desc_pool_s *pool;
|
||||
uint32_t stop_threshold;
|
||||
@@ -512,7 +512,7 @@ static void dp_tx_flow_pool_vdev_unmap(struct dp_pdev *pdev,
|
||||
* Return: none
|
||||
*/
|
||||
QDF_STATUS dp_tx_flow_pool_map_handler(struct dp_pdev *pdev, uint8_t flow_id,
|
||||
uint8_t flow_type, uint8_t flow_pool_id, uint16_t flow_pool_size)
|
||||
uint8_t flow_type, uint8_t flow_pool_id, uint32_t flow_pool_size)
|
||||
{
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
struct dp_tx_desc_pool_s *pool;
|
||||
|
@@ -1711,7 +1711,7 @@ struct dp_arch_ops {
|
||||
uint8_t reo_ring_num, uint32_t quota);
|
||||
|
||||
QDF_STATUS (*dp_tx_desc_pool_init)(struct dp_soc *soc,
|
||||
uint16_t num_elem,
|
||||
uint32_t num_elem,
|
||||
uint8_t pool_id);
|
||||
void (*dp_tx_desc_pool_deinit)(
|
||||
struct dp_soc *soc,
|
||||
|
@@ -521,7 +521,7 @@ ring_access_fail:
|
||||
}
|
||||
|
||||
QDF_STATUS dp_tx_desc_pool_init_li(struct dp_soc *soc,
|
||||
uint16_t num_elem,
|
||||
uint32_t num_elem,
|
||||
uint8_t pool_id)
|
||||
{
|
||||
uint32_t id, count, page_id, offset, pool_id_32;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -79,7 +79,7 @@ void dp_tx_process_htt_completion_li(struct dp_soc *soc,
|
||||
* Return: QDF_STATUS_SUCCESS - success, others - failure
|
||||
*/
|
||||
QDF_STATUS dp_tx_desc_pool_init_li(struct dp_soc *soc,
|
||||
uint16_t num_elem,
|
||||
uint32_t num_elem,
|
||||
uint8_t pool_id);
|
||||
|
||||
/**
|
||||
|
@@ -166,7 +166,7 @@
|
||||
#define WLAN_CFG_TX_COMP_RING_SIZE_MAX 0x80000
|
||||
|
||||
#define WLAN_CFG_NUM_TX_DESC_MIN 16
|
||||
#define WLAN_CFG_NUM_TX_DESC_MAX 32768
|
||||
#define WLAN_CFG_NUM_TX_DESC_MAX 0x10000
|
||||
|
||||
#define WLAN_CFG_NUM_TX_EXT_DESC_MIN 16
|
||||
#define WLAN_CFG_NUM_TX_EXT_DESC_MAX 0x80000
|
||||
|
Fai riferimento in un nuovo problema
Block a user