Regadring Linux Scatter Gather List

babu subash subashgs at yahoo.com
Fri Nov 6 05:22:22 EST 2015


Hi All,

I have a basic query regarding the DMA. After the SG list is prepared and mapped using dma_map_sg().
we need to do DMA transfer.
Here the list will give the bus addresses of source SG list.

In my one of the earlier project in vxworks, I had a DMA registers which provided the  src and dst address register and mode.
where we use to fill both addresses, size and direction.

But here how to specify the destination addresses. Please let me know.

In one of the driver I saw this method:

                dmaflags = claim_dma_lock();
                set_dma_mode();   /* Read / Write */
                set_dma_addr(dma, dma_addr);
                set_dma_count(dma, size);
                enable_dma(dma);
                release_dma_lock(dmaflags);

Here the dma_addr will be the address will be given that we get from the SG list mapped address list which becomes the src address for write on that channel.
But to give the dest address where to write on to particular offset on data buffer?? Is the issue...

Is there any other methods should we use?


Regards,
Subash



More information about the Kernelnewbies mailing list