[RFC v2 7/8] drm/fence: add fence timeline to drm_crtc

Gustavo Padovan gustavo.padovan at collabora.co.uk
Tue Apr 26 14:23:06 UTC 2016


2016-04-26 Ville Syrjälä <ville.syrjala at linux.intel.com>:

> On Mon, Apr 25, 2016 at 07:33:27PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
> > 
> > Create one timeline context for each CRTC to be able to handle out-fences
> > and signal them. It adds a few members to struct drm_crtc: fence_context,
> > where we store the context we get from fence_context_alloc(), the
> > fence seqno and the fence lock, that we pass in fence_init() to be
> > used by the fence.
> > 
> > Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
> > ---
> >  drivers/gpu/drm/drm_crtc.c | 29 +++++++++++++++++++++++++++++
> >  include/drm/drm_crtc.h     | 19 +++++++++++++++++++
> >  2 files changed, 48 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
> > index 65212ce..cf9750a 100644
> > --- a/drivers/gpu/drm/drm_crtc.c
> > +++ b/drivers/gpu/drm/drm_crtc.c
> > @@ -659,6 +659,32 @@ static unsigned int drm_num_crtcs(struct drm_device *dev)
> >  	return num;
> >  }
> >  
> > +static const char *drm_crtc_fence_get_driver_name(struct fence *fence)
> > +{
> > +	struct drm_crtc *crtc = fence_to_crtc(fence);
> > +
> > +	return crtc->dev->driver->name;
> > +}
> > +
> > +static const char *drm_crtc_fence_get_timeline_name(struct fence *fence)
> > +{
> > +	struct drm_crtc *crtc = fence_to_crtc(fence);
> > +
> > +	return crtc->name;
> > +}
> 
> Is that exported to userspace? crtc->name is an internal thing, not
> meant for outside consumption.

No. However it may be exported via debugfs at some point. Maybe have
drm_crtc->timeline_name which has the obj_id instead, eg., "drm_crtc19" ?

	Gustavo


More information about the dri-devel mailing list