Re: [PATCH 1/1] mfd: da9063: Support SMBus and I2C mode

From: Wolfram Sang
Date: Thu Jan 28 2021 - 15:54:47 EST


Hi,

> None of that seems to model the inability to perform atomic transactions
> within the SMBus timeout. This is either a bug of this specific driver
> or maybe the expressiveness of I2C_FUNC_* is not sufficient.
>
> https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/i2c.h#L88
>
> What flag do you think we could check to find out whether the bus is
> able to obey the SMBus timeout or not?

While not perfect, you can reasonably assume that the bus cannot obey to
SMBus timings when I2C_FUNC_I2C is set. Because in the vast majority of
all cases with I2C_FUNC_I2C, SMBus commands are emulated which is prone
to the latency you described. You'd need a native SMBus controller to
avoid that which usually has not I2C_FUNC_I2C set.

Happy hacking,

Wolfram

Attachment: signature.asc
Description: PGP signature