A few weeks ago I found the solution, which I report here to help
people who are googling for the same problem.
consistent_alloc() performed all the required magic to allocate
a contiguous buffer in phisical memory:
- if (!(fb_info.shadow = (void *)__get_free_pages(GFP_KERNEL, OLED_MEMORDER))
+ if (!(fb_info.shadow = consistent_alloc(GFP_KERNEL, PAGE_ALIGN(OLED_MEMSIZE),
+ &fb_info.shadow_phys, PTE_BUFFERABLE))
The complete patch set is here, just in case:
http://www.develer.com/patches/linux/pending/
--
// Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/ http://www.develer.com/
-