dma-buf user handles are fds, which means anything allocated can be passed around nicely already. The question really is whether we'll have one ioctl on top of a special dev node or a syscall. I thought that in these cases where the dev node is only ever used to allocate the real thing, a syscall is the preferred way to go.
So you'd go for
fd = dmabuf_alloc(blah..., O_whatever) ?
Whichever I guess.. really we want open("/dev/foo/parameters.....") but we missed that chance a long time ago.
The billion dollar question is how is the resource managed, who owns the object, who is charged for it, how to does containerise. We really ought to have a clear answer to that.
I guess the same kind of logic as with GEM (except preferably without the DoS security holes) applies as to why its useful to have handles to the DMA buffers.
We have handles (well file descriptors) to dma-bufs already, I'm a bit confused what you mean?
I was agreeing with your argument - with GEM as an example that it works for the CPU accessing case.
Alan