2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-04 19:54:03 +08:00
linux-next/drivers/gpu/drm/omapdrm
Tomi Valkeinen 2ec8e3787a drm/omap: fix output enable/disable sequence
At the moment it's quite easy to get the following errors when the HDMI
output is enabled or disabled:

[drm:omap_crtc_error_irq] *ERROR* tv: errors: 00008000

The reason for the errors is that the omapdrm driver doesn't properly
handle the sync-lost irqs that happen when enabling the DIGIT crtc,
which is used for HDMI and analog TV. The driver does disable the
sync-lost irq properly, but it fails to wait until the output has been
fully enabled (i.e. the first vsync), so the sync-lost errors are still
seen occasionally.

This patch makes the omapdrm act the same way as the omapfb does:

- When enabling a display, we'll wait for the first vsync.
- When disabling a display, we'll wait for framedone if available, or
  odd and even vsyncs.

These changes make sure the output is fully enabled or disabled at the
end of the function.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: Sanjay Singh Rawat <sanjay.rawat@linaro.org>
Reviewed-by: Rob Clark <robdclark@gmail.com>
2014-04-14 12:34:14 +03:00
..
Kconfig drm: Add separate Kconfig option for fbdev helpers 2013-10-11 23:36:58 +02:00
Makefile drm/omap: kill omap_gem_helpers.c 2013-08-19 10:36:16 +10:00
omap_connector.c OMAPDSS: convert pixel clock to common videomode style 2014-03-05 08:33:30 +02:00
omap_crtc.c drm/omap: fix output enable/disable sequence 2014-04-14 12:34:14 +03:00
omap_debugfs.c drm: store the gem vma offset manager in a typed pointer 2014-01-14 12:38:32 +10:00
omap_dmm_priv.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
omap_dmm_tiler.c drm/omap: Enable DT support for DMM 2014-01-09 15:25:35 +02:00
omap_dmm_tiler.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
omap_drv.c omapdrm patches for 3.14 2014-01-29 09:37:47 +10:00
omap_drv.h omapdrm patches for 3.14 2014-01-29 09:37:47 +10:00
omap_encoder.c drm/omap: fix: disable encoder before destroying it 2014-01-09 15:17:25 +02:00
omap_fb.c Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 2014-04-04 08:03:21 +10:00
omap_fbdev.c drm: Drop all the stub gamma_get, gamma_set, load_lut functions from drivers 2013-06-17 19:42:47 +10:00
omap_gem_dmabuf.c drm/gem: add mutex lock when using drm_gem_mmap_obj 2013-06-28 12:30:15 +10:00
omap_gem.c drm: use anon-inode instead of relying on cdevs 2014-03-16 12:23:33 +01:00
omap_irq.c omapdrm patches for 3.14 2014-01-29 09:37:47 +10:00
omap_plane.c drm/omap: use flip-work helper 2013-08-19 10:33:39 +10:00
tcm-sita.c drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
tcm-sita.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
tcm.h drm/omap: move out of staging 2013-02-16 17:38:06 -05:00
TODO drm/omap: move out of staging 2013-02-16 17:38:06 -05:00