Subject: Re: [BUG/RFC/PATCH] drm: Fix for non-coherent DMA PowerPC

From: Benjamin Herrenschmidt <[email-masked]>
Date: Mon, 03 Mar 2008 09:56:09 +1100

Bah, I think I found the problem:

+static inline void *drm_vmalloc_dma(unsigned long size)
+{
+#if defined(__powerpc__) && defined(CONFIG_NOT_COHERENT_CACHE)
+       return __vmalloc(size, GFP_KERNEL | __GFP_HIGHMEM,
+                        PAGE_KERNEL | _PAGE_NO_CACHE);
+#else
+       return vmalloc_32(size);
+#endif
+}
+

Remove the GFP_HIGHMEM from the above. It looks like our cache
flushing isn't going to work for highmem, it would need some
kmap's for that.

Ben.