From 7d1001ba5d92d2f98d5bb0dc57a53fad49e93685 Mon Sep 17 00:00:00 2001 From: Ai ShaoXiang Date: Thu, 27 Jan 2022 16:02:17 +0800 Subject: [PATCH] drm/rockchip: vop2: vcnt event use signal to fill user_data The userspace transmits private data through request.signal, vcnt event return it to userspace through vbl.userdata Change-Id: I8295a3d4fd91430b3b9fac6c5b6b526e1f266f24 Signed-off-by: Ai ShaoXiang --- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index fa6285529920..c8244220378e 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -1371,7 +1371,8 @@ static void rockchip_drm_lastclose(struct drm_device *dev) } static struct drm_pending_vblank_event * -rockchip_drm_add_vcnt_event(struct drm_crtc *crtc, struct drm_file *file_priv) +rockchip_drm_add_vcnt_event(struct drm_crtc *crtc, union drm_wait_vblank *vblwait, + struct drm_file *file_priv) { struct drm_pending_vblank_event *e; struct drm_device *dev = crtc->dev; @@ -1385,8 +1386,7 @@ rockchip_drm_add_vcnt_event(struct drm_crtc *crtc, struct drm_file *file_priv) e->event.base.type = DRM_EVENT_ROCKCHIP_CRTC_VCNT; e->event.base.length = sizeof(e->event.vbl); e->event.vbl.crtc_id = crtc->base.id; - /* store crtc pipe id */ - e->event.vbl.user_data = e->pipe; + e->event.vbl.user_data = vblwait->request.signal; spin_lock_irqsave(&dev->event_lock, flags); drm_event_reserve_init_locked(dev, file_priv, &e->base, &e->event.base); @@ -1414,7 +1414,7 @@ static int rockchip_drm_get_vcnt_event_ioctl(struct drm_device *dev, void *data, crtc = drm_crtc_from_index(dev, pipe); if (flags & _DRM_ROCKCHIP_VCNT_EVENT) { - e = rockchip_drm_add_vcnt_event(crtc, file_priv); + e = rockchip_drm_add_vcnt_event(crtc, vblwait, file_priv); priv->vcnt[pipe].event = e; }