In case of error on lost arbitration, the host should at least attempt
to retry in case if the bus error is transient (i.e., from signal
interference or misbehaved devices). Use the default 2s timeout setting.
Bug:
35439882
Change-Id: Id9bd5a5ea764405401588220a2d2bf0fd85111f7
Signed-off-by: David Lin <dtwlin@google.com>
ctrl->adapter.nr = pdev->id;
ctrl->adapter.dev.parent = &pdev->dev;
ctrl->adapter.dev.of_node = pdev->dev.of_node;
+ ctrl->adapter.retries = I2C_MSM_MAX_RETRIES;
ret = i2c_add_numbered_adapter(&ctrl->adapter);
if (ret) {
dev_err(ctrl->dev, "error i2c_add_adapter failed\n");
#define MASK_IS_SET_BOOL(val, mask) (MASK_IS_SET(val, mask) ? 1 : 0)
#define KHz(freq) (1000 * freq)
#define I2C_MSM_CLK_FAST_PLUS_FREQ (1000000)
+#define I2C_MSM_MAX_RETRIES 5
/* QUP Registers */
enum {