If the buffer is cached the image on the LCD is broken. Only some small lines on the last rows. Flushing the cache "repairs" the image. Is remap_range the right way to get a non cached buffer? This patch only covers prealloc_screen, not dynamic If the buffer is dynamic, is the use of dma_alloc_coherent right? Or should the buffer remaped again if freed? --- drivers/video/omap4.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/video/omap4.c b/drivers/video/omap4.c index 5642f25..1ade988 100644 --- a/drivers/video/omap4.c +++ b/drivers/video/omap4.c @@ -32,6 +32,8 @@ #include <mach/omap4-silicon.h> #include <mach/omap4-fb.h> +#include <asm/mmu.h> + #include "omap4.h" struct omap4fb_device { @@ -489,6 +491,9 @@ static int omap4fb_probe(struct device_d *dev) fbi->prealloc_screen.addr = (void __iomem *)pdata->screen->start; fbi->prealloc_screen.size = resource_size(pdata->screen); + remap_range(fbi->prealloc_screen.addr, + fbi->prealloc_screen.size, + mmu_get_pte_uncached_flags()); } omap4fb_reset(fbi); -- 1.7.0.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox