xref: /aosp_15_r20/bionic/libc/kernel/uapi/drm/lima_drm.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LIMA_DRM_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __LIMA_DRM_H__
9*8d67ca89SAndroid Build Coastguard Worker #include "drm.h"
10*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus
11*8d67ca89SAndroid Build Coastguard Worker extern "C" {
12*8d67ca89SAndroid Build Coastguard Worker #endif
13*8d67ca89SAndroid Build Coastguard Worker enum drm_lima_param_gpu_id {
14*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_GPU_ID_UNKNOWN,
15*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_GPU_ID_MALI400,
16*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_GPU_ID_MALI450,
17*8d67ca89SAndroid Build Coastguard Worker };
18*8d67ca89SAndroid Build Coastguard Worker enum drm_lima_param {
19*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_GPU_ID,
20*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_NUM_PP,
21*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_GP_VERSION,
22*8d67ca89SAndroid Build Coastguard Worker   DRM_LIMA_PARAM_PP_VERSION,
23*8d67ca89SAndroid Build Coastguard Worker };
24*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_get_param {
25*8d67ca89SAndroid Build Coastguard Worker   __u32 param;
26*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
27*8d67ca89SAndroid Build Coastguard Worker   __u64 value;
28*8d67ca89SAndroid Build Coastguard Worker };
29*8d67ca89SAndroid Build Coastguard Worker #define LIMA_BO_FLAG_HEAP (1 << 0)
30*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_gem_create {
31*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
32*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
33*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
34*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
35*8d67ca89SAndroid Build Coastguard Worker };
36*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_gem_info {
37*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
38*8d67ca89SAndroid Build Coastguard Worker   __u32 va;
39*8d67ca89SAndroid Build Coastguard Worker   __u64 offset;
40*8d67ca89SAndroid Build Coastguard Worker };
41*8d67ca89SAndroid Build Coastguard Worker #define LIMA_SUBMIT_BO_READ 0x01
42*8d67ca89SAndroid Build Coastguard Worker #define LIMA_SUBMIT_BO_WRITE 0x02
43*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_gem_submit_bo {
44*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
45*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
46*8d67ca89SAndroid Build Coastguard Worker };
47*8d67ca89SAndroid Build Coastguard Worker #define LIMA_GP_FRAME_REG_NUM 6
48*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_gp_frame {
49*8d67ca89SAndroid Build Coastguard Worker   __u32 frame[LIMA_GP_FRAME_REG_NUM];
50*8d67ca89SAndroid Build Coastguard Worker };
51*8d67ca89SAndroid Build Coastguard Worker #define LIMA_PP_FRAME_REG_NUM 23
52*8d67ca89SAndroid Build Coastguard Worker #define LIMA_PP_WB_REG_NUM 12
53*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_m400_pp_frame {
54*8d67ca89SAndroid Build Coastguard Worker   __u32 frame[LIMA_PP_FRAME_REG_NUM];
55*8d67ca89SAndroid Build Coastguard Worker   __u32 num_pp;
56*8d67ca89SAndroid Build Coastguard Worker   __u32 wb[3 * LIMA_PP_WB_REG_NUM];
57*8d67ca89SAndroid Build Coastguard Worker   __u32 plbu_array_address[4];
58*8d67ca89SAndroid Build Coastguard Worker   __u32 fragment_stack_address[4];
59*8d67ca89SAndroid Build Coastguard Worker };
60*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_m450_pp_frame {
61*8d67ca89SAndroid Build Coastguard Worker   __u32 frame[LIMA_PP_FRAME_REG_NUM];
62*8d67ca89SAndroid Build Coastguard Worker   __u32 num_pp;
63*8d67ca89SAndroid Build Coastguard Worker   __u32 wb[3 * LIMA_PP_WB_REG_NUM];
64*8d67ca89SAndroid Build Coastguard Worker   __u32 use_dlbu;
65*8d67ca89SAndroid Build Coastguard Worker   __u32 _pad;
66*8d67ca89SAndroid Build Coastguard Worker   union {
67*8d67ca89SAndroid Build Coastguard Worker     __u32 plbu_array_address[8];
68*8d67ca89SAndroid Build Coastguard Worker     __u32 dlbu_regs[4];
69*8d67ca89SAndroid Build Coastguard Worker   };
70*8d67ca89SAndroid Build Coastguard Worker   __u32 fragment_stack_address[8];
71*8d67ca89SAndroid Build Coastguard Worker };
72*8d67ca89SAndroid Build Coastguard Worker #define LIMA_PIPE_GP 0x00
73*8d67ca89SAndroid Build Coastguard Worker #define LIMA_PIPE_PP 0x01
74*8d67ca89SAndroid Build Coastguard Worker #define LIMA_SUBMIT_FLAG_EXPLICIT_FENCE (1 << 0)
75*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_gem_submit {
76*8d67ca89SAndroid Build Coastguard Worker   __u32 ctx;
77*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
78*8d67ca89SAndroid Build Coastguard Worker   __u32 nr_bos;
79*8d67ca89SAndroid Build Coastguard Worker   __u32 frame_size;
80*8d67ca89SAndroid Build Coastguard Worker   __u64 bos;
81*8d67ca89SAndroid Build Coastguard Worker   __u64 frame;
82*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
83*8d67ca89SAndroid Build Coastguard Worker   __u32 out_sync;
84*8d67ca89SAndroid Build Coastguard Worker   __u32 in_sync[2];
85*8d67ca89SAndroid Build Coastguard Worker };
86*8d67ca89SAndroid Build Coastguard Worker #define LIMA_GEM_WAIT_READ 0x01
87*8d67ca89SAndroid Build Coastguard Worker #define LIMA_GEM_WAIT_WRITE 0x02
88*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_gem_wait {
89*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
90*8d67ca89SAndroid Build Coastguard Worker   __u32 op;
91*8d67ca89SAndroid Build Coastguard Worker   __s64 timeout_ns;
92*8d67ca89SAndroid Build Coastguard Worker };
93*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_ctx_create {
94*8d67ca89SAndroid Build Coastguard Worker   __u32 id;
95*8d67ca89SAndroid Build Coastguard Worker   __u32 _pad;
96*8d67ca89SAndroid Build Coastguard Worker };
97*8d67ca89SAndroid Build Coastguard Worker struct drm_lima_ctx_free {
98*8d67ca89SAndroid Build Coastguard Worker   __u32 id;
99*8d67ca89SAndroid Build Coastguard Worker   __u32 _pad;
100*8d67ca89SAndroid Build Coastguard Worker };
101*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_GET_PARAM 0x00
102*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_GEM_CREATE 0x01
103*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_GEM_INFO 0x02
104*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_GEM_SUBMIT 0x03
105*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_GEM_WAIT 0x04
106*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_CTX_CREATE 0x05
107*8d67ca89SAndroid Build Coastguard Worker #define DRM_LIMA_CTX_FREE 0x06
108*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_LIMA_GET_PARAM, struct drm_lima_get_param)
109*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_LIMA_GEM_CREATE, struct drm_lima_gem_create)
110*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_LIMA_GEM_INFO, struct drm_lima_gem_info)
111*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_GEM_SUBMIT DRM_IOW(DRM_COMMAND_BASE + DRM_LIMA_GEM_SUBMIT, struct drm_lima_gem_submit)
112*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_GEM_WAIT DRM_IOW(DRM_COMMAND_BASE + DRM_LIMA_GEM_WAIT, struct drm_lima_gem_wait)
113*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_CTX_CREATE DRM_IOR(DRM_COMMAND_BASE + DRM_LIMA_CTX_CREATE, struct drm_lima_ctx_create)
114*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_LIMA_CTX_FREE DRM_IOW(DRM_COMMAND_BASE + DRM_LIMA_CTX_FREE, struct drm_lima_ctx_free)
115*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus
116*8d67ca89SAndroid Build Coastguard Worker }
117*8d67ca89SAndroid Build Coastguard Worker #endif
118*8d67ca89SAndroid Build Coastguard Worker #endif
119