aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/drm/radeon_drm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/drm/radeon_drm.h')
-rw-r--r--include/uapi/drm/radeon_drm.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h
index 509b2d7a41b7..3a9f20930372 100644
--- a/include/uapi/drm/radeon_drm.h
+++ b/include/uapi/drm/radeon_drm.h
@@ -511,6 +511,7 @@ typedef struct {
511#define DRM_RADEON_GEM_BUSY 0x2a 511#define DRM_RADEON_GEM_BUSY 0x2a
512#define DRM_RADEON_GEM_VA 0x2b 512#define DRM_RADEON_GEM_VA 0x2b
513#define DRM_RADEON_GEM_OP 0x2c 513#define DRM_RADEON_GEM_OP 0x2c
514#define DRM_RADEON_GEM_USERPTR 0x2d
514 515
515#define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t) 516#define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t)
516#define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START) 517#define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START)
@@ -554,6 +555,7 @@ typedef struct {
554#define DRM_IOCTL_RADEON_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_BUSY, struct drm_radeon_gem_busy) 555#define DRM_IOCTL_RADEON_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_BUSY, struct drm_radeon_gem_busy)
555#define DRM_IOCTL_RADEON_GEM_VA DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_VA, struct drm_radeon_gem_va) 556#define DRM_IOCTL_RADEON_GEM_VA DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_VA, struct drm_radeon_gem_va)
556#define DRM_IOCTL_RADEON_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_OP, struct drm_radeon_gem_op) 557#define DRM_IOCTL_RADEON_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_OP, struct drm_radeon_gem_op)
558#define DRM_IOCTL_RADEON_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_USERPTR, struct drm_radeon_gem_userptr)
557 559
558typedef struct drm_radeon_init { 560typedef struct drm_radeon_init {
559 enum { 561 enum {
@@ -808,6 +810,20 @@ struct drm_radeon_gem_create {
808 uint32_t flags; 810 uint32_t flags;
809}; 811};
810 812
813/*
814 * This is not a reliable API and you should expect it to fail for any
815 * number of reasons and have fallback path that do not use userptr to
816 * perform any operation.
817 */
818#define RADEON_GEM_USERPTR_READONLY (1 << 0)
819
820struct drm_radeon_gem_userptr {
821 uint64_t addr;
822 uint64_t size;
823 uint32_t flags;
824 uint32_t handle;
825};
826
811#define RADEON_TILING_MACRO 0x1 827#define RADEON_TILING_MACRO 0x1
812#define RADEON_TILING_MICRO 0x2 828#define RADEON_TILING_MICRO 0x2
813#define RADEON_TILING_SWAP_16BIT 0x4 829#define RADEON_TILING_SWAP_16BIT 0x4