diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 1fe14579e8c9..c8006fb47c7a 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -1101,6 +1101,7 @@ EXPORT_SYMBOL(drm_arm_vblank_event); void drm_crtc_arm_vblank_event(struct drm_crtc *crtc, struct drm_pending_vblank_event *e) { + e->event.crtc_id = crtc->base.id; drm_arm_vblank_event(crtc->dev, drm_crtc_index(crtc), e); } EXPORT_SYMBOL(drm_crtc_arm_vblank_event); @@ -1147,6 +1148,7 @@ EXPORT_SYMBOL(drm_send_vblank_event); void drm_crtc_send_vblank_event(struct drm_crtc *crtc, struct drm_pending_vblank_event *e) { + e->event.crtc_id = crtc->base.id; drm_send_vblank_event(crtc->dev, drm_crtc_index(crtc), e); } EXPORT_SYMBOL(drm_crtc_send_vblank_event); diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h index 3b01fb86ca8e..84a9d348a4b6 100644 --- a/include/uapi/drm/drm.h +++ b/include/uapi/drm/drm.h @@ -834,7 +834,7 @@ struct drm_event_vblank { __u32 tv_sec; __u32 tv_usec; __u32 sequence; - __u32 reserved; + __u32 crtc_id; /* 0 on older kernels that do not support this */ }; /* typedef area */