ppc85xx DMA

Naru Sundar nsundar at fulcrummicro.com
Wed Jun 7 07:16:10 EST 2006


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



More information about the Linuxppc-embedded mailing list