1 /* 2 * Driver interface for the Airbrush DRAM Manager 3 * 4 * Copyright (C) 2018 Google, Inc. 5 * 6 * This software is licensed under the terms of the GNU General Public 7 * License version 2, as published by the Free Software Foundation, and 8 * may be copied, distributed, and modified under those terms. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16 #ifndef __AB_DRAM_UAPI_H__ 17 #define __AB_DRAM_UAPI_H__ 18 19 #include <linux/ioctl.h> 20 #include <linux/types.h> 21 22 enum ab_dram_alloc_flag { 23 ABD_ALLOC_NON_CONTIGUOUS, 24 ABD_ALLOC_CONTIGUOUS, 25 }; 26 27 struct ab_dram_alloc_request { 28 __kernel_size_t size; 29 enum ab_dram_alloc_flag flag; 30 }; 31 32 #define AB_DRAM_ALLOCATE_MEMORY_LEGACY _IOW('a', 1, __kernel_size_t) 33 #define AB_DRAM_ALLOCATE_MEMORY _IOW('a', 2, \ 34 struct ab_dram_alloc_request) 35 36 #endif /* __AB_DRAM_UAPI_H__ */ 37