Re: [PATCH 3/3] drm/vc4: Add support for dma-buf fencing.

From: Daniel Vetter
Date: Wed Apr 12 2017 - 08:49:20 EST


On Tue, Apr 11, 2017 at 10:43:35AM -0700, Eric Anholt wrote:
> Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes:
>
> > On Mon, Apr 10, 2017 at 06:44:14PM -0700, Eric Anholt wrote:
> >> This is needed for proper synchronization with display on another DRM
> >> device (pl111 or tinydrm) with buffers produced by vc4 V3D. Fixes the
> >> new igt vc4_dmabuf_poll testcase, and rendering of one of the glmark2
> >> desktop tests on pl111+vc4.
> >>
> >> This doesn't yet introduce waits on other device's fences before vc4's
> >> rendering/display, because I don't have testcases for them.
> >>
> >> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
> >> Cc: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxx>
> >> ---
> >> +static void vc4_fence_release(struct dma_fence *fence)
> >> +{
> >> + struct vc4_fence *f = to_vc4_fence(fence);
> >> +
> >> + kfree_rcu(f, base.rcu);
> >> +}
> >
> > Unless you have a plan to do more here, looks like you can just use
> > the default dma_fence_free as the release callback.
> > -Chris
>
> Yeah, this pattern came from etnaviv/msm (which I had used as
> reference), who both put their .base second. I wonder if they would
> want to flip the order of their fields and drop their fence_release,
> too.

Sounds reasonable and gets rid of a bit of code.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch