Re: [PATCH v4 1/1] i2c: designware: use casting of u64 in clock multiplication to avoid overflow

Andy Shevchenko
2022-12-20T19:27:13Z

On Tue, Dec 20, 2022 at 09:23:53PM +0200, Andy Shevchenko wrote:
> On Tue, Dec 20, 2022 at 07:43:06PM +0200, Hawa, Hanna wrote:

...

> return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * tSYMBOL, MICRO) -
> 8 + offset;
>
> return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * (tSYMBOL + tf), MICRO) -
> 3 + offset;
>
> return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * (tLOW + tf), MICRO) -
> 1 + offset;

Thinking more on this, I would probably replace the order of arguments to make
it ' + offset - N' in each case. Since plus will be on the previous line and
become first it will be easier to parse the arithmetical expression.