Re: [PATCH] serial: tegra: Fixes lower tolerance baud rate limit for older tegra chips introduced by d781ec21bae6

From: Greg KH
Date: Mon Nov 22 2021 - 08:01:52 EST

On Mon, Nov 22, 2021 at 01:44:26PM +0100, Patrik John wrote:
> The current implementation uses 0 as lower limit for the baud rate tolerance which contradicts the initial commit description ( of +4/-4% tolerance for older tegra chips other than Tegra186 and Tegra194.
> This causes issues on UART initilization as soon as the actual baud rate clock is slightly lower than required which we have seen on the Tegra124-based Toradex Apalis TK1 which also uses tegra30-hsuart as compatible in the DT serial node (for reference line 1540ff

All of these links will break in a few days.

And a line number is not "1540ff" :(

> The standard baud rate tolerance limits are also stated in the tegra20-hsuart driver description (

You can just reference a file in the kernel source tree directly, no
need to go back to

> The previously introduced check_rate_in_range() always fails due to the lower limit set to 0 even if the actual baud rate is within the required -4% tolerance.

Can you please wrap your changelog text at 72 columns like git asked you
to when you committed the change to your local tree?

> static int tegra_check_rate_in_range(struct tegra_uart_port *tup)
> {
> long diff;
> diff = ((long)(tup->configured_rate - tup->required_rate) * 10000)
> / tup->required_rate;
> if (diff < (tup->cdata->error_tolerance_low_range * 100) ||
> diff > (tup->cdata->error_tolerance_high_range * 100)) {
> dev_err(tup->,
> "configured baud rate is out of range by %ld", diff);
> return -EIO;
> }
> return 0;
> }

I do not understand, why is this code in the changelog?

> Changing the lower tolerance limit to the actual -4% resolved the issues for the Tegra124 and should resolve potential issues for other Tegra20/Tegra30 based platforms as well.
> Signed-off-by: Patrik John <patrik.john@xxxxxxxxxx>

What commit does this fix? Should it have a "Fixes:" tag in it?

And should it go to stable kernel(s)?

Also, this is a v2 patch, please include below the --- line what changed
from the previous version when you resend v3.


greg k-h