i2c: imx: do not poll for bus busy in single master mode
authorStefan Eichenberger <stefan.eichenberger@toradex.com>
Mon, 14 Oct 2024 13:15:12 +0000 (15:15 +0200)
committerAndi Shyti <andi.shyti@kernel.org>
Sun, 17 Nov 2024 10:58:14 +0000 (11:58 +0100)
commit6692694aca86ddf6831e2be86e5089258c2789bf
tree85ad23b8297d925641a4c356570b6829d319b5c3
parent6816ce57c479653122145793bb45ff58e0805a56
i2c: imx: do not poll for bus busy in single master mode

According to the i.MX8M Mini reference manual chapter "16.1.4.2
Generation of Start" it is only necessary to poll for bus busy and
arbitration lost in multi master mode. This helps to avoid rescheduling
while the i2c bus is busy and avoids SMBus devices to timeout. For
backward compatibility, the single-master property needs to be
explicitly set to disable the bus busy polling.

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-imx.c