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:
Nandha Kishore Easwaran
2022-03-09 11:24:23 +05:30
committato da Madan Koyyalamudi
parent ea3efe6a60
commit cf10304673
13 ha cambiato i file con 43 aggiunte e 49 eliminazioni

Vedi File

@@ -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;

Vedi File

@@ -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)

Vedi File

@@ -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)
{

Vedi File

@@ -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)
{

Vedi File

@@ -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);

Vedi File

@@ -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,

Vedi File

@@ -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;
}

Vedi File

@@ -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;
}

Vedi File

@@ -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;

Vedi File

@@ -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,

Vedi File

@@ -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;

Vedi File

@@ -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);
/**

Vedi File

@@ -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