mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 14:19:16 +00:00
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:
parent
7151d87a17
commit
d3276f928a
5 changed files with 14 additions and 43 deletions
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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)) \
|
||||||
|
|
Loading…
Reference in a new issue