* Copyright (c) 2024-2024 Huawei Technologies Co., Ltd. All rights reserved.
*
* UniProton is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
* Create: 2024-1-24
* Description: I40e网卡功能适配
*/
#ifndef _I40E_ALLOC_H_
#define _I40E_ALLOC_H_
struct i40e_hw;
enum i40e_memory_type {
i40e_mem_arq_buf = 0,
i40e_mem_asq_buf = 1,
i40e_mem_atq_buf = 2,
i40e_mem_arq_ring = 3,
i40e_mem_atq_ring = 4,
i40e_mem_pd = 5,
i40e_mem_bp = 6,
i40e_mem_bp_jumbo = 7,
i40e_mem_reserved
};
enum i40e_status_code i40e_allocate_dma_mem(struct i40e_hw *hw,
struct i40e_dma_mem *mem,
enum i40e_memory_type type,
u64 size, u32 alignment);
enum i40e_status_code i40e_free_dma_mem(struct i40e_hw *hw,
struct i40e_dma_mem *mem);
enum i40e_status_code i40e_allocate_virt_mem(struct i40e_hw *hw,
struct i40e_virt_mem *mem,
u32 size);
enum i40e_status_code i40e_free_virt_mem(struct i40e_hw *hw,
struct i40e_virt_mem *mem);
#endif