Messages in this thread | | | Date | Thu, 28 Jan 2021 21:53:11 +0100 | From | Wolfram Sang <> | Subject | Re: [PATCH 1/1] mfd: da9063: Support SMBus and I2C mode |
| |
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
[unhandled content-type:application/pgp-signature] | |