drm/rockchip: dw-mipi-dsi: improve PLL configuration
authorJohn Keeping <john@metanate.com>
Fri, 24 Feb 2017 12:55:00 +0000 (12:55 +0000)
committerSean Paul <seanpaul@chromium.org>
Wed, 1 Mar 2017 19:48:56 +0000 (14:48 -0500)
commitb0a45fec5974f84aff7c249f7da6674f81b61bf6
tree7c6794a945c521993844a487ec969476601fb286
parent3fdfb4f170df4d113a3b6663ebf115e10601d0e9
drm/rockchip: dw-mipi-dsi: improve PLL configuration

The multiplication ratio for the PLL is required to be even due to the
use of a "by 2 pre-scaler".  Currently we are likely to end up with an
odd multiplier even though there is an equivalent set of parameters with
an even multiplier.

For example, using the 324MHz bit rate with a reference clock of 24MHz
we end up with M = 27, N = 2 whereas the example in the PHY databook
gives M = 54, N = 4 for this bit rate and reference clock.

By walking down through the available multiplier instead of up we are
more likely to hit an even multiplier.  With the above example we do now
get M = 54, N = 4 as given by the databook.

While doing this, change the loop limits to encode the actual limits on
the divisor, which are:

40MHz >= (pllref / N) >= 5MHz

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20170224125506.21533-18-john@metanate.com
drivers/gpu/drm/rockchip/dw-mipi-dsi.c