Messages in this thread | | | Date | Sun, 27 Jan 2008 23:34:08 +0100 | From | Jiri Slaby <> | Subject | Re: Question about DMA |
| |
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?
| |