]> git.itanic.dy.fi Git - linux-stable/commit
i2c: mlxbf: Fix frequency calculation
authorAsmaa Mnebhi <asmaa@nvidia.com>
Tue, 20 Sep 2022 17:47:29 +0000 (13:47 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Sep 2022 09:10:40 +0000 (11:10 +0200)
commit0fa11239c4d332e9b1db5b23e297bf19419bb7cc
tree0f04488a6d21357406a3f2b986d536eba90b1173
parent48ee0a864d1af02eea98fc825cc230d61517a71e
i2c: mlxbf: Fix frequency calculation

[ Upstream commit 37f071ec327b04c83d47637c5e5c2199b39899ca ]

The i2c-mlxbf.c driver is currently broken because there is a bug
in the calculation of the frequency. core_f, core_r and core_od
are components read from hardware registers and are used to
compute the frequency used to compute different timing parameters.
The shifting mechanism used to get core_f, core_r and core_od is
wrong. Use FIELD_GET to mask and shift the bitfields properly.

Fixes: b5b5b32081cd206b (i2c: mlxbf: I2C SMBus driver for Mellanox BlueField SoC)
Reviewed-by: Khalil Blaiech <kblaiech@nvidia.com>
Signed-off-by: Asmaa Mnebhi <asmaa@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-mlxbf.c