Re: dmaengine/Query: What about scatter/gather for mem to mem transfers.

From: Pratyush Anand
Date: Thu Dec 15 2011 - 00:24:40 EST


On 12/15/2011 10:36 AM, Koul, Vinod wrote:

Hello Vinod/Dan,

Please write your opinion.
I am on vacation, but will reply briefly here, more next week

Thanks for your quick reply.


Regards
Pratyush

On 12/14/2011 12:17 PM, Pratyush Anand wrote:
Hello Vinod/Dan,

In continuation to the scatter/gather requirement:
We might need some generic transfer where source and destination
address may be overlapped and also gap between two chunk of source and
destination might not be same.

For examaple,
Transfer size is - -0x4000
Our Src is something like this:
0x1000 -- 0x2000
0x3000 -- 0x5000
0x6000 -- 0x7000

and dst is something like this:
0x6000 -- 0x8000
0x9000 -- 0xB000
So why can't it be split like:
0x1000--0x2000 => 0x6000 --0x7000
0x3000 -- 0x4000 => 0x7000 - 0x8000
0x4000 -- 0x5000 => 0x9000 - 0xA000
0x6000 -- 0x7000 => 0xA000 - 0xB000

That way existing mechanism would work well for you.
You need to split the chunks properly, which is what dma would do anyway


Yes, they can be split like this, but then splitting onus will go on dma user driver, and so there would be replication of similar logic at several places. Therefore, I was thinking to make device_prep_dma_sg as generic by adding these flags.

Regards
Pratyush

--
~Vinod

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/