video: atmel_hlcdfb: enable dcache support
To support dcache, we need flush DMA descriptor buffer before enable lcd DMA. Also we need call lcd_set_flush_dcache(1) to make lcd driver flush the lcd buffer if there is any change. Cc: Anatolij Gustschin <agust@denx.de> Signed-off-by: Josh Wu <josh.wu@atmel.com> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
This commit is contained in:
parent
5ae0e38278
commit
b137bd8c8d
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue