DRM: armada: fix corruption while loading cursors
Loading cursors to the LCD controller's SRAM can be corrupted when the configured pixel clock is relatively slow. This seems to be caused when we write back-to-back to the SRAM registers. There doesn't appear to be any status register we can read to check when an access has completed. Inserting a dummy read between the writes appears to fix the problem. Cc: <stable@vger.kernel.org> # 3.13 Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9f97ba806a
commit
c39b06951f
@ -679,6 +679,7 @@ static void armada_load_cursor_argb(void __iomem *base, uint32_t *pix,
|
||||
base + LCD_SPU_SRAM_WRDAT);
|
||||
writel_relaxed(addr | SRAM_WRITE,
|
||||
base + LCD_SPU_SRAM_CTRL);
|
||||
readl_relaxed(base + LCD_SPU_HWC_OVSA_HPXL_VLN);
|
||||
addr += 1;
|
||||
if ((addr & 0x00ff) == 0)
|
||||
addr += 0xf00;
|
||||
|
Loading…
Reference in New Issue
Block a user