Message ID | 20230314105257.17345-1-paul@crapouillou.net (mailing list archive) |
---|---|
Headers | show |
Series | usb: gadget: functionfs: DMABUF import interface | expand |
Am 14.03.23 um 11:52 schrieb Paul Cercueil: > Hi, > > This small patchset adds three new IOCTLs that can be used to attach, > detach, or transfer from/to a DMABUF object. > > This was surprisingly easy to add, as the functionfs code only uses > scatterlists for transfers and allows specifying the number of bytes to > transfer. The bulk of the code is then for general DMABUF accounting. > > The patchset isn't tagged RFC but comments are very welcome, there are > some things I am not 100% sure about: ffs_dma_resv_lock (with no > ww_acquire_ctx), That is perfectly fine as long as you only want to lock one dma_resv object. I've made a few notes what should be fixed and could potentially be improved, but from the DMA-buf side that looks like it should mostly work. Regards, Christian. > and I'm using pr_debug which feels wrong. Also, I > should probably add documentation? The current IOCTLs for functionfs > were not documented, as far as I can tell. > > We use it with DMABUFs created with udmabuf, that we attach to the > functionfs interface and to IIO devices (with a DMABUF interface for > IIO, on its way to upstream too), to transfer samples from high-speed > transceivers to USB in a zero-copy fashion. > > Cheers, > -Paul > > > Paul Cercueil (2): > usb: gadget: Support already-mapped DMA SGs > usb: gadget: functionfs: Add DMABUF import interface > > drivers/usb/gadget/function/f_fs.c | 398 ++++++++++++++++++++++++++++ > drivers/usb/gadget/udc/core.c | 7 +- > include/linux/usb/gadget.h | 2 + > include/uapi/linux/usb/functionfs.h | 14 +- > 4 files changed, 419 insertions(+), 2 deletions(-) >