[PATCH 0/2] usb: gadget: functionfs: DMABUF import interface
Christian König
christian.koenig at amd.com
Tue Mar 14 12:01:50 UTC 2023
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(-)
>
More information about the dri-devel
mailing list