On Thu, Jul 15, 2021 at 10:32 AM Kewei Xu <kewei.xu@xxxxxxxxxxxx> wrote: > When clock-div is 0 or greater than 1, the bus speed > calculated by the old speed calculation formula will be > larger than the target speed. So we update the formula. The patch sounds like a fix up. Need a "Fixes" tag. > for (clk_div = 1; clk_div <= max_clk_div; clk_div++) { > clk_src = parent_clk / clk_div; > + i2c->ac_timing.inter_clk_div = clk_div - 1; Using the way to pass the parameter "inter_clk_div" to mtk_i2c_calculate_speed() looks like a hack. inter_clk_div is set again[1] next to the for loop. [1]: https://elixir.bootlin.com/linux/v5.14-rc1/source/drivers/i2c/busses/i2c-mt65xx.c#L831 I have no domain knowledge of what/how the patch fixes. But if this is a standalone fixup patch, suggest separating to an independent patch.