36 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/* Copyright(c) 2013 - 2018 Intel Corporation. */3 4#ifndef _I40E_ALLOC_H_5#define _I40E_ALLOC_H_6 7#include <linux/types.h>8 9struct i40e_hw;10 11/* memory allocation tracking */12struct i40e_dma_mem {13 void *va;14 dma_addr_t pa;15 u32 size;16};17 18struct i40e_virt_mem {19 void *va;20 u32 size;21};22 23/* prototype for functions used for dynamic memory allocation */24int i40e_allocate_dma_mem(struct i40e_hw *hw,25 struct i40e_dma_mem *mem,26 u64 size, u32 alignment);27int i40e_free_dma_mem(struct i40e_hw *hw,28 struct i40e_dma_mem *mem);29int i40e_allocate_virt_mem(struct i40e_hw *hw,30 struct i40e_virt_mem *mem,31 u32 size);32int i40e_free_virt_mem(struct i40e_hw *hw,33 struct i40e_virt_mem *mem);34 35#endif /* _I40E_ALLOC_H_ */36