[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c5fe8089-49e9-2bec-eac5-e8a035412cf3@amd.com>
Date: Wed, 15 Feb 2023 13:58:08 +0100
From: Christian König <christian.koenig@....com>
To: Paul Cercueil <paul@...pouillou.net>,
Sumit Semwal <sumit.semwal@...aro.org>,
Vinod Koul <vkoul@...nel.org>
Cc: linux-media@...r.kernel.org, dmaengine@...r.kernel.org,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: Question: partial transfers of DMABUFs
Hi Paul,
Am 15.02.23 um 11:48 schrieb Paul Cercueil:
> Hi,
>
> I am working on adding support for DMABUFs in the IIO subsystem.
>
> One thing we want there, is the ability to specify the number of bytes
> to transfer (while still defaulting to the DMABUF size).
>
> Since dma_buf_map_attachment() returns a sg_table,
Please don't assume that this is an sg_table. We just used it as
container for DMA addresses, but this has proven to be a mistake.
There is work underway to replace the sg_table with (for example) just
an array of DMA addresses.
> I basically have two options, and I can't decide which one is the best (or the less ugly):
>
> - Either I add a new API function similar to dmaengine_prep_slave_sg(),
> which still takes a scatterlist as argument but also takes the number
> of bytes as argument;
>
> - Or I add a function to duplicate the scatterlist and then shrink it
> manually, which doesn't sound like a good idea either.
>
> What would be the recommended way?
I strongly recommend to come up with a new function which only takes DMA
addresses and separate segment length.
Regards,
Christian.
>
> Cheers,
> -Paul
Powered by blists - more mailing lists