Re: [RFC v2 5/8] drm/fence: add in-fences support

From: Greg Hackmann
Date: Fri Apr 29 2016 - 17:14:38 EST


On 04/26/2016 11:39 PM, Daniel Vetter wrote:
A (per-CRTC?) array of fences would be more flexible. And even in the cases
where you could make a 1-to-1 mapping between planes and fences, it's not
that much more work for userspace to assemble those fences into an array
anyway.

I'm ok with an array too if that's what you folks prefer (it's meant to be
used by you after all). I just don't want just 1 fence for the entire op,
forcing userspace to first merge them all together. That seems silly.

One side-effect of that is that we'd also have to rework all the internal
bits and move fences around in atomic. Which means change a pile of
drivers. Not sure that's worth it, but I'd be ok either way really.
-Daniel


It's not a strong preference on my end. The 1:1 plane-to-layer mapping breaks down somewhat on hardware where you need to split large hwcomposer layers across multiple DRM planes.

That said, you can force that case to fit by just dup()ing the fence a bunch of times or arbitrarily picking one of the planes to assign the fence to. Either is kludgey, but I can't argue it's kludgey enough to justify refactoring a bunch of existing driver code.