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

Eric Anholt eric at anholt.net
Mon May 21 19:02:25 UTC 2018


Liviu Dudau <Liviu.Dudau at arm.com> writes:

> From: Brian Starkey <brian.starkey at arm.com>
>
> 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 at anholt.net>

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180521/5fb444f3/attachment-0001.sig>


More information about the dri-devel mailing list