Re: problems with dma_alloc_coherent and consistent_alloc
From: Marcelo Tosatti <hidden>
Date: 2005-10-06 13:52:33
On Wed, Oct 05, 2005 at 02:21:01PM -0700, Earl Olsen wrote:
(Sorry, I had trouble outlook and messed up the subject line) We are using a PPC 750 with 512m of RAM.
I dont know much about your hardware, but I'll shoot anyway.
1) When we try to allocate memory using consistent_alloc we get a failure with get_pteptr - there is no pte. 2) When we try using dma_alloc_coherent the system locks up when we try to access that memory. I'm guessing these problems stem from the memory being allocated is from the 384 bytes of RAM that gets handed over to BATs 2 AND 3,
You mean Mbytes?
not the remaining memory handled by the page table. In the first case, pages are allocated, but since if came from the BAT region, will not have a page table mapping. In the second case, if dma_alloc_init gets memory from the BAT region, then we have the BAT and page management mechanisms both trying to control the memory. Does this sound like a good theory? Has anybody encountered this problem before?
The kernel should create pte tables for all RAM, even if parts of memory are not accessed through pagetable mappings.