|
@@ -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(®s->lcdc_baseaddr, desc->address);
|
|
|
lcdc_writel(®s->lcdc_basectrl, desc->control);
|
|
|
lcdc_writel(®s->lcdc_basenext, desc->next);
|
|
@@ -194,4 +197,7 @@ void lcd_ctrl_init(void *lcdbase)
|
|
|
lcdc_writel(®s->lcdc_lcden, value | LCDC_LCDEN_PWMEN);
|
|
|
while (!(lcdc_readl(®s->lcdc_lcdsr) & LCDC_LCDSR_PWMSTS))
|
|
|
udelay(1);
|
|
|
+
|
|
|
+ /* Enable flushing if we enabled dcache */
|
|
|
+ lcd_set_flush_dcache(1);
|
|
|
}
|