1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) STMicroelectronics SA 2015 4 * Authors: Yannick Fertre <yannick.fertre@st.com> 5 * Hugues Fruchet <hugues.fruchet@st.com> 6 */ 7 8 #ifndef HVA_MEM_H 9 #define HVA_MEM_H 10 11 /** 12 * struct hva_buffer - hva buffer 13 * 14 * @name: name of requester 15 * @paddr: physical address (for hardware) 16 * @vaddr: virtual address (kernel can read/write) 17 * @size: size of buffer 18 */ 19 struct hva_buffer { 20 const char *name; 21 dma_addr_t paddr; 22 void *vaddr; 23 u32 size; 24 }; 25 26 int hva_mem_alloc(struct hva_ctx *ctx, 27 __u32 size, 28 const char *name, 29 struct hva_buffer **buf); 30 31 void hva_mem_free(struct hva_ctx *ctx, 32 struct hva_buffer *buf); 33 34 #endif /* HVA_MEM_H */ 35