[PATCH] gpu: ipu-v3: Fix dev_dbg frequency output
Philipp Zabel
p.zabel at pengutronix.de
Tue Mar 29 16:42:01 UTC 2022
On Mo, 2022-02-07 at 16:14 +0100, Mark Jonas wrote:
> From: Leo Ruan <tingquan.ruan at cn.bosch.com>
>
> This commit corrects the printing of the IPU clock error percentage
> if
> it is between -0.1% to -0.9%. For example, if the pixel clock
> requested
> is 27.2 MHz but only 27.0 MHz can be achieved the deviation is -0.8%.
> But the fixed point math had a flaw and calculated error of 0.2%.
>
> Before:
> Clocks: IPU 270000000Hz DI 24716667Hz Needed 27200000Hz
> IPU clock can give 27000000 with divider 10, error 0.2%
> Want 27200000Hz IPU 270000000Hz DI 24716667Hz using IPU, 27000000Hz
>
> After:
> Clocks: IPU 270000000Hz DI 24716667Hz Needed 27200000Hz
> IPU clock can give 27000000 with divider 10, error -0.8%
> Want 27200000Hz IPU 270000000Hz DI 24716667Hz using IPU, 27000000Hz
>
> Signed-off-by: Leo Ruan <tingquan.ruan at cn.bosch.com>
> Signed-off-by: Mark Jonas <mark.jonas at de.bosch.com>
> ---
> drivers/gpu/ipu-v3/ipu-di.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/ipu-v3/ipu-di.c b/drivers/gpu/ipu-v3/ipu-
> di.c
> index b4a31d506fcc..74eca68891ad 100644
> --- a/drivers/gpu/ipu-v3/ipu-di.c
> +++ b/drivers/gpu/ipu-v3/ipu-di.c
> @@ -451,8 +451,9 @@ static void ipu_di_config_clock(struct ipu_di
> *di,
>
> error = rate / (sig->mode.pixelclock / 1000);
>
> - dev_dbg(di->ipu->dev, " IPU clock can give %lu with
> divider %u, error %d.%u%%\n",
> - rate, div, (signed)(error - 1000) / 10, error
> % 10);
> + dev_dbg(di->ipu->dev, " IPU clock can give %lu with
> divider %u, error %c%d.%d%%\n",
> + rate, div, error < 1000 ? '-' : '+',
> + abs(error - 1000) / 10, abs(error - 1000) %
> 10);
>
> /* Allow a 1% error */
> if (error < 1010 && error >= 990) {
Thank you, applied to imx-drm/fixes.
regards
Philipp
More information about the dri-devel
mailing list