Re: [PATCH v8 2/3] drm: writeback: Add out-fences for writeback connectors

From: Liviu Dudau
Date: Tue May 22 2018 - 11:41:53 EST


On Mon, May 21, 2018 at 12:02:25PM -0700, Eric Anholt wrote:
> Liviu Dudau <Liviu.Dudau@xxxxxxx> writes:
>
> > From: Brian Starkey <brian.starkey@xxxxxxx>
> >
> > Add the WRITEBACK_OUT_FENCE_PTR property to writeback connectors, to
> > enable userspace to get a fence which will signal once the writeback is
> > complete. It is not allowed to request an out-fence without a
> > framebuffer attached to the connector.
> >
> > A timeline is added to drm_writeback_connector for use by the writeback
> > out-fences.
>
>
> > diff --git a/include/drm/drm_writeback.h b/include/drm/drm_writeback.h
> > index cf3a28676006a..6a7462c1821ad 100644
> > --- a/include/drm/drm_writeback.h
> > +++ b/include/drm/drm_writeback.h
> > @@ -49,6 +49,32 @@ struct drm_writeback_connector {
> > * drm_writeback_signal_completion()
> > */
> > struct list_head job_queue;
> > +
> > + /**
> > + * @fence_context:
> > + *
> > + * timeline context used for fence operations.
> > + */
> > + unsigned int fence_context;
> > + /**
> > + * @fence_lock:
> > + *
> > + * spinlock to protect the fences in the fence_context.
> > + */
> > + spinlock_t fence_lock;
> > + /**
> > + * @fence_seqno:
> > + *
> > + * Seqno variable used as monotonic counter for the fences
> > + * created on the connector's timeline.
> > + */
> > + unsigned long fence_seqno;
> > + /**
> > + * @timeline_name:
> > + *
> > + * The name of the connector's fence timeline.
> > + */
> > + char timeline_name[32];
> > };
> >
> > struct drm_writeback_job {
> > @@ -59,12 +85,14 @@ struct drm_writeback_job {
> > * framebuffer reference to a workqueue.
> > */
> > struct work_struct cleanup_work;
> > +
> > /**
> > * @list_entry:
> > *
> > * List item for the connector's @job_queue
> > */
> > struct list_head list_entry;
> > +
> > /**
> > * @fb:
> > *
>
> Move this hunk into patch 1?

I can, however this is the only change I will be making. Is it worth
respinning a new revision for it?

>
> Other than that, the series is:
>
> Reviewed-by: Eric Anholt <eric@xxxxxxxxxx>

Many thanks for that!

>
> It's pretty clean and makes sense to me. I only had some questions
> about the job_queue, which seems superfluous if we aren't supporting
> firing off a new writeback while an old one is outstanding (and maybe we
> should throw an error in that case). Still, I think this is ready to land.

I know Sean and Daniel are on holiday. Are you OK to pull this into
drm-misc? Should I ask Gustavo to do it?

Best regards,
Liviu

--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
Â\_(ã)_/Â