drm/vblank: Pass crtc_id to page_flip_ioctl.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Thu, 23 Nov 2017 10:37:37 +0000 (11:37 +0100)
committerAo Xu <ao.xu@amlogic.com>
Tue, 30 Jul 2019 06:58:34 +0000 (14:58 +0800)
PD#SWPL-4863

We added crtc_id to the atomic ioctl, but forgot to add it for vblank
and page flip events. Commit bd386e518056 ("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.

Change-Id: Idd1070005d88529500a8be868f714c8bb345ddee
Fixes: bd386e518056 ("drm: Reorganize drm_pending_event to support future event types [v2]")
Fixes: 5db06a8a98f5 ("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: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171123103737.47138-1-maarten.lankhorst@linux.intel.com
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
drivers/gpu/drm/drm_plane.c

index 2b4b25d..a70e60e 100644 (file)
@@ -986,6 +986,7 @@ int drm_mode_page_flip_ioctl(struct drm_device *dev,
                e->event.base.type = DRM_EVENT_FLIP_COMPLETE;
                e->event.base.length = sizeof(e->event);
                e->event.user_data = page_flip->user_data;
+               e->event.crtc_id = crtc->base.id;
                ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base);
                if (ret) {
                        kfree(e);