imx-drm: ipu-v3: more inteligent DI clock selection
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 19 Oct 2013 14:05:31 +0000 (15:05 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 24 Feb 2014 12:03:49 +0000 (12:03 +0000)
commit24013ea8ff5711ef548b709d2f93d541f0bf504a
tree25f7c986c92a16008888402e3465d21ff1f5fba6
parent406783880267c3fa3d76ce8e9a83ba17de3bcf2e
imx-drm: ipu-v3: more inteligent DI clock selection

The DI clock selection was very rudimentary: it would statically use
either the IPU internal clock or the DI external clock depending on
which "encoder" was being used.  In the case of HDMI, it would always
use the IPU clock.

Moreover, using the IPU clock resulted in fractional divisors, which
are achieved by skipping clock pulses.  This can result in the HDMI
PHY PLL being frequency modulated, and the attached device is then
unable to properly lock on to the TMDS clock.

We need at least 1% accurate and stable clocks for HDMI.

Arrange for the DI clock to be sourced from the IPU internal clock
if it can satisfy our requirements, otherwise switch to the DI
external clock and try and set the external clock to our desired
pixel clock rate.

Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/staging/imx-drm/ipu-v3/ipu-di.c
This page took 0.02734 seconds and 5 git commands to generate.