xref: /dpdk/drivers/common/iavf/iavf_alloc.h (revision 7815caa653bd47837eaaa876d78ba88cbe19e5b9)
189214fe9SHaiyue Wang /* SPDX-License-Identifier: BSD-3-Clause
2*7815caa6SQi Zhang  * Copyright(c) 2001-2021 Intel Corporation
389214fe9SHaiyue Wang  */
489214fe9SHaiyue Wang 
589214fe9SHaiyue Wang #ifndef _IAVF_ALLOC_H_
689214fe9SHaiyue Wang #define _IAVF_ALLOC_H_
789214fe9SHaiyue Wang 
889214fe9SHaiyue Wang struct iavf_hw;
989214fe9SHaiyue Wang 
1089214fe9SHaiyue Wang /* Memory allocation types */
1189214fe9SHaiyue Wang enum iavf_memory_type {
1289214fe9SHaiyue Wang 	iavf_mem_arq_buf = 0,		/* ARQ indirect command buffer */
1389214fe9SHaiyue Wang 	iavf_mem_asq_buf = 1,
1489214fe9SHaiyue Wang 	iavf_mem_atq_buf = 2,		/* ATQ indirect command buffer */
1589214fe9SHaiyue Wang 	iavf_mem_arq_ring = 3,		/* ARQ descriptor ring */
1689214fe9SHaiyue Wang 	iavf_mem_atq_ring = 4,		/* ATQ descriptor ring */
1789214fe9SHaiyue Wang 	iavf_mem_pd = 5,		/* Page Descriptor */
1889214fe9SHaiyue Wang 	iavf_mem_bp = 6,		/* Backing Page - 4KB */
1989214fe9SHaiyue Wang 	iavf_mem_bp_jumbo = 7,		/* Backing Page - > 4KB */
2089214fe9SHaiyue Wang 	iavf_mem_reserved
2189214fe9SHaiyue Wang };
2289214fe9SHaiyue Wang 
2389214fe9SHaiyue Wang /* prototype for functions used for dynamic memory allocation */
2489214fe9SHaiyue Wang enum iavf_status iavf_allocate_dma_mem(struct iavf_hw *hw,
2589214fe9SHaiyue Wang 				       struct iavf_dma_mem *mem,
2689214fe9SHaiyue Wang 				       enum iavf_memory_type type,
2789214fe9SHaiyue Wang 				       u64 size, u32 alignment);
2889214fe9SHaiyue Wang enum iavf_status iavf_free_dma_mem(struct iavf_hw *hw,
2989214fe9SHaiyue Wang 				   struct iavf_dma_mem *mem);
3089214fe9SHaiyue Wang enum iavf_status iavf_allocate_virt_mem(struct iavf_hw *hw,
3189214fe9SHaiyue Wang 					struct iavf_virt_mem *mem,
3289214fe9SHaiyue Wang 					u32 size);
3389214fe9SHaiyue Wang enum iavf_status iavf_free_virt_mem(struct iavf_hw *hw,
3489214fe9SHaiyue Wang 				    struct iavf_virt_mem *mem);
3589214fe9SHaiyue Wang 
3689214fe9SHaiyue Wang #endif /* _IAVF_ALLOC_H_ */
37