aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/hdmi.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index a229d0f8365..c4b4f6950a9 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -278,24 +278,24 @@ static void hdmi_compute_pll(struct omap_dss_device *dssdev, int phy,
278 278
279 refclk = clkin / pi->regn; 279 refclk = clkin / pi->regn;
280 280
281 /*
282 * multiplier is pixel_clk/ref_clk
283 * Multiplying by 100 to avoid fractional part removal
284 */
285 pi->regm = (phy * 100 / (refclk)) / 100;
286
287 if (dssdev->clocks.hdmi.regm2 == 0) 281 if (dssdev->clocks.hdmi.regm2 == 0)
288 pi->regm2 = HDMI_DEFAULT_REGM2; 282 pi->regm2 = HDMI_DEFAULT_REGM2;
289 else 283 else
290 pi->regm2 = dssdev->clocks.hdmi.regm2; 284 pi->regm2 = dssdev->clocks.hdmi.regm2;
291 285
292 /* 286 /*
287 * multiplier is pixel_clk/ref_clk
288 * Multiplying by 100 to avoid fractional part removal
289 */
290 pi->regm = phy * pi->regm2 / refclk;
291
292 /*
293 * fractional multiplier is remainder of the difference between 293 * fractional multiplier is remainder of the difference between
294 * multiplier and actual phy(required pixel clock thus should be 294 * multiplier and actual phy(required pixel clock thus should be
295 * multiplied by 2^18(262144) divided by the reference clock 295 * multiplied by 2^18(262144) divided by the reference clock
296 */ 296 */
297 mf = (phy - pi->regm * refclk) * 262144; 297 mf = (phy - pi->regm / pi->regm2 * refclk) * 262144;
298 pi->regmf = mf / (refclk); 298 pi->regmf = pi->regm2 * mf / refclk;
299 299
300 /* 300 /*
301 * Dcofreq should be set to 1 if required pixel clock 301 * Dcofreq should be set to 1 if required pixel clock