To clarify, I am definitely using the physical addresses. virt_to_bus and virt_to_phys result in the same value. My transfer completes and I see BCR go back to 0, but I can't manage to actually see any data difference at the destination side.
The destination address is an ioremapped region that I pass through virt_to_phys. The src is kmalloc'd memory that has GFP_DMA set. On Tue, Jun 06, 2006 at 11:55:48AM -0700, Naru Sundar wrote: > On Tue, Jun 06, 2006 at 09:39:29AM +0800, Liu Dave-r63238 wrote: > > What is the DMA transfer mode? Is direct or chaining mode? > > Direct mode. I fixed an error with my bit ordering for the configuration > registers, and now the transfer seems to complete, but I don't see any > actual data showing up in the destination register that I am writing to. > > > Did you ioremap the DMA register space? > > Yes, I can write the destination address manually. So I am thinking my > addresses > are wrong. > > For the source and dest address I used: > > dma_map_single(NULL, ptr, len, DMA_TO_DEVICE) > > (which effectively does a virt_to_bus on ppc and so should just return to me > the bus address used by the dma). > > -naru > _______________________________________________ > Linuxppc-embedded mailing list > Linuxppc-embedded at ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded