[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a7ssu91a.fsf@anholt.net>
Date: Mon, 21 May 2018 12:02:25 -0700
From: Eric Anholt <eric@...olt.net>
To: Liviu Dudau <Liviu.Dudau@....com>,
Gustavo Padovan <gustavo@...ovan.org>
Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Sean Paul <seanpaul@...omium.org>,
Jonathan Corbet <corbet@....net>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
David Airlie <airlied@...ux.ie>,
Brian Starkey <brian.starkey@....com>,
Alexandru-Cosmin Gheorghe <alexandru-cosmin.gheorghe@....com>,
Boris Brezillon <boris.brezillon@...tlin.com>,
Maxime Ripard <maxime.ripard@...tlin.com>,
Daniel Stone <daniels@...labora.com>,
Mihail Atanassov <mihail.atanassov@....com>,
Liviu Dudau <liviu.dudau@....com>
Subject: Re: [PATCH v8 2/3] drm: writeback: Add out-fences for writeback connectors
Liviu Dudau <Liviu.Dudau@....com> writes:
> From: Brian Starkey <brian.starkey@....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@...olt.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.
Download attachment "signature.asc" of type "application/pgp-signature" (833 bytes)
Powered by blists - more mailing lists