]> git.karo-electronics.de Git - karo-tx-linux.git/commit
drm: Pass CRTC ID in userspace vblank events
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Tue, 4 Apr 2017 16:52:21 +0000 (17:52 +0100)
committerDaniel Stone <daniels@collabora.com>
Tue, 4 Apr 2017 19:59:12 +0000 (20:59 +0100)
commit5db06a8a98f515f67446a69c57577c4c363ec65d
treed9c5720e05dd7727bb2ed4ca2a1e8504be88d450
parent1bbfe9d1a315bb573d4f10bbf443b68b5ddac473
drm: Pass CRTC ID in userspace vblank events

With the atomic API, it is possible that a single commit affects
multiple crtcs. If the user requests an event with that commit, one
event will be sent for each CRTC, but it is not possible to distinguish
which crtc an event is for in user space. To solve this, the reserved
field in struct drm_vblank_event is repurposed to include the crtc_id
which the event is for.

The DRM_CAP_CRTC_IN_VBLANK_EVENT is added to allow userspace to query if
the crtc field will be set properly.

[daniels: Rebased, using Maarten's forward-port.]

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: Maarten Lankhorst <maarten.lankhorst@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170404165221.28240-2-daniels@collabora.com
drivers/gpu/drm/drm_ioctl.c
drivers/gpu/drm/drm_irq.c
include/uapi/drm/drm.h