aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 3ddfb3d0b64d..2970c6bb668c 100644
--- a/drivers/gpu/ipu-v3/ipu-di.c
+++ b/drivers/gpu/ipu-v3/ipu-di.c
@@ -441,8 +441,7 @@ static void ipu_di_config_clock(struct ipu_di *di,
441 441
442 in_rate = clk_get_rate(clk); 442 in_rate = clk_get_rate(clk);
443 div = DIV_ROUND_CLOSEST(in_rate, sig->mode.pixelclock); 443 div = DIV_ROUND_CLOSEST(in_rate, sig->mode.pixelclock);
444 if (div == 0) 444 div = clamp(div, 1U, 255U);
445 div = 1;
446 445
447 clkgen0 = div << 4; 446 clkgen0 = div << 4;
448 } 447 }
@@ -459,8 +458,7 @@ static void ipu_di_config_clock(struct ipu_di *di,
459 458
460 clkrate = clk_get_rate(di->clk_ipu); 459 clkrate = clk_get_rate(di->clk_ipu);
461 div = DIV_ROUND_CLOSEST(clkrate, sig->mode.pixelclock); 460 div = DIV_ROUND_CLOSEST(clkrate, sig->mode.pixelclock);
462 if (div == 0) 461 div = clamp(div, 1U, 255U);
463 div = 1;
464 rate = clkrate / div; 462 rate = clkrate / div;
465 463
466 error = rate / (sig->mode.pixelclock / 1000); 464 error = rate / (sig->mode.pixelclock / 1000);
@@ -483,8 +481,7 @@ static void ipu_di_config_clock(struct ipu_di *di,
483 481
484 in_rate = clk_get_rate(clk); 482 in_rate = clk_get_rate(clk);
485 div = DIV_ROUND_CLOSEST(in_rate, sig->mode.pixelclock); 483 div = DIV_ROUND_CLOSEST(in_rate, sig->mode.pixelclock);
486 if (div == 0) 484 div = clamp(div, 1U, 255U);
487 div = 1;
488 485
489 clkgen0 = div << 4; 486 clkgen0 = div << 4;
490 } 487 }