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

From: Eric Anholt
Date: Mon May 21 2018 - 14:07:51 EST


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?

Other than that, the series is:

Reviewed-by: Eric Anholt <eric@xxxxxxxxxx>

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.

Attachment: signature.asc
Description: PGP signature