I have a dd which allocs mem (for use as a DMA staging area) and then
I use remap_page_range() to map it into user land (via the mmap()
interface). I was using __get_dma_pages(), the MAP_NR macro, and
mem_map_reserve() to allocate and reserve the mem.
It works great in 2.2.12 and 2.4.0-test4. Now with 2.4.0 production,
I borrowed the uvirt_to_kva(), uvirt_to_bus(), kvirt_to_pa()
and rvmalloc() functions from drivers/media/video/bttv-driver.c
Now here's the wierd part: Memory is allocated ok and I can read to and
write from it in the dd. But in the userland application, I can write
to it OK, but all reads return 0xff!
I'm sure I'm doing something wrong but can't figure out what!
Any assistance would be appreciated.
REgards,
Howard G Page
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/