[PATCH 3/6] drm/vc4: Don't check plane state more than once

Eric Anholt eric at anholt.net
Tue Nov 20 04:38:56 UTC 2018


Boris Brezillon <boris.brezillon at bootlin.com> writes:

> On Thu, 15 Nov 2018 12:41:36 -0800
> Eric Anholt <eric at anholt.net> wrote:
>
>> Boris Brezillon <boris.brezillon at bootlin.com> writes:
>> 
>> > We are about to use vc4_plane_mode_set() in the async check path, but
>> > async check can decide that async update is not possible and force the
>> > driver to fallback to a sync update.
>> >
>> > All the checks that have been done on the plane state during async check
>> > stay valid, and checking it again is not necessary. Add a ->checked
>> > field to vc4_plane_state, and use it to track the status of the state
>> > (checked or not).
>> >
>> > Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
>> > ---
>> >  drivers/gpu/drm/vc4/vc4_drv.h   |  5 +++++
>> >  drivers/gpu/drm/vc4/vc4_plane.c | 10 ++++++++++
>> >  2 files changed, 15 insertions(+)
>> >
>> > diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h
>> > index 9ed05fb61eb6..d1000c4805c2 100644
>> > --- a/drivers/gpu/drm/vc4/vc4_drv.h
>> > +++ b/drivers/gpu/drm/vc4/vc4_drv.h
>> > @@ -370,6 +370,11 @@ struct vc4_plane_state {
>> >  	 * to enable background color fill.
>> >  	 */
>> >  	bool needs_bg_fill;
>> > +
>> > +	/* Mark the state as checked. Useful to avoid checking it twice when
>> > +	 * async update is not possible.
>> > +	 */
>> > +	bool checked;
>> >  };  
>> 
>> Since this doesn't cover the whole atomic_check process, which won't
>> have been called from async update, maybe rename to dlist_initialized or
>> something?
>
> Do you mean that vc4_plane_mode_set() should be run again from the sync
> check path when async check failed, or is it just the name you don't
> like?

Just the name, s/checked/dlist_initialized/ (or something)
-------------- 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/20181119/dae0f22a/attachment-0001.sig>


More information about the dri-devel mailing list