aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/ipu-v3
diff options
context:
space:
mode:
authorSteve Longerbeam <slongerbeam@gmail.com>2014-12-18 21:00:26 -0500
committerPhilipp Zabel <p.zabel@pengutronix.de>2015-01-07 13:15:04 -0500
commit503f1631ae8f42a386193c92cc4488d35978352e (patch)
treef90982a4e002c56599a7693270d6f035991297dc /drivers/gpu/ipu-v3
parentb6835a719aaa5ee6f493c94cb8b1ff9ad13f5a18 (diff)
gpu: ipu-di: Switch to DIV_ROUND_CLOSEST for DI clock divider calc
We can use the DIV_ROUND_CLOSEST() macro when calculating the DI clock divider, rounded to nearest int. Suggested-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/ipu-v3')
-rw-r--r--drivers/gpu/ipu-v3/ipu-di.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-di.c b/drivers/gpu/ipu-v3/ipu-di.c
index d95fbd0f6952..b61d6be97602 100644
--- a/drivers/gpu/ipu-v3/ipu-di.c
+++ b/drivers/gpu/ipu-v3/ipu-di.c
@@ -440,8 +440,7 @@ static void ipu_di_config_clock(struct ipu_di *di,
440 clk_set_rate(clk, sig->mode.pixelclock); 440 clk_set_rate(clk, sig->mode.pixelclock);
441 441
442 in_rate = clk_get_rate(clk); 442 in_rate = clk_get_rate(clk);
443 div = (in_rate + sig->mode.pixelclock / 2) / 443 div = DIV_ROUND_CLOSEST(in_rate, sig->mode.pixelclock);
444 sig->mode.pixelclock;
445 if (div == 0) 444 if (div == 0)
446 div = 1; 445 div = 1;
447 446
@@ -459,8 +458,7 @@ static void ipu_di_config_clock(struct ipu_di *di,
459 unsigned div, error; 458 unsigned div, error;
460 459
461 clkrate = clk_get_rate(di->clk_ipu); 460 clkrate = clk_get_rate(di->clk_ipu);
462 div = (clkrate + sig->mode.pixelclock / 2) / 461 div = DIV_ROUND_CLOSEST(clkrate, sig->mode.pixelclock);
463 sig->mode.pixelclock;
464 rate = clkrate / div; 462 rate = clkrate / div;
465 463
466 error = rate / (sig->mode.pixelclock / 1000); 464 error = rate / (sig->mode.pixelclock / 1000);
@@ -482,8 +480,7 @@ static void ipu_di_config_clock(struct ipu_di *di,
482 clk_set_rate(clk, sig->mode.pixelclock); 480 clk_set_rate(clk, sig->mode.pixelclock);
483 481
484 in_rate = clk_get_rate(clk); 482 in_rate = clk_get_rate(clk);
485 div = (in_rate + sig->mode.pixelclock / 2) / 483 div = DIV_ROUND_CLOSEST(in_rate, sig->mode.pixelclock);
486 sig->mode.pixelclock;
487 if (div == 0) 484 if (div == 0)
488 div = 1; 485 div = 1;
489 486