Re: Question about DMA

From: Jiri Slaby
Date: Sun Jan 27 2008 - 17:34:24 EST


On 01/27/2008 09:51 PM, Francis Moreau wrote:
Hello,

I have 2 questions regarding set_dma_addr(unsigned int channel,
unsigned int addr) helper.

1/ Why does the function take only one address ? I would expect it
to take both a source and a destination address for the dma controller
to transfer data.

since your device is responsible for sending data from/to local memory. ISA dma controller has only 2 registers -- 16-bit address to put incoming data to (get outcoming from) + 8-bit nonincrementing page and 16-bit counter.

2/ The type of address parameter is an unsigned int. Why isn't it a dma_addr_t
type ?

since isa dma controller can address up to 2^24 (16-bit address + 8-bit page) bytes of memory, i.e. 16M.

Are you sure, you want use this API?

--
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/