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

From: Ville Syrjälä
Date: Tue Apr 26 2016 - 12:35:13 EST


On Tue, Apr 26, 2016 at 11:23:06AM -0300, Gustavo Padovan wrote:
> 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" ?

I'm fine either way if it's an internal thing. So pick whichever makes
people's life easier I guess.

--
Ville Syrjälä
Intel OTC