Hello.
figo zhang wrote:
> i write dma_phy to DMA base register, but why it cannot work? it
should
> write Kseg1 space to DMA register?
> I remember that it is ok for ARM/X86 .
It's only happens to work on some systems.
in my puzzle, if i run
dma_vaddr =(char*) __get_free_pages(GFP_KERNEL, order);
dma_phy = virt_to_phy(dma_vaddr);
if the result is:
dma_vaddr = 0x801b00000;
dma_phy = 0x1b00000;
so i should write 0x1b00000 to my DMA Base register or wirte
(0x1b000000 | 0xa0000000) to DMA?
You must always use the physical addresses when programming DMA, i.e.
0x1b00000 in this case.
WBR, Sergei