linux-stable/include/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
..
bridge drm/bridge/sii8620: add remote control support 2017-10-11 13:14:25 +02:00
i2c
tinydrm drm/tinydrm: Generalize tinydrm_xrgb8888_to_gray8() 2017-08-09 17:55:50 +02:00
ttm drm/ttm: add support for different pool sizes 2017-10-06 17:44:16 -04:00
ati_pcigart.h
drm_agpsupport.h
drm_atomic.h drm/atomic: Make atomic iterators less surprising 2017-10-06 11:06:11 +02:00
drm_atomic_helper.h drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
drm_auth.h drm: Move drm_lock_data out of drmP.h 2017-03-09 16:18:02 +01:00
drm_blend.h drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI 2017-05-22 09:49:48 +02:00
drm_bridge.h drm/bridge: change return type of drm_bridge_add function 2017-08-21 08:51:53 +05:30
drm_cache.h
drm_color_mgmt.h drm: drm_color_mgmt.h needs struct drm_crtc declaration 2017-05-02 10:30:23 +02:00
drm_connector.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_crtc.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_crtc_helper.h drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. 2017-04-06 21:29:23 +02:00
drm_debugfs.h drm/debugfs: Add kerneldoc 2017-03-24 09:36:06 +01:00
drm_debugfs_crc.h
drm_device.h drm: Extract drm_device.h 2017-08-11 10:47:17 +02:00
drm_displayid.h
drm_dp_dual_mode_helper.h
drm_dp_helper.h drm/dp: Add defines for latency in sink 2017-09-28 09:39:35 -07:00
drm_dp_mst_helper.h drm/dp/mst: Sideband message transaction to power up/down nodes 2017-09-11 16:03:57 +03:00
drm_drv.h drm: vblank: use ktime_t instead of timeval 2017-10-13 08:34:46 +10:00
drm_edid.h drm: add backwards compatibility support for drm_kms_helper.edid_firmware 2017-09-19 18:11:45 +03:00
drm_encoder.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_encoder_slave.h
drm_fb_cma_helper.h drm/fb-cma-helper: Remove unused functions 2017-10-01 17:05:39 +02:00
drm_fb_helper.h drm: remove unused and redundant callbacks 2017-08-07 11:20:36 +02:00
drm_file.h drm: introduce sync objects (v4) 2017-06-14 12:10:22 +10:00
drm_fixed.h
drm_flip_work.h
drm_fourcc.h drm: Add mode_config .get_format_info() hook 2017-03-22 19:45:00 +02:00
drm_framebuffer.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_gem.h drm/gem: Add drm_gem_dumb_map_offset() 2017-07-29 13:49:55 +02:00
drm_gem_cma_helper.h drm/gem-cma-helper: Remove drm_gem_cma_dumb_map_offset() 2017-08-16 20:21:24 +02:00
drm_gem_framebuffer_helper.h drm/gem-fb-helper: Use debug message on gem lookup failure 2017-09-16 14:06:53 +02:00
drm_global.h drm: drop extern from function decls 2017-03-24 09:36:06 +01:00
drm_hashtab.h drm: drop extern from function decls 2017-03-24 09:36:06 +01:00
drm_ioctl.h new helper: drm_ioctl_kernel() 2017-05-27 15:39:28 -04:00
drm_irq.h drm: Extract drm_vblank.[hc] 2017-06-01 08:02:14 +02:00
drm_legacy.h
drm_mipi_dsi.h
drm_mm.h lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
drm_mode_config.h drm/plane: drop num_overlay_planes (v3) 2017-10-17 11:32:29 +10:00
drm_mode_object.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_modes.h drm: add helper functions for YCBCR420 handling 2017-07-14 21:23:54 +03:00
drm_modeset_helper.h
drm_modeset_helper_vtables.h drm/vtables: Fix typo 2017-09-01 19:50:24 +02:00
drm_modeset_lock.h drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2. 2017-09-13 09:50:52 +02:00
drm_of.h drm/drm_of: Move drm_of_panel_bridge_remove_function into header. 2017-10-13 16:59:36 +02:00
drm_os_linux.h drm: remove writeq/readq function definitions 2017-06-02 10:41:20 -04:00
drm_panel.h drm: make drm_panel.h self-contained 2017-05-16 17:17:02 +02:00
drm_pci.h drm/pci: Deprecate drm_pci_init/exit completely 2017-06-20 10:41:03 +02:00
drm_pciids.h
drm_plane.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_plane_helper.h drm: Add acquire ctx parameter to ->plane_disable 2017-03-29 09:14:58 +02:00
drm_prime.h drm: Extract drm_vblank.[hc] 2017-06-01 08:02:14 +02:00
drm_print.h
drm_property.h drm: Pass struct drm_file * to __drm_mode_object_find [v2] 2017-10-12 10:03:04 +10:00
drm_rect.h drm/doc: move printf helpers out of drmP.h 2017-05-31 09:59:41 +02:00
drm_scdc_helper.h drm: Fix warning when building docs for scdc_helper 2017-07-31 14:24:14 +02:00
drm_simple_kms_helper.h drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
drm_syncobj.h drm/syncobj: add a new helper drm_syncobj_get_fd 2017-10-06 16:47:53 -04:00
drm_sysfs.h drm: Consolidate and document sysfs support 2017-04-04 20:47:54 +02:00
drm_vblank.h drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v3] 2017-10-23 11:15:03 +10:00
drm_vma_manager.h drm: Extract drm_prime.h 2017-03-09 16:18:02 +01:00
drmP.h drm: Document device unplug infrastructure 2017-08-11 10:48:03 +02:00
gma_drm.h
i915_component.h
i915_drm.h
i915_pciids.h drm/i915/kbl: Change a KBL pci id to GT2 from GT1.5 2017-09-21 06:22:29 -07:00
intel-gtt.h
intel_lpe_audio.h ALSA: x86: Register multiple PCM devices for the LPE audio card 2017-05-03 16:24:00 +03:00