linux/drivers/gpu/drm/omapdrm
Tomi Valkeinen 506096a113 drm/omap: fix enabling/disabling of video pipeline
At the moment the omap_crtc_pre_apply() handles the enabling, disabling
and configuring of encoders and panels separately from the CRTC (i.e.
the overlay manager).

However, this doesn't work correctly. The encoder driver has to be in
control of its video input (i.e. the crtc) for correct operation.

This problem causes bugs with (at least) HDMI: the HDMI encoder supplies
pixel clock for DISPC, and DISPC supplies video stream for HDMI. The
current code first enables the HDMI encoder, and CRTC after that.
However, the encoder expects the video stream to start during the
encoder's enable, and if it doesn't, there will be sync lost errors.

The encoder enables its video source by calling src->enable(), and this
call goes to omapdrm (omap_crtc_enable), but omapdrm doesn't do anything
in that function. Similarly for disable, which goes to
omap_crtc_disable().

This patch moves the code to setup and enable/disable the crtc to
omap_crtc_enable. and omap_crtc_disable().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
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 enabling/disabling of video pipeline 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
omap_dmm_tiler.c drm/omap: Enable DT support for DMM 2014-01-09 15:25:35 +02:00
omap_dmm_tiler.h
omap_drv.c drm/omap: fix race issue when unloading omapdrm 2014-04-14 12:34:14 +03:00
omap_drv.h drm/omap: fix race issue when unloading omapdrm 2014-04-14 12:34:14 +03: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.c drm: use anon-inode instead of relying on cdevs 2014-03-16 12:23:33 +01: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_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
tcm-sita.h
tcm.h
TODO