1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _TTM_PLACEMENT_USER_H_ 20 #define _TTM_PLACEMENT_USER_H_ 21 #ifndef _KERNEL 22 #include <stdint.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #else 25 #include <linux/kernel.h> 26 #endif 27 #include "ttm/ttm_placement.h" 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define TTM_PLACEMENT_MAJOR 0 30 #define TTM_PLACEMENT_MINOR 1 31 #define TTM_PLACEMENT_PL 0 32 #define TTM_PLACEMENT_DATE "080819" 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 struct ttm_pl_create_req { 35 uint64_t size; 36 uint32_t placement; 37 uint32_t page_alignment; 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 }; 40 struct ttm_pl_create_ub_req { 41 uint64_t size; 42 uint64_t user_address; 43 int32_t fd; 44 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 45 uint32_t placement; 46 uint32_t page_alignment; 47 }; 48 struct ttm_pl_rep { 49 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 50 uint64_t gpu_offset; 51 uint64_t bo_size; 52 uint64_t map_handle; 53 uint32_t placement; 54 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 55 uint32_t handle; 56 uint32_t sync_object_arg; 57 uint32_t pad64; 58 }; 59 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 60 struct ttm_pl_setstatus_req { 61 uint32_t set_placement; 62 uint32_t clr_placement; 63 uint32_t handle; 64 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 65 uint32_t pad64; 66 }; 67 struct ttm_pl_reference_req { 68 uint32_t handle; 69 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 70 uint32_t pad64; 71 }; 72 #define TTM_PL_SYNCCPU_MODE_READ TTM_ACCESS_READ 73 #define TTM_PL_SYNCCPU_MODE_WRITE TTM_ACCESS_WRITE 74 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 75 #define TTM_PL_SYNCCPU_MODE_NO_BLOCK (1 << 2) 76 #define TTM_PL_SYNCCPU_MODE_TRYCACHED (1 << 3) 77 struct ttm_pl_synccpu_arg { 78 uint32_t handle; 79 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 80 uint32_t access_mode; 81 enum { 82 TTM_PL_SYNCCPU_OP_GRAB, 83 TTM_PL_SYNCCPU_OP_RELEASE 84 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 85 } op; 86 uint32_t pad64; 87 }; 88 #define TTM_PL_WAITIDLE_MODE_LAZY (1 << 0) 89 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 90 #define TTM_PL_WAITIDLE_MODE_NO_BLOCK (1 << 1) 91 struct ttm_pl_waitidle_arg { 92 uint32_t handle; 93 uint32_t mode; 94 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 95 }; 96 union ttm_pl_create_arg { 97 struct ttm_pl_create_req req; 98 struct ttm_pl_rep rep; 99 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 100 }; 101 union ttm_pl_reference_arg { 102 struct ttm_pl_reference_req req; 103 struct ttm_pl_rep rep; 104 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 105 }; 106 union ttm_pl_setstatus_arg { 107 struct ttm_pl_setstatus_req req; 108 struct ttm_pl_rep rep; 109 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 110 }; 111 union ttm_pl_create_ub_arg { 112 struct ttm_pl_create_ub_req req; 113 struct ttm_pl_rep rep; 114 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 115 }; 116 #define TTM_PL_CREATE 0x00 117 #define TTM_PL_REFERENCE 0x01 118 #define TTM_PL_UNREF 0x02 119 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 120 #define TTM_PL_SYNCCPU 0x03 121 #define TTM_PL_WAITIDLE 0x04 122 #define TTM_PL_SETSTATUS 0x05 123 #define TTM_PL_CREATE_UB 0x06 124 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 125 #endif 126 127