Re: [PATCH v7 0/3] drm: add explict fencing

From: Daniel Vetter
Date: Tue Nov 08 2016 - 08:18:32 EST


On Tue, Nov 08, 2016 at 03:54:47PM +0900, Gustavo Padovan wrote:
> From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
>
> Hi,
>
> This is yet another version of the DRM fences patches. Please refer
> to the cover letter[1] in a previous version to check for more details.
>
> In v7 we now have split most of the out_fences code into
> prepare_crtc_signaling() and unprepare_crtc_signaling() with improved error
> handling. More details on the v7 changes are embedded in each commit's
> message.
>
> Robert Foss managed to port Android's drm_hwcomposer to the new HWC2 API and
> added support to fences. Current patches can be seen here:
>
> https://git.collabora.com/cgit/user/robertfoss/drm_hwcomposer.git/log/?h=hwc2_fence_v1
>
> He managed to run AOSP on top of padovan/fences kernel branch with full fence
> support on qemu/virgl and msm db410c. That means we already have a working
> open source userspace using the explicit fencing implementation.
>
> Also i-g-t testing are available at:
>
> https://git.collabora.com/cgit/user/padovan/intel-gpu-tools.git/log/
>
> Please review!

I think we're getting there. Found some issues with patch 3 still. Besides
that I think we need:
- r-b/ack from Sean Paul, as an ack that he's happy with what this means
for drm_hwcomposer (and that the hwc patches look ok, too).
- acks/t-b from everyone who's run this, the more the better. This is a
big uabi extension, making the effort by everyone explicit is important.
- ack from Brian that he can use the out-fence stuff for his writeback
support. Probably need to add a for_each_connector loop to
prepare/complete_signalling (and drop the crtc_ in there, but Brian can
do that).

Cheers, Daniel

>
> Gustavo
>
> [1] https://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg1253822.html
>
> ---
> Gustavo Padovan (3):
> drm/fence: add in-fences support
> drm/fence: add fence timeline to drm_crtc
> drm/fence: add out-fences support
>
> drivers/gpu/drm/Kconfig | 1 +
> drivers/gpu/drm/drm_atomic.c | 247 ++++++++++++++++++++++++++++++------
> drivers/gpu/drm/drm_atomic_helper.c | 3 +
> drivers/gpu/drm/drm_crtc.c | 45 +++++++
> drivers/gpu/drm/drm_plane.c | 1 +
> include/drm/drm_atomic.h | 1 +
> include/drm/drm_crtc.h | 55 ++++++++
> 7 files changed, 311 insertions(+), 42 deletions(-)
>
> --
> 2.5.5
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch