On Tue, Jan 30, 2024 at 10:48:23AM +0100, Paul Cercueil wrote:
Le mardi 30 janvier 2024 à 10:23 +0100, Christian König a écrit :Yeah that's pretty much the proposal I've seen, split the sg table into
I would say we start with the DMA-API by getting away from sg_tablesFYI I am already adding a 'dma_vec' object in my IIO DMABUF patchset,
to something cleaner and state oriented.
which is just a dead simple
struct dma_vec {
dma_addr_t addr;
size_t len;
};
(The rationale for introducing it in the IIO DMABUF patchset was that
the "scatterlist" wouldn't allow me to change the transfer size.)
So I believe a new "sg_table"-like could just be an array of struct
dma_vec + flags.
input data (struct page + len) and output data (which is the dma_addr_t +
len you have above).
The part I don't expect to ever happen, because it hasn't the past 20 or
so years, is that the dma-api will give us information about what is
needed to keep the buffers coherency between various devices and the cpu.
-Sima