Re: Dma addr should use Kuseg1 for MIPS32?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux