Hi EveryOne!

This is first time I send a letter to everyone. If I make mistake, please free to correct me. :)

I'm trying to write the first driver which is concerned with DMA. I'm reading dmatest.c and have some confused problem. Oh! No! I have many problem..:D
MPC8349's DMA controller like ISA controller but with more features? I want to mean that MPC8349E's DMA controller will send -MEMR, -MEMW, -IOR, -IOW ?.
So in DMA APIs such as dma_addr_t dma_map_single(struct device *dev, void *cpu_addr, size_t size, enum dma_data_direction direction)

*dev will pointer to DMA controller or to peripheral device(FPGA, ISA device)? From dmatest.c , *dev seem to pointer to a channel of DMA controller.
The channel is connected to a peripheral device. So calling the API, DMA controller will be able to access memory from cpu_addr, and peripheral device does too?

Look struct dma_async_tx_descriptor *(*device_prep_dma_memcpy)(struct dma_chan *chan,   dma_addr_t        dest,       dma_addr_t        src,
                                                                                                                                size_t len, unsigned long flags);
I want to DMA from device to memory. So how to I can get address of peripheral device ?

Regards!
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to