blob: 80dc67167849fa10db1f8214f24215b3652d3ab7 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 _UAPI_TEGRA_DRM_H_
20#define _UAPI_TEGRA_DRM_H_
Ben Cheng655a7c02013-10-16 16:09:24 -070021struct drm_tegra_gem_create {
Ben Cheng655a7c02013-10-16 16:09:24 -070022 __u64 size;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070024 __u32 flags;
25 __u32 handle;
26};
Ben Cheng655a7c02013-10-16 16:09:24 -070027struct drm_tegra_gem_mmap {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070029 __u32 handle;
30 __u32 offset;
31};
Ben Cheng655a7c02013-10-16 16:09:24 -070032struct drm_tegra_syncpt_read {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070034 __u32 id;
35 __u32 value;
36};
Ben Cheng655a7c02013-10-16 16:09:24 -070037struct drm_tegra_syncpt_incr {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070039 __u32 id;
40 __u32 pad;
41};
Ben Cheng655a7c02013-10-16 16:09:24 -070042struct drm_tegra_syncpt_wait {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070044 __u32 id;
45 __u32 thresh;
46 __u32 timeout;
Ben Cheng655a7c02013-10-16 16:09:24 -070047 __u32 value;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070049};
50#define DRM_TEGRA_NO_TIMEOUT (0xffffffff)
51struct drm_tegra_open_channel {
Ben Cheng655a7c02013-10-16 16:09:24 -070052 __u32 client;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070054 __u32 pad;
55 __u64 context;
56};
Ben Cheng655a7c02013-10-16 16:09:24 -070057struct drm_tegra_close_channel {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070059 __u64 context;
60};
61struct drm_tegra_get_syncpt {
Ben Cheng655a7c02013-10-16 16:09:24 -070062 __u64 context;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070064 __u32 index;
65 __u32 id;
66};
Ben Cheng655a7c02013-10-16 16:09:24 -070067struct drm_tegra_syncpt {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070069 __u32 id;
70 __u32 incrs;
71};
Ben Cheng655a7c02013-10-16 16:09:24 -070072struct drm_tegra_cmdbuf {
Elliott Hughes8cb52b02013-11-21 13:43:23 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070074 __u32 handle;
75 __u32 offset;
76 __u32 words;
Ben Cheng655a7c02013-10-16 16:09:24 -070077 __u32 pad;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070079};
80struct drm_tegra_reloc {
81 struct {
Ben Cheng655a7c02013-10-16 16:09:24 -070082 __u32 handle;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070084 __u32 offset;
85 } cmdbuf;
86 struct {
Ben Cheng655a7c02013-10-16 16:09:24 -070087 __u32 handle;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070089 __u32 offset;
90 } target;
91 __u32 shift;
Ben Cheng655a7c02013-10-16 16:09:24 -070092 __u32 pad;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070094};
95struct drm_tegra_waitchk {
96 __u32 handle;
Ben Cheng655a7c02013-10-16 16:09:24 -070097 __u32 offset;
Elliott Hughes8cb52b02013-11-21 13:43:23 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -070099 __u32 syncpt;
100 __u32 thresh;
101};
Ben Cheng655a7c02013-10-16 16:09:24 -0700102struct drm_tegra_submit {
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700104 __u64 context;
105 __u32 num_syncpts;
106 __u32 num_cmdbufs;
Ben Cheng655a7c02013-10-16 16:09:24 -0700107 __u32 num_relocs;
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700109 __u32 num_waitchks;
110 __u32 waitchk_mask;
111 __u32 timeout;
Ben Cheng655a7c02013-10-16 16:09:24 -0700112 __u32 pad;
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700114 __u64 syncpts;
115 __u64 cmdbufs;
116 __u64 relocs;
Ben Cheng655a7c02013-10-16 16:09:24 -0700117 __u64 waitchks;
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700119 __u32 fence;
120 __u32 reserved[5];
121};
Ben Cheng655a7c02013-10-16 16:09:24 -0700122#define DRM_TEGRA_GEM_CREATE 0x00
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700124#define DRM_TEGRA_GEM_MMAP 0x01
125#define DRM_TEGRA_SYNCPT_READ 0x02
126#define DRM_TEGRA_SYNCPT_INCR 0x03
Ben Cheng655a7c02013-10-16 16:09:24 -0700127#define DRM_TEGRA_SYNCPT_WAIT 0x04
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700129#define DRM_TEGRA_OPEN_CHANNEL 0x05
130#define DRM_TEGRA_CLOSE_CHANNEL 0x06
131#define DRM_TEGRA_GET_SYNCPT 0x07
Ben Cheng655a7c02013-10-16 16:09:24 -0700132#define DRM_TEGRA_SUBMIT 0x08
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700134#define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create)
135#define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap)
136#define DRM_IOCTL_TEGRA_SYNCPT_READ DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_READ, struct drm_tegra_syncpt_read)
Ben Cheng655a7c02013-10-16 16:09:24 -0700137#define DRM_IOCTL_TEGRA_SYNCPT_INCR DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_INCR, struct drm_tegra_syncpt_incr)
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700139#define DRM_IOCTL_TEGRA_SYNCPT_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_WAIT, struct drm_tegra_syncpt_wait)
140#define DRM_IOCTL_TEGRA_OPEN_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_OPEN_CHANNEL, struct drm_tegra_open_channel)
141#define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_open_channel)
Ben Cheng655a7c02013-10-16 16:09:24 -0700142#define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt)
Elliott Hughes8cb52b02013-11-21 13:43:23 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Ben Cheng655a7c02013-10-16 16:09:24 -0700144#define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit)
145#endif