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

From: Gustavo Padovan
Date: Tue Apr 26 2016 - 10:23:18 EST


2016-04-26 Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>:

> On Mon, Apr 25, 2016 at 07:33:27PM -0300, Gustavo Padovan wrote:
> > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
> >
> > 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@xxxxxxxxxxxxxxx>
> > ---
> > 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