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: Move drm_clflush prototypes to drm_cache header file
2017-01-10 11:17:01 +01:00
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/kms-helpers: Use recommened kerneldoc for struct member refs
2017-01-25 16:18:57 +01:00
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: drm_printer: add __printf validation
2017-02-26 21:43:08 +01:00
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
drm/i915: Use fixed-sized types for stolen
2017-01-06 16:02:09 +00:00
intel_lpe_audio.h
ALSA: x86: Register multiple PCM devices for the LPE audio card
2017-05-03 16:24:00 +03:00