How to the the physical addresses under linux (au1500)
I am trying to program the DMA (with the ac97) in assembler using a linux kernel module for mips teaching purposes.
The problem is that I need to get the physical address of the pointer to the buffer to transfer to the AC97.
Looking at the kernel source code, I found that I can get the physical address subtracting 0x8000000, but It doesnt seem to work.
Any idea?
Thanks,
Sergio
Quoted 2 lines · Sergio Ruiz
I am trying to program the DMA (with the ac97) in assembler using a linux kernel module for mips teaching purposes.
I think you want to choose a more simple teaching example :-)
Quoted 2 lines
Looking at the kernel source code, I found that I can get the physical address subtracting
0x8000000, but It doesnt seem to work.
Not always. On systems like this one that are not cache coherent, we play games with mapped addresses to get uncached spaces or you need to apply various macros/functions to keep the space coherent.
Quoted 1 line
Any idea?
Use a more simple example. Maybe just update one of the LED displays on the board.
-- Dan