drm/tilcdc: rewrite pixel clock calculation
authorDarren Etheridge <detheridge@ti.com>
Wed, 15 Jan 2014 21:52:36 +0000 (15:52 -0600)
committerJyri Sarha <jsarha@ti.com>
Thu, 25 Feb 2016 14:39:28 +0000 (16:39 +0200)
commit3d19306a8240a163f6b02bb46213c277d6d44e08
tree33f1f360603ed2f8b13b19c4d7045d59d873cc2e
parent0041ee4d3642f9ad80a479fbe51a4bc7f3cd8294
drm/tilcdc: rewrite pixel clock calculation

Updating the tilcdc DRM driver code to calculate the LCD controller
pixel clock more accurately. Based on a suggested implementation by
Tomi Valkeinen.

The current code does not work correctly and produces wrong results
with many requested clock rates. It also oddly uses two different
clocks, a display pll clock and a divider clock (child of display
pll), instead of just using the clock coming to the lcdc.

This patch removes the use of the display pll clock, and rewrites the
code to calculate the clock rates. The idea is simply to request a
clock rate of pixelclock*2, as the LCD controller has an internal
divider which we set to 2.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
[Rewrapped description]
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/tilcdc/tilcdc_crtc.c
drivers/gpu/drm/tilcdc/tilcdc_drv.c
drivers/gpu/drm/tilcdc/tilcdc_drv.h