aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Syrjälä2015-06-22 11:26:02 -0500
committerEmil Velikov2015-06-29 13:01:19 -0500
commited44e0b9585c563905447eceed12af9c1c7ca8d4 (patch)
tree99c759a7b1e2e24875ec32bef4d45115c891ea40 /xf86drmMode.h
parent5b0e76f143887c4ec7db45c54a7ba27a58f59227 (diff)
downloadexternal-libgbm-ed44e0b9585c563905447eceed12af9c1c7ca8d4.tar.gz
external-libgbm-ed44e0b9585c563905447eceed12af9c1c7ca8d4.tar.xz
external-libgbm-ed44e0b9585c563905447eceed12af9c1c7ca8d4.zip
Support atomic modesetting ioctl
Add support for the atomic modesetting ioctl through a property-set API. v1: Squashed intermediate patches from Ville, Rob and myself. Updated for current kernel interface (no blobs). v2: Rewrite user-facing API to provide transactional/cursor interface. Use memclear to zero out ioctl. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Rob Clark <robclark@freedesktop.org> Signed-off-by: Daniel Stone <daniels@collabora.com> v3 [Emil Velikov]: Remove DRM_CAP_ATOMIC - superseded by DRM_CLIENT_CAP_ATOMIC. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'xf86drmMode.h')
-rw-r--r--xf86drmMode.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/xf86drmMode.h b/xf86drmMode.h
index 20c3f153..317ea234 100644
--- a/xf86drmMode.h
+++ b/xf86drmMode.h
@@ -484,6 +484,25 @@ extern int drmModeObjectSetProperty(int fd, uint32_t object_id,
484 uint32_t object_type, uint32_t property_id, 484 uint32_t object_type, uint32_t property_id,
485 uint64_t value); 485 uint64_t value);
486 486
487
488typedef struct _drmModeAtomicReq drmModeAtomicReq, *drmModeAtomicReqPtr;
489
490extern drmModeAtomicReqPtr drmModeAtomicAlloc(void);
491extern drmModeAtomicReqPtr drmModeAtomicDuplicate(drmModeAtomicReqPtr req);
492extern int drmModeAtomicMerge(drmModeAtomicReqPtr base,
493 drmModeAtomicReqPtr augment);
494extern void drmModeAtomicFree(drmModeAtomicReqPtr req);
495extern int drmModeAtomicGetCursor(drmModeAtomicReqPtr req);
496extern void drmModeAtomicSetCursor(drmModeAtomicReqPtr req, int cursor);
497extern int drmModeAtomicAddProperty(drmModeAtomicReqPtr req,
498 uint32_t object_id,
499 uint32_t property_id,
500 uint64_t value);
501extern int drmModeAtomicCommit(int fd,
502 drmModeAtomicReqPtr req,
503 uint32_t flags,
504 void *user_data);
505
487#if defined(__cplusplus) || defined(c_plusplus) 506#if defined(__cplusplus) || defined(c_plusplus)
488} 507}
489#endif 508#endif