> > Any given memcpy operation involves *both* directions. Data is copied > out of host memory into the DMA engine's internal buffer (this is the > src mapping), and then it its copied back into host memory at a > different address (this is the dest mapping). >
Whoops! Now we may be getting to the heart of what I'm confused about ;). My bad, some more background may be in order for you to help me. What I'm trying to do is set up a DMA transfer to/from a NAND flash controller hanging on a PCI bus. So, let's say I'm doing a read of the 2K NAND page. My "source" is a PCI address and is what I was assuming I needed to pass to the memcpy function as "src". But that assumption conflicts with your statement that "Data is copied out of host memory into the DMA engine's internal buffer (this is the src mapping)". Is this where my ignorance is jumping up and bitting me? Maybe (with you clarification) this is starting to make sense. It doesn't matter if the "src" is host memory or PCI space. What the "src" and it's DMA_TO_DEVICE mapping is saying to the kernel is "this data needs to be moved into the DMA engine", while the "dest" and it's DMA_FROM_DEIVCE mapping is telling the kernel "this data needs to be moved from the DMA engine". Or am I even more confused :( ? Bruce _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded