]> git.baikalelectronics.ru Git - kernel.git/commit
drm/omap: HDMI: change enable/disable to avoid sync-losts
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 24 Mar 2015 13:46:35 +0000 (15:46 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 3 Mar 2016 15:36:40 +0000 (17:36 +0200)
commitfedf8d8e4c335826b340878d59a6aca33dac4ced
treee4ebedc8782a1f6f529607ae4ce271d69807280e
parent2827ae15dc0f2c90e519a70f2b9ddebe33f2361f
drm/omap: HDMI: change enable/disable to avoid sync-losts

We occasionally see DISPC sync-lost errors when enabling and disabling
HDMI. Sometimes we get only a few, which get handled (ignored) by the
driver, but sometimes there's a flood of the errors which doesn't seem
to stop.

The HW team has root caused this to the order in which HDMI and DISPC
are enabled/disabled. Currently we enable HDMI first, and then DISPC,
and vice versa when disabling. HW team's suggestion is to do it the
other way around.

This patch changes the order, but this has two side effects as the pixel
clock is produced by HDMI, and the clock is not running when we
enable/disable DISPC:

* When enabling DISPC first, we don't get vertical sync events
* When disabling DISPC last, we don't get FRAMEDONE event

At the moment we use both of those to verify that DISPC has been
enabled/disabled properly. Thus this patch also needs to change the
omapdrm and omapdss which handle the DISPC side.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/omapdrm/dss/hdmi4.c
drivers/gpu/drm/omapdrm/dss/hdmi5.c
drivers/gpu/drm/omapdrm/omap_crtc.c