On Wed, Aug 10, 2016 at 12:46:23PM +0200, Maarten Lankhorst wrote: > When doing a atomic commit affecting multiple crtc's, multiple events > are generated. The user_data member does not allow you to distinguish, > because they all have the same pointer. > > I've chosen to use crtc_id, because using pipe would create ambiguity > when pipe = 0. A test for != 0 is easier to implement, and crtc_id > will never be 0. > > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_irq.c | 2 ++ > include/uapi/drm/drm.h | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c > index 97c70642dbe1..f01bb0eea31c 100644 > --- a/drivers/gpu/drm/drm_irq.c > +++ b/drivers/gpu/drm/drm_irq.c > @@ -1021,6 +1021,7 @@ void drm_crtc_arm_vblank_event(struct drm_crtc *crtc, > > e->pipe = pipe; > e->event.sequence = drm_vblank_count(dev, pipe); > + e->event.crtc_id = crtc->base.id; > list_add_tail(&e->base.link, &dev->vblank_event_list); > } > EXPORT_SYMBOL(drm_crtc_arm_vblank_event); > @@ -1048,6 +1049,7 @@ void drm_crtc_send_vblank_event(struct drm_crtc *crtc, > now = get_drm_timestamp(); > } > e->pipe = pipe; > + e->event.crtc_id = crtc->base.id; > send_vblank_event(dev, e, seq, &now); > } > EXPORT_SYMBOL(drm_crtc_send_vblank_event); > diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h > index 452675fb55d9..dced4d4517d6 100644 > --- a/include/uapi/drm/drm.h > +++ b/include/uapi/drm/drm.h > @@ -850,7 +850,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 */ Same comment as in reply to Michel's patch: Is there really no existing userspace which would fail to compile now because we renamed this? Simply creating a new drm_event_vblank2 struct would fix that. -Daniel > }; > > /* typedef area */ > -- > 2.7.4 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel