361e591fe7
For dma_alloc_coherent() you don't need writel/readl because it's just a plain old void *. Linux tries very hard to make a distinction between io memory (void __iomem *) and memory (void *) so that drivers are portable to architectures that don't have a way to access registers via pointer dereferences. You can see http://lwn.net/Articles/102232/ and the Linus rant http://lwn.net/Articles/102240/ here for more details behind the motivation. msm: kgsl: Allocate physical pages instead of using vmalloc Replace vmalloc allocation with physical page allocation. For most allocations we do not need a kernel virual address. vmalloc uses up the kernel virtual address space. By replacing vmalloc with physical page alloction and mapping that allocation to kernel space only when it is required prevents the kgsl driver from using unnecessary vmalloc virtual space.