i40e: Simplify memory allocation functions

Enum i40e_memory_type enum is unused in i40e_allocate_dma_mem() thus
can be safely removed. Useless macros in i40e_alloc.h can be removed
as well.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
Ivan Vecera 2023-09-27 10:31:31 +02:00 committed by Tony Nguyen
parent 7151d87a17
commit d3276f928a
5 changed files with 14 additions and 43 deletions

View File

@ -51,7 +51,6 @@ static int i40e_alloc_adminq_asq_ring(struct i40e_hw *hw)
int ret_code; int ret_code;
ret_code = i40e_allocate_dma_mem(hw, &hw->aq.asq.desc_buf, ret_code = i40e_allocate_dma_mem(hw, &hw->aq.asq.desc_buf,
i40e_mem_atq_ring,
(hw->aq.num_asq_entries * (hw->aq.num_asq_entries *
sizeof(struct i40e_aq_desc)), sizeof(struct i40e_aq_desc)),
I40E_ADMINQ_DESC_ALIGNMENT); I40E_ADMINQ_DESC_ALIGNMENT);
@ -78,7 +77,6 @@ static int i40e_alloc_adminq_arq_ring(struct i40e_hw *hw)
int ret_code; int ret_code;
ret_code = i40e_allocate_dma_mem(hw, &hw->aq.arq.desc_buf, ret_code = i40e_allocate_dma_mem(hw, &hw->aq.arq.desc_buf,
i40e_mem_arq_ring,
(hw->aq.num_arq_entries * (hw->aq.num_arq_entries *
sizeof(struct i40e_aq_desc)), sizeof(struct i40e_aq_desc)),
I40E_ADMINQ_DESC_ALIGNMENT); I40E_ADMINQ_DESC_ALIGNMENT);
@ -136,7 +134,6 @@ static int i40e_alloc_arq_bufs(struct i40e_hw *hw)
for (i = 0; i < hw->aq.num_arq_entries; i++) { for (i = 0; i < hw->aq.num_arq_entries; i++) {
bi = &hw->aq.arq.r.arq_bi[i]; bi = &hw->aq.arq.r.arq_bi[i];
ret_code = i40e_allocate_dma_mem(hw, bi, ret_code = i40e_allocate_dma_mem(hw, bi,
i40e_mem_arq_buf,
hw->aq.arq_buf_size, hw->aq.arq_buf_size,
I40E_ADMINQ_DESC_ALIGNMENT); I40E_ADMINQ_DESC_ALIGNMENT);
if (ret_code) if (ret_code)
@ -198,7 +195,6 @@ static int i40e_alloc_asq_bufs(struct i40e_hw *hw)
for (i = 0; i < hw->aq.num_asq_entries; i++) { for (i = 0; i < hw->aq.num_asq_entries; i++) {
bi = &hw->aq.asq.r.asq_bi[i]; bi = &hw->aq.asq.r.asq_bi[i];
ret_code = i40e_allocate_dma_mem(hw, bi, ret_code = i40e_allocate_dma_mem(hw, bi,
i40e_mem_asq_buf,
hw->aq.asq_buf_size, hw->aq.asq_buf_size,
I40E_ADMINQ_DESC_ALIGNMENT); I40E_ADMINQ_DESC_ALIGNMENT);
if (ret_code) if (ret_code)

View File

@ -6,23 +6,9 @@
struct i40e_hw; struct i40e_hw;
/* Memory allocation types */
enum i40e_memory_type {
i40e_mem_arq_buf = 0, /* ARQ indirect command buffer */
i40e_mem_asq_buf = 1,
i40e_mem_atq_buf = 2, /* ATQ indirect command buffer */
i40e_mem_arq_ring = 3, /* ARQ descriptor ring */
i40e_mem_atq_ring = 4, /* ATQ descriptor ring */
i40e_mem_pd = 5, /* Page Descriptor */
i40e_mem_bp = 6, /* Backing Page - 4KB */
i40e_mem_bp_jumbo = 7, /* Backing Page - > 4KB */
i40e_mem_reserved
};
/* prototype for functions used for dynamic memory allocation */ /* prototype for functions used for dynamic memory allocation */
int i40e_allocate_dma_mem(struct i40e_hw *hw, int i40e_allocate_dma_mem(struct i40e_hw *hw,
struct i40e_dma_mem *mem, struct i40e_dma_mem *mem,
enum i40e_memory_type type,
u64 size, u32 alignment); u64 size, u32 alignment);
int i40e_free_dma_mem(struct i40e_hw *hw, int i40e_free_dma_mem(struct i40e_hw *hw,
struct i40e_dma_mem *mem); struct i40e_dma_mem *mem);

View File

@ -22,7 +22,6 @@ int i40e_add_sd_table_entry(struct i40e_hw *hw,
enum i40e_sd_entry_type type, enum i40e_sd_entry_type type,
u64 direct_mode_sz) u64 direct_mode_sz)
{ {
enum i40e_memory_type mem_type __attribute__((unused));
struct i40e_hmc_sd_entry *sd_entry; struct i40e_hmc_sd_entry *sd_entry;
bool dma_mem_alloc_done = false; bool dma_mem_alloc_done = false;
struct i40e_dma_mem mem; struct i40e_dma_mem mem;
@ -43,16 +42,13 @@ int i40e_add_sd_table_entry(struct i40e_hw *hw,
sd_entry = &hmc_info->sd_table.sd_entry[sd_index]; sd_entry = &hmc_info->sd_table.sd_entry[sd_index];
if (!sd_entry->valid) { if (!sd_entry->valid) {
if (I40E_SD_TYPE_PAGED == type) { if (type == I40E_SD_TYPE_PAGED)
mem_type = i40e_mem_pd;
alloc_len = I40E_HMC_PAGED_BP_SIZE; alloc_len = I40E_HMC_PAGED_BP_SIZE;
} else { else
mem_type = i40e_mem_bp_jumbo;
alloc_len = direct_mode_sz; alloc_len = direct_mode_sz;
}
/* allocate a 4K pd page or 2M backing page */ /* allocate a 4K pd page or 2M backing page */
ret_code = i40e_allocate_dma_mem(hw, &mem, mem_type, alloc_len, ret_code = i40e_allocate_dma_mem(hw, &mem, alloc_len,
I40E_HMC_PD_BP_BUF_ALIGNMENT); I40E_HMC_PD_BP_BUF_ALIGNMENT);
if (ret_code) if (ret_code)
goto exit; goto exit;
@ -140,7 +136,7 @@ int i40e_add_pd_table_entry(struct i40e_hw *hw,
page = rsrc_pg; page = rsrc_pg;
} else { } else {
/* allocate a 4K backing page */ /* allocate a 4K backing page */
ret_code = i40e_allocate_dma_mem(hw, page, i40e_mem_bp, ret_code = i40e_allocate_dma_mem(hw, page,
I40E_HMC_PAGED_BP_SIZE, I40E_HMC_PAGED_BP_SIZE,
I40E_HMC_PD_BP_BUF_ALIGNMENT); I40E_HMC_PD_BP_BUF_ALIGNMENT);
if (ret_code) if (ret_code)

View File

@ -131,14 +131,14 @@ struct device *i40e_hw_to_dev(struct i40e_hw *hw)
} }
/** /**
* i40e_allocate_dma_mem_d - OS specific memory alloc for shared code * i40e_allocate_dma_mem - OS specific memory alloc for shared code
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* @mem: ptr to mem struct to fill out * @mem: ptr to mem struct to fill out
* @size: size of memory requested * @size: size of memory requested
* @alignment: what to align the allocation to * @alignment: what to align the allocation to
**/ **/
int i40e_allocate_dma_mem_d(struct i40e_hw *hw, struct i40e_dma_mem *mem, int i40e_allocate_dma_mem(struct i40e_hw *hw, struct i40e_dma_mem *mem,
u64 size, u32 alignment) u64 size, u32 alignment)
{ {
struct i40e_pf *pf = i40e_hw_to_pf(hw); struct i40e_pf *pf = i40e_hw_to_pf(hw);
@ -152,11 +152,11 @@ int i40e_allocate_dma_mem_d(struct i40e_hw *hw, struct i40e_dma_mem *mem,
} }
/** /**
* i40e_free_dma_mem_d - OS specific memory free for shared code * i40e_free_dma_mem - OS specific memory free for shared code
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* @mem: ptr to mem struct to free * @mem: ptr to mem struct to free
**/ **/
int i40e_free_dma_mem_d(struct i40e_hw *hw, struct i40e_dma_mem *mem) int i40e_free_dma_mem(struct i40e_hw *hw, struct i40e_dma_mem *mem)
{ {
struct i40e_pf *pf = i40e_hw_to_pf(hw); struct i40e_pf *pf = i40e_hw_to_pf(hw);
@ -169,13 +169,13 @@ int i40e_free_dma_mem_d(struct i40e_hw *hw, struct i40e_dma_mem *mem)
} }
/** /**
* i40e_allocate_virt_mem_d - OS specific memory alloc for shared code * i40e_allocate_virt_mem - OS specific memory alloc for shared code
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* @mem: ptr to mem struct to fill out * @mem: ptr to mem struct to fill out
* @size: size of memory requested * @size: size of memory requested
**/ **/
int i40e_allocate_virt_mem_d(struct i40e_hw *hw, struct i40e_virt_mem *mem, int i40e_allocate_virt_mem(struct i40e_hw *hw, struct i40e_virt_mem *mem,
u32 size) u32 size)
{ {
mem->size = size; mem->size = size;
mem->va = kzalloc(size, GFP_KERNEL); mem->va = kzalloc(size, GFP_KERNEL);
@ -187,11 +187,11 @@ int i40e_allocate_virt_mem_d(struct i40e_hw *hw, struct i40e_virt_mem *mem,
} }
/** /**
* i40e_free_virt_mem_d - OS specific memory free for shared code * i40e_free_virt_mem - OS specific memory free for shared code
* @hw: pointer to the HW structure * @hw: pointer to the HW structure
* @mem: ptr to mem struct to free * @mem: ptr to mem struct to free
**/ **/
int i40e_free_virt_mem_d(struct i40e_hw *hw, struct i40e_virt_mem *mem) int i40e_free_virt_mem(struct i40e_hw *hw, struct i40e_virt_mem *mem)
{ {
/* it's ok to kfree a NULL pointer */ /* it's ok to kfree a NULL pointer */
kfree(mem->va); kfree(mem->va);

View File

@ -36,18 +36,11 @@ struct i40e_dma_mem {
u32 size; u32 size;
}; };
#define i40e_allocate_dma_mem(h, m, unused, s, a) \
i40e_allocate_dma_mem_d(h, m, s, a)
#define i40e_free_dma_mem(h, m) i40e_free_dma_mem_d(h, m)
struct i40e_virt_mem { struct i40e_virt_mem {
void *va; void *va;
u32 size; u32 size;
}; };
#define i40e_allocate_virt_mem(h, m, s) i40e_allocate_virt_mem_d(h, m, s)
#define i40e_free_virt_mem(h, m) i40e_free_virt_mem_d(h, m)
#define i40e_debug(h, m, s, ...) \ #define i40e_debug(h, m, s, ...) \
do { \ do { \
if (((m) & (h)->debug_mask)) \ if (((m) & (h)->debug_mask)) \