diff -urN linux-2.6.28.2-0rig//drivers/video/atmel_mpopfb.c linux-2.6.28.2/drivers/video/atmel_mpopfb.c --- linux-2.6.28.2-0rig//drivers/video/atmel_mpopfb.c 2009-01-29 09:41:04.000000000 +0100 +++ linux-2.6.28.2/drivers/video/atmel_mpopfb.c 2009-01-29 09:43:46.000000000 +0100 @@ -315,6 +315,10 @@ static void atmel_mpopfb_start(struct atmel_mpopfb_info *sinfo) { if (!sinfo->running) { + unsigned int line_cache_disable = + sinfo->baseimg_info.line_cache_disable ? + ATMEL_MPOP_CR_CACHEDIS_MASK : 0; + dev_dbg(sinfo->info->device, " * Starting MPOP.\n"); /* Enable all error interrupts. */ @@ -325,9 +329,9 @@ * reading from the slave interface it will start * generating a frame. */ - mpop_writel(sinfo, ATMEL_MPOP_CR, - ATMEL_MPOP_CR_EN_MASK - /*| ATMEL_MPOP_CR_OUT_BGR_MASK */ ); + mpop_writel(sinfo, ATMEL_MPOP_CR, ATMEL_MPOP_CR_EN_MASK + | line_cache_disable + | ATMEL_MPOP_CR_OUT_BGR_MASK); sinfo->running = 1; } diff -urN linux-2.6.28.2-0rig//include/linux/atmel_mpopfb.h linux-2.6.28.2/include/linux/atmel_mpopfb.h --- linux-2.6.28.2-0rig//include/linux/atmel_mpopfb.h 2009-01-29 09:41:04.000000000 +0100 +++ linux-2.6.28.2/include/linux/atmel_mpopfb.h 2009-01-29 09:43:46.000000000 +0100 @@ -42,9 +42,11 @@ unsigned xsize; unsigned ysize; - /* Signal that we should flip the video. */ + /* Signal for flipping the video. */ int flip; + /* Signal for disabling the line cache. */ + int line_cache_disable; }; enum atmel_mpopfb_overlay_type {