4#ifndef _UAPI_TEGRA_DRM_H_
5#define _UAPI_TEGRA_DRM_H_
9#if defined(__cplusplus)
15#define DRM_TEGRA_GEM_CREATE_TILED (1 << 0)
16#define DRM_TEGRA_GEM_CREATE_BOTTOM_UP (1 << 1)
151#define DRM_TEGRA_NO_TIMEOUT (0xffffffff)
509#define DRM_TEGRA_GEM_TILING_MODE_PITCH 0
510#define DRM_TEGRA_GEM_TILING_MODE_TILED 1
511#define DRM_TEGRA_GEM_TILING_MODE_BLOCK 2
590#define DRM_TEGRA_GEM_BOTTOM_UP (1 << 0)
591#define DRM_TEGRA_GEM_FLAGS (DRM_TEGRA_GEM_BOTTOM_UP)
632#define DRM_TEGRA_GEM_CREATE 0x00
633#define DRM_TEGRA_GEM_MMAP 0x01
634#define DRM_TEGRA_SYNCPT_READ 0x02
635#define DRM_TEGRA_SYNCPT_INCR 0x03
636#define DRM_TEGRA_SYNCPT_WAIT 0x04
637#define DRM_TEGRA_OPEN_CHANNEL 0x05
638#define DRM_TEGRA_CLOSE_CHANNEL 0x06
639#define DRM_TEGRA_GET_SYNCPT 0x07
640#define DRM_TEGRA_SUBMIT 0x08
641#define DRM_TEGRA_GET_SYNCPT_BASE 0x09
642#define DRM_TEGRA_GEM_SET_TILING 0x0a
643#define DRM_TEGRA_GEM_GET_TILING 0x0b
644#define DRM_TEGRA_GEM_SET_FLAGS 0x0c
645#define DRM_TEGRA_GEM_GET_FLAGS 0x0d
647#define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create)
648#define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap)
649#define DRM_IOCTL_TEGRA_SYNCPT_READ DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_READ, struct drm_tegra_syncpt_read)
650#define DRM_IOCTL_TEGRA_SYNCPT_INCR DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_INCR, struct drm_tegra_syncpt_incr)
651#define DRM_IOCTL_TEGRA_SYNCPT_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_WAIT, struct drm_tegra_syncpt_wait)
652#define DRM_IOCTL_TEGRA_OPEN_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_OPEN_CHANNEL, struct drm_tegra_open_channel)
653#define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_close_channel)
654#define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt)
655#define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit)
656#define DRM_IOCTL_TEGRA_GET_SYNCPT_BASE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT_BASE, struct drm_tegra_get_syncpt_base)
657#define DRM_IOCTL_TEGRA_GEM_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_TILING, struct drm_tegra_gem_set_tiling)
658#define DRM_IOCTL_TEGRA_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_TILING, struct drm_tegra_gem_get_tiling)
659#define DRM_IOCTL_TEGRA_GEM_SET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_FLAGS, struct drm_tegra_gem_set_flags)
660#define DRM_IOCTL_TEGRA_GEM_GET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_FLAGS, struct drm_tegra_gem_get_flags)
670#define DRM_TEGRA_CHANNEL_CAP_CACHE_COHERENT (1 << 0)
728#define DRM_TEGRA_CHANNEL_MAP_READ (1 << 0)
729#define DRM_TEGRA_CHANNEL_MAP_WRITE (1 << 1)
730#define DRM_TEGRA_CHANNEL_MAP_READ_WRITE (DRM_TEGRA_CHANNEL_MAP_READ | \
731 DRM_TEGRA_CHANNEL_MAP_WRITE)
790#define DRM_TEGRA_SUBMIT_RELOC_SECTOR_LAYOUT (1 << 0)
844#define DRM_TEGRA_SUBMIT_CMD_GATHER_UPTR 0
853#define DRM_TEGRA_SUBMIT_CMD_WAIT_SYNCPT 1
862#define DRM_TEGRA_SUBMIT_CMD_WAIT_SYNCPT_RELATIVE 2
1062#define DRM_IOCTL_TEGRA_CHANNEL_OPEN DRM_IOWR(DRM_COMMAND_BASE + 0x10, struct drm_tegra_channel_open)
1063#define DRM_IOCTL_TEGRA_CHANNEL_CLOSE DRM_IOWR(DRM_COMMAND_BASE + 0x11, struct drm_tegra_channel_close)
1064#define DRM_IOCTL_TEGRA_CHANNEL_MAP DRM_IOWR(DRM_COMMAND_BASE + 0x12, struct drm_tegra_channel_map)
1065#define DRM_IOCTL_TEGRA_CHANNEL_UNMAP DRM_IOWR(DRM_COMMAND_BASE + 0x13, struct drm_tegra_channel_unmap)
1066#define DRM_IOCTL_TEGRA_CHANNEL_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + 0x14, struct drm_tegra_channel_submit)
1068#define DRM_IOCTL_TEGRA_SYNCPOINT_ALLOCATE DRM_IOWR(DRM_COMMAND_BASE + 0x20, struct drm_tegra_syncpoint_allocate)
1069#define DRM_IOCTL_TEGRA_SYNCPOINT_FREE DRM_IOWR(DRM_COMMAND_BASE + 0x21, struct drm_tegra_syncpoint_free)
1070#define DRM_IOCTL_TEGRA_SYNCPOINT_WAIT DRM_IOWR(DRM_COMMAND_BASE + 0x22, struct drm_tegra_syncpoint_wait)
1072#if defined(__cplusplus)
uint32_t __u32
Definition drm.h:42
int64_t __s64
Definition drm.h:43
uint64_t __u64
Definition drm.h:44
Definition tegra_drm.h:712
__u32 context
Definition tegra_drm.h:718
__u32 padding
Definition tegra_drm.h:719
Definition tegra_drm.h:733
__u32 flags
Definition tegra_drm.h:753
__u32 mapping
Definition tegra_drm.h:761
__u32 handle
Definition tegra_drm.h:746
__u32 context
Definition tegra_drm.h:739
Definition tegra_drm.h:672
__u32 host1x_class
Definition tegra_drm.h:679
__u32 version
Definition tegra_drm.h:701
__u32 padding
Definition tegra_drm.h:709
__u32 context
Definition tegra_drm.h:693
__u32 capabilities
Definition tegra_drm.h:708
__u32 flags
Definition tegra_drm.h:686
Definition tegra_drm.h:935
__u32 num_bufs
Definition tegra_drm.h:948
__u64 gather_data_ptr
Definition tegra_drm.h:984
__u32 context
Definition tegra_drm.h:941
__u32 num_cmds
Definition tegra_drm.h:955
__u64 bufs_ptr
Definition tegra_drm.h:969
__u32 syncobj_out
Definition tegra_drm.h:1000
struct drm_tegra_submit_syncpt syncpt
Definition tegra_drm.h:1007
__u32 syncobj_in
Definition tegra_drm.h:992
__u64 cmds_ptr
Definition tegra_drm.h:976
__u32 gather_data_words
Definition tegra_drm.h:962
Definition tegra_drm.h:764
__u32 context
Definition tegra_drm.h:770
__u32 mapping
Definition tegra_drm.h:777
Definition tegra_drm.h:184
__u64 context
Definition tegra_drm.h:191
Definition tegra_drm.h:272
__u32 words
Definition tegra_drm.h:293
__u32 pad
Definition tegra_drm.h:300
__u32 handle
Definition tegra_drm.h:278
__u32 offset
Definition tegra_drm.h:286
Definition tegra_drm.h:21
__u32 handle
Definition tegra_drm.h:48
__u64 size
Definition tegra_drm.h:27
__u32 flags
Definition tegra_drm.h:40
Definition tegra_drm.h:615
__u32 handle
Definition tegra_drm.h:621
__u32 flags
Definition tegra_drm.h:629
Definition tegra_drm.h:558
__u32 value
Definition tegra_drm.h:580
__u32 pad
Definition tegra_drm.h:587
__u32 mode
Definition tegra_drm.h:572
__u32 handle
Definition tegra_drm.h:564
Definition tegra_drm.h:54
__u64 offset
Definition tegra_drm.h:75
__u32 handle
Definition tegra_drm.h:60
__u32 pad
Definition tegra_drm.h:67
Definition tegra_drm.h:596
__u32 flags
Definition tegra_drm.h:609
__u32 handle
Definition tegra_drm.h:602
Definition tegra_drm.h:516
__u32 mode
Definition tegra_drm.h:538
__u32 handle
Definition tegra_drm.h:522
__u32 pad
Definition tegra_drm.h:552
__u32 value
Definition tegra_drm.h:545
Definition tegra_drm.h:225
__u32 id
Definition tegra_drm.h:247
__u32 syncpt
Definition tegra_drm.h:239
__u64 context
Definition tegra_drm.h:232
Definition tegra_drm.h:197
__u32 index
Definition tegra_drm.h:211
__u64 context
Definition tegra_drm.h:204
__u32 id
Definition tegra_drm.h:219
Definition tegra_drm.h:156
__u32 pad
Definition tegra_drm.h:169
__u32 client
Definition tegra_drm.h:162
__u64 context
Definition tegra_drm.h:178
Definition tegra_drm.h:306
__u32 shift
Definition tegra_drm.h:348
__u32 offset
Definition tegra_drm.h:323
__u32 pad
Definition tegra_drm.h:355
__u32 handle
Definition tegra_drm.h:315
struct drm_tegra_reloc::@237 target
struct drm_tegra_reloc::@236 cmdbuf
Definition tegra_drm.h:792
__u32 shift
Definition tegra_drm.h:833
__u64 target_offset
Definition tegra_drm.h:817
__u32 flags
Definition tegra_drm.h:805
__u32 mapping
Definition tegra_drm.h:798
__u32 gather_offset_words
Definition tegra_drm.h:825
struct drm_tegra_submit_buf::@238 reloc
Definition tegra_drm.h:864
__u32 reserved[3]
Definition tegra_drm.h:866
__u32 words
Definition tegra_drm.h:865
Definition tegra_drm.h:869
__u32 reserved[2]
Definition tegra_drm.h:872
__u32 value
Definition tegra_drm.h:871
__u32 id
Definition tegra_drm.h:870
Definition tegra_drm.h:875
__u32 flags
Definition tegra_drm.h:889
struct drm_tegra_submit_cmd_gather_uptr gather_uptr
Definition tegra_drm.h:892
__u32 reserved[4]
Definition tegra_drm.h:894
struct drm_tegra_submit_cmd_wait_syncpt wait_syncpt
Definition tegra_drm.h:893
__u32 type
Definition tegra_drm.h:882
Definition tegra_drm.h:898
__u32 flags
Definition tegra_drm.h:911
__u32 value
Definition tegra_drm.h:932
__u32 id
Definition tegra_drm.h:904
__u32 increments
Definition tegra_drm.h:918
Definition tegra_drm.h:396
__u32 num_waitchks
Definition tegra_drm.h:435
__u32 timeout
Definition tegra_drm.h:449
__u64 relocs
Definition tegra_drm.h:479
__u32 reserved[5]
Definition tegra_drm.h:506
__u64 syncpts
Definition tegra_drm.h:459
__u32 num_syncpts
Definition tegra_drm.h:411
__u64 waitchks
Definition tegra_drm.h:489
__u32 waitchk_mask
Definition tegra_drm.h:442
__u64 context
Definition tegra_drm.h:403
__u32 num_cmdbufs
Definition tegra_drm.h:419
__u64 cmdbufs
Definition tegra_drm.h:469
__u32 num_relocs
Definition tegra_drm.h:427
__u32 fence
Definition tegra_drm.h:499
Definition tegra_drm.h:1010
__u32 id
Definition tegra_drm.h:1016
__u32 padding
Definition tegra_drm.h:1017
Definition tegra_drm.h:1020
__u32 id
Definition tegra_drm.h:1026
__u32 padding
Definition tegra_drm.h:1027
Definition tegra_drm.h:1030
__u32 id
Definition tegra_drm.h:1043
__s64 timeout_ns
Definition tegra_drm.h:1036
__u32 padding
Definition tegra_drm.h:1059
__u32 threshold
Definition tegra_drm.h:1050
__u32 value
Definition tegra_drm.h:1057
Definition tegra_drm.h:101
__u32 id
Definition tegra_drm.h:107
__u32 pad
Definition tegra_drm.h:114
Definition tegra_drm.h:81
__u32 id
Definition tegra_drm.h:87
__u32 value
Definition tegra_drm.h:95
Definition tegra_drm.h:120
__u32 timeout
Definition tegra_drm.h:140
__u32 thresh
Definition tegra_drm.h:133
__u32 id
Definition tegra_drm.h:126
__u32 value
Definition tegra_drm.h:148
Definition tegra_drm.h:253
__u32 incrs
Definition tegra_drm.h:266
__u32 id
Definition tegra_drm.h:259
Definition tegra_drm.h:361
__u32 offset
Definition tegra_drm.h:376
__u32 thresh
Definition tegra_drm.h:390
__u32 syncpt
Definition tegra_drm.h:383
__u32 handle
Definition tegra_drm.h:368