Re: dynamic DMA-buf sharing between devices

From: Christian KÃnig
Date: Thu Apr 18 2019 - 06:57:53 EST


Am 18.04.19 um 11:13 schrieb Daniel Vetter:
On Tue, Apr 16, 2019 at 08:38:29PM +0200, Christian KÃnig wrote:
Hi everybody,

core idea in this patch set is that DMA-buf importers can now provide an optional invalidate callback. Using this callback and the reservation object exporters can now avoid pinning DMA-buf memory for a long time while sharing it between devices.

I've already send out an older version roughly a year ago, but didn't had time to further look into cleaning this up.

The last time a major problem was that we would had to fix up all drivers implementing DMA-buf at once.

Now I avoid this by allowing mappings to be cached in the DMA-buf attachment and so driver can optionally move over to the new interface one by one.

This is also a prerequisite to my patchset enabling sharing of device memory with DMA-buf.
Ok, with the discussions and thinking I think this design is solid and
should work out. Bunch of api and documentation polishing still to do, to
make sure we have really clear semantics and as little room as possible
for misunderstanding - refactoring a mess in dma-buf is a lot more tricky
than just ttm, there's a lot more users.

Yeah, I'm pretty aware of that after changing all the users of the map API to use a structure for the parameters.

Well at least it's not UAPI :)

Christian

-Daniel