summaryrefslogtreecommitdiff
path: root/drivers/video/atmel_hlcdfb.c
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-06-24 19:54:20 +0200
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-06-24 19:54:20 +0200
commit754466ac95e92ebf40e25c6af6f13ab9b4d7c87b (patch)
treea63da2cacba9786c93f209a7f44c663c50d768a7 /drivers/video/atmel_hlcdfb.c
parentaed39f354eb663bce7bfbf54c89397b14da2ed64 (diff)
parent6dbeb893c4a7668d0098318d6668ccf59bfbfdea (diff)
downloadu-boot-imx-754466ac95e92ebf40e25c6af6f13ab9b4d7c87b.zip
u-boot-imx-754466ac95e92ebf40e25c6af6f13ab9b4d7c87b.tar.gz
u-boot-imx-754466ac95e92ebf40e25c6af6f13ab9b4d7c87b.tar.bz2
Merge branch 'u-boot-atmel/master' into 'u-boot-arm/master'
Diffstat (limited to 'drivers/video/atmel_hlcdfb.c')
-rw-r--r--drivers/video/atmel_hlcdfb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c
index bb4d7d8..935ae42 100644
--- a/drivers/video/atmel_hlcdfb.c
+++ b/drivers/video/atmel_hlcdfb.c
@@ -171,6 +171,9 @@ void lcd_ctrl_init(void *lcdbase)
| LCDC_BASECTRL_DMAIEN | LCDC_BASECTRL_DFETCH;
desc->next = (u32)desc;
+ /* Flush the DMA descriptor if we enabled dcache */
+ flush_dcache_range((u32)desc, (u32)desc + sizeof(*desc));
+
lcdc_writel(&regs->lcdc_baseaddr, desc->address);
lcdc_writel(&regs->lcdc_basectrl, desc->control);
lcdc_writel(&regs->lcdc_basenext, desc->next);
@@ -194,4 +197,7 @@ void lcd_ctrl_init(void *lcdbase)
lcdc_writel(&regs->lcdc_lcden, value | LCDC_LCDEN_PWMEN);
while (!(lcdc_readl(&regs->lcdc_lcdsr) & LCDC_LCDSR_PWMSTS))
udelay(1);
+
+ /* Enable flushing if we enabled dcache */
+ lcd_set_flush_dcache(1);
}