drm: tilcdc: simplify the recovery from sync lost error on rev1
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 19 Dec 2016 14:47:14 +0000 (15:47 +0100)
committerJyri Sarha <jsarha@ti.com>
Wed, 4 Jan 2017 08:22:16 +0000 (10:22 +0200)
commitf97fd383d9a10fd125bcdafba03240685aed5608
tree563453aa96a8ee6c1f3a68b0be6583a5525709c1
parent0186fcce896d3cb6fb690ed8b4405c9c1b76977a
drm: tilcdc: simplify the recovery from sync lost error on rev1

Revision 2 of LCDC suffers from an issue where a SYNC_LOST error
caused by limited memory bandwidth may leave the picture shifted a
couple pixels to the right.

This issue has not been observed on revision 1, while the recovery
mechanism introduces a different issue, where the END_OF_FRAME
interrupt doesn't fire while drm is waiting for vblanks.

On rev1: recover from sync lost errors by simply clearing the
RASTER_ENABLE bit in the RASTER_CTRL register and re-enabling it
again as is suggested by the datasheet.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Jyri Sarha <jsarha@ti.com>
drivers/gpu/drm/tilcdc/tilcdc_crtc.c