Sync headers with drm-next
Synchronize drm.h and drm_mode.h to drm-next. Generated using make headers_install. Generated from drm-next branch commit a60501d7c2d3e70b3545b9b96576628e369d8e85 Signed-off-by: Simon Ser <contact@emersion.fr> Acked-by: Simon Zeni <simon.zeni@collabora.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>main
parent
118addfaf8
commit
6c4392f49b
|
@ -707,7 +707,8 @@ struct drm_gem_open {
|
||||||
/**
|
/**
|
||||||
* DRM_CAP_ASYNC_PAGE_FLIP
|
* DRM_CAP_ASYNC_PAGE_FLIP
|
||||||
*
|
*
|
||||||
* If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC.
|
* If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC for legacy
|
||||||
|
* page-flips.
|
||||||
*/
|
*/
|
||||||
#define DRM_CAP_ASYNC_PAGE_FLIP 0x7
|
#define DRM_CAP_ASYNC_PAGE_FLIP 0x7
|
||||||
/**
|
/**
|
||||||
|
@ -767,6 +768,13 @@ struct drm_gem_open {
|
||||||
* :ref:`drm_sync_objects`.
|
* :ref:`drm_sync_objects`.
|
||||||
*/
|
*/
|
||||||
#define DRM_CAP_SYNCOBJ_TIMELINE 0x14
|
#define DRM_CAP_SYNCOBJ_TIMELINE 0x14
|
||||||
|
/**
|
||||||
|
* DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP
|
||||||
|
*
|
||||||
|
* If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC for atomic
|
||||||
|
* commits.
|
||||||
|
*/
|
||||||
|
#define DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP 0x15
|
||||||
|
|
||||||
/* DRM_IOCTL_GET_CAP ioctl argument type */
|
/* DRM_IOCTL_GET_CAP ioctl argument type */
|
||||||
struct drm_get_cap {
|
struct drm_get_cap {
|
||||||
|
@ -836,6 +844,31 @@ struct drm_get_cap {
|
||||||
*/
|
*/
|
||||||
#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5
|
#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
|
||||||
|
*
|
||||||
|
* Drivers for para-virtualized hardware (e.g. vmwgfx, qxl, virtio and
|
||||||
|
* virtualbox) have additional restrictions for cursor planes (thus
|
||||||
|
* making cursor planes on those drivers not truly universal,) e.g.
|
||||||
|
* they need cursor planes to act like one would expect from a mouse
|
||||||
|
* cursor and have correctly set hotspot properties.
|
||||||
|
* If this client cap is not set the DRM core will hide cursor plane on
|
||||||
|
* those virtualized drivers because not setting it implies that the
|
||||||
|
* client is not capable of dealing with those extra restictions.
|
||||||
|
* Clients which do set cursor hotspot and treat the cursor plane
|
||||||
|
* like a mouse cursor should set this property.
|
||||||
|
* The client must enable &DRM_CLIENT_CAP_ATOMIC first.
|
||||||
|
*
|
||||||
|
* Setting this property on drivers which do not special case
|
||||||
|
* cursor planes (i.e. non-virtualized drivers) will return
|
||||||
|
* EOPNOTSUPP, which can be used by userspace to gauge
|
||||||
|
* requirements of the hardware/drivers they're running on.
|
||||||
|
*
|
||||||
|
* This capability is always supported for atomic-capable virtualized
|
||||||
|
* drivers starting from kernel version 6.6.
|
||||||
|
*/
|
||||||
|
#define DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT 6
|
||||||
|
|
||||||
/* DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
|
/* DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
|
||||||
struct drm_set_client_cap {
|
struct drm_set_client_cap {
|
||||||
__u64 capability;
|
__u64 capability;
|
||||||
|
@ -887,6 +920,7 @@ struct drm_syncobj_transfer {
|
||||||
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0)
|
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0)
|
||||||
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1)
|
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1)
|
||||||
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) /* wait for time point to become available */
|
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2) /* wait for time point to become available */
|
||||||
|
#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE (1 << 3) /* set fence deadline to deadline_nsec */
|
||||||
struct drm_syncobj_wait {
|
struct drm_syncobj_wait {
|
||||||
__u64 handles;
|
__u64 handles;
|
||||||
/* absolute timeout */
|
/* absolute timeout */
|
||||||
|
@ -895,6 +929,14 @@ struct drm_syncobj_wait {
|
||||||
__u32 flags;
|
__u32 flags;
|
||||||
__u32 first_signaled; /* only valid when not waiting all */
|
__u32 first_signaled; /* only valid when not waiting all */
|
||||||
__u32 pad;
|
__u32 pad;
|
||||||
|
/**
|
||||||
|
* @deadline_nsec - fence deadline hint
|
||||||
|
*
|
||||||
|
* Deadline hint, in absolute CLOCK_MONOTONIC, to set on backing
|
||||||
|
* fence(s) if the DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE flag is
|
||||||
|
* set.
|
||||||
|
*/
|
||||||
|
__u64 deadline_nsec;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct drm_syncobj_timeline_wait {
|
struct drm_syncobj_timeline_wait {
|
||||||
|
@ -907,6 +949,14 @@ struct drm_syncobj_timeline_wait {
|
||||||
__u32 flags;
|
__u32 flags;
|
||||||
__u32 first_signaled; /* only valid when not waiting all */
|
__u32 first_signaled; /* only valid when not waiting all */
|
||||||
__u32 pad;
|
__u32 pad;
|
||||||
|
/**
|
||||||
|
* @deadline_nsec - fence deadline hint
|
||||||
|
*
|
||||||
|
* Deadline hint, in absolute CLOCK_MONOTONIC, to set on backing
|
||||||
|
* fence(s) if the DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE flag is
|
||||||
|
* set.
|
||||||
|
*/
|
||||||
|
__u64 deadline_nsec;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -957,6 +957,15 @@ struct hdr_output_metadata {
|
||||||
* Request that the page-flip is performed as soon as possible, ie. with no
|
* Request that the page-flip is performed as soon as possible, ie. with no
|
||||||
* delay due to waiting for vblank. This may cause tearing to be visible on
|
* delay due to waiting for vblank. This may cause tearing to be visible on
|
||||||
* the screen.
|
* the screen.
|
||||||
|
*
|
||||||
|
* When used with atomic uAPI, the driver will return an error if the hardware
|
||||||
|
* doesn't support performing an asynchronous page-flip for this update.
|
||||||
|
* User-space should handle this, e.g. by falling back to a regular page-flip.
|
||||||
|
*
|
||||||
|
* Note, some hardware might need to perform one last synchronous page-flip
|
||||||
|
* before being able to switch to asynchronous page-flips. As an exception,
|
||||||
|
* the driver will return success even though that first page-flip is not
|
||||||
|
* asynchronous.
|
||||||
*/
|
*/
|
||||||
#define DRM_MODE_PAGE_FLIP_ASYNC 0x02
|
#define DRM_MODE_PAGE_FLIP_ASYNC 0x02
|
||||||
#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4
|
#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4
|
||||||
|
|
Loading…
Reference in New Issue