[SRU][J:linux-bluefield][PATCH v1 0/1] UBUNTU: SAUCE: i2c-mlxbf: Repeated start support

Chris Babroski cbabroski at nvidia.com
Wed Nov 6 20:54:34 UTC 2024


BugLink: https://bugs.launchpad.net/bugs/2086815

[Impact]

Reading SMBus or I2C block data on Bluefield will fail if the target device
requires repeated start conditions to be used.

[Fix]

* Add support for repeated start conditions to the Mellanox I2C driver.
* Enable repeated start condition for I2C_FUNC_SMBUS_WRITE_I2C_BLOCK read
  implementation.
* Update I2C bus timing settings based on latest HW testing results.
  Required for repeated start transactions with Bluefield 3 target devices.

[Test Case]

* Verified MLXBF I2C driver builds and loads without errors on Bluefield 2
  and Bluefield 3.
* Verified I2C block read of a device that requires repeated start
  conditions succeeds using the following command:
  "i2cget -y <bus> <target> <reg> i <bytes>".
* Verified IPMB communication with BMC to regression test general I2C
  behavior. Used to following command which will result in several I2C
  transactions: "ipmitool mc info".

[Regression Potential]

* I2C bus timing settings have been updated and will affect all I2C and
  SMBus transactions on Bluefield.
* SMBus I2C block reads now include a repeated start condition which could
  cause a regression if this type of read is expected to be used with a
  target device that does not support repeated start conditions.
* IPMB transactions that use I2C could fail due to a bug with this
  implementation.



More information about the kernel-team mailing list