On Mon, Apr 20, 2009 at 07:38:13PM +0700, lhthanh wrote: > <body bgcolor="#ffffff" text="#000000"> > <font size="+1">Hi EveryOne!<br> > <br> > This is first time I send a letter to everyone. If I make mistake, > please free to correct me. :)<br>
Please post in plaintext, not HTML. > MPC8349's DMA controller like ISA controller but with more features? No. It is for software-directed memory-to-memory transfers (where "memory" can be main-memory, or the buffer of a device that doesn't do DMA itself). There is no need for anything like ISA's DMA controller, as devices that want to initiate DMA can master the bus themselves. > 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)? It is whatever device is going to be doing the DMA. > From dmatest.c , *dev seem to pointer to a channel of DMA > controller. That's because in that case, the DMA controller is the peripheral device being used. > I want to DMA from device to memory. What kind of device? > So how to I can get address of peripheral device ? If you have to ask that, it probably means you don't have a specific device buffer in mind that you want an external entity to stuff data into (or suck data from), but rather are dealing with device-initiated DMA. In that case, ignore the DMA controller. -Scott _______________________________________________ Linuxppc-dev mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-dev
