Commit b8a3365a authored by Maarten Lankhorst's avatar Maarten Lankhorst

drm/vblank: Pass crtc_id to page_flip_ioctl.

We added crtc_id to the atomic ioctl, but forgot to add it for vblank
and page flip events. Commit bd386e51 ("drm: Reorganize
drm_pending_event to support future event types [v2]") added it to
the vblank event, but page flip event was still missing.

Correct this and add a test for making sure we always set crtc_id correctly.

Fixes: bd386e51 ("drm: Reorganize drm_pending_event to support future event types [v2]")
Fixes: 5db06a8a ("drm: Pass CRTC ID in userspace vblank events")
Cc: Daniel Stone <daniels@collabora.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v4.12+
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #irc
Testcase: igt/kms_vblank/crtc_id
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171123103737.47138-1-maarten.lankhorst@linux.intel.com
parent f150891f
...@@ -1030,6 +1030,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev, ...@@ -1030,6 +1030,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
e->event.base.type = DRM_EVENT_FLIP_COMPLETE; e->event.base.type = DRM_EVENT_FLIP_COMPLETE;
e->event.base.length = sizeof(e->event); e->event.base.length = sizeof(e->event);
e->event.vbl.user_data = page_flip->user_data; e->event.vbl.user_data = page_flip->user_data;
e->event.vbl.crtc_id = crtc->base.id;
ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base); ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base);
if (ret) { if (ret) {
kfree(e); kfree(e);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment