linux_dsm_epyc7002/include/uapi/drm
Keith Packard 3064abfa93 drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v3]
These provide crtc-id based functions instead of pipe-number, while
also offering higher resolution time (ns) and wider frame count (64)
as required by the Vulkan API.

v2:

 * Check for DRIVER_MODESET in new crtc-based vblank ioctls

	Failing to check this will oops the driver.

 * Ensure vblank interupt is running in crtc_get_sequence ioctl

	The sequence and timing values are not correct while the
	interrupt is off, so make sure it's running before asking for
	them.

 * Short-circuit get_sequence if the counter is enabled and accurate

	Steal the idea from the code in wait_vblank to avoid the
	expense of drm_vblank_get/put

 * Return active state of crtc in crtc_get_sequence ioctl

	Might be useful for applications that aren't in charge of
	modesetting?

 * Use drm_crtc_vblank_get/put in new crtc-based vblank sequence ioctls

	Daniel Vetter prefers these over the old drm_vblank_put/get
	APIs.

 * Return s64 ns instead of u64 in new sequence event

Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

v3:

 * Removed FIRST_PIXEL_OUT_FLAG
 * Document that the timestamp in the query and event are
   that of the first pixel leaving the display engine for
   the display (using the same wording as the Vulkan spec).

Suggested-by: Michel Dänzer <michel@daenzer.net>
Acked-by: Dave Airlie <airlied@redhat.com>

[airlied: left->leaves (Michel)]

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-10-23 11:15:03 +10:00
..
amdgpu_drm.h drm/amdgpu: add VRAM lost query 2017-10-19 15:27:05 -04:00
armada_drm.h uapi drm/armada_drm.h: use __u32 and __u64 instead of uint32_t and uint64_t 2017-08-07 17:01:15 +02:00
drm_fourcc.h drm/i915: Implement .get_format_info() hook for CCS 2017-08-10 17:58:32 +01:00
drm_mode.h Merge tag 'drm-misc-next-2017-09-20' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-09-28 05:46:15 +10:00
drm_sarea.h drm: add extern C guard for the UAPI headers 2016-05-13 13:57:17 +01:00
drm.h drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v3] 2017-10-23 11:15:03 +10:00
etnaviv_drm.h drm/etnaviv: add uapi for perfmon feature 2017-10-10 11:45:41 +02:00
exynos_drm.h drm/exynos: add extern C guard for the UAPI header 2016-05-13 14:02:24 +01:00
i810_drm.h drm/i810: add extern C guard for the UAPI header 2016-05-13 14:05:17 +01:00
i915_drm.h drm/i915: Don't use BIT() in UAPI section 2017-10-06 14:08:55 +03:00
mga_drm.h drm/mga: add extern C guard for the UAPI header 2016-05-13 14:06:07 +01:00
msm_drm.h drm/msm: Remove __user from __u64 data types 2017-08-01 19:11:48 -04:00
nouveau_drm.h drm/nouveau: drop drm/ prefix from include 2016-05-13 14:06:10 +01:00
omap_drm.h drm: omapdrm: Remove legacy buffer synchronization support 2017-06-02 10:53:43 +03:00
qxl_drm.h drm/qxl: fix __user annotations 2017-06-23 10:06:31 +02:00
r128_drm.h drm/r128: add extern C guard for the UAPI header 2016-05-13 14:06:13 +01:00
radeon_drm.h drm/radeon: add extern C guard for the UAPI header 2016-05-13 14:06:14 +01:00
savage_drm.h drm/savage: add extern C guard for the UAPI header 2016-05-13 14:06:15 +01:00
sis_drm.h drm/sis: add extern C guard for the UAPI header 2016-05-13 14:06:16 +01:00
tegra_drm.h drm/tegra: add extern C guard for the UAPI header 2016-05-13 14:06:17 +01:00
vc4_drm.h drm/vc4: Add exec flags to allow forcing a specific X/Y tile walk order. 2017-08-08 13:26:44 -07:00
vgem_drm.h drm/vgem: Attach sw fences to exported vGEM dma-buf (ioctl) 2016-07-18 08:54:55 +02:00
via_drm.h drm/via: add extern C guard for the UAPI header 2016-05-13 14:06:19 +01:00
virtgpu_drm.h drm/virgl: add extern C guard for the UAPI header 2016-05-13 14:06:20 +01:00
vmwgfx_drm.h drm/vmwgfx: Prepare to support fence fd 2017-08-28 17:51:28 +02:00