Lines Matching refs:msgs
394 gmbus_is_index_read(struct i2c_msg *msgs, int i, int num) in gmbus_is_index_read() argument
397 msgs[i].addr == msgs[i + 1].addr && in gmbus_is_index_read()
398 !(msgs[i].flags & I2C_M_RD) && in gmbus_is_index_read()
399 (msgs[i].len == 1 || msgs[i].len == 2) && in gmbus_is_index_read()
400 (msgs[i + 1].flags & I2C_M_RD)); in gmbus_is_index_read()
404 gmbus_xfer_index_read(struct drm_i915_private *dev_priv, struct i2c_msg *msgs) in gmbus_xfer_index_read() argument
411 if (msgs[0].len == 2) in gmbus_xfer_index_read()
413 msgs[0].buf[1] | (msgs[0].buf[0] << 8); in gmbus_xfer_index_read()
414 if (msgs[0].len == 1) in gmbus_xfer_index_read()
416 (msgs[0].buf[0] << GMBUS_SLAVE_INDEX_SHIFT); in gmbus_xfer_index_read()
422 ret = gmbus_xfer_read(dev_priv, &msgs[1], gmbus1_index); in gmbus_xfer_index_read()
433 struct i2c_msg *msgs, in gmbus_xfer() argument
447 ret = i2c_bit_algo.master_xfer(adapter, msgs, num); in gmbus_xfer()
458 if (gmbus_is_index_read(msgs, i, num)) { in gmbus_xfer()
459 ret = gmbus_xfer_index_read(dev_priv, &msgs[i]); in gmbus_xfer()
461 } else if (msgs[i].flags & I2C_M_RD) { in gmbus_xfer()
462 ret = gmbus_xfer_read(dev_priv, &msgs[i], 0); in gmbus_xfer()
464 ret = gmbus_xfer_write(dev_priv, &msgs[i]); in gmbus_xfer()
529 adapter->name, msgs[i].addr, in gmbus_xfer()
530 (msgs[i].flags & I2C_M_RD) ? 'r' : 'w', msgs[i].len); in gmbus_xfer()
553 ret = i2c_bit_algo.master_xfer(adapter, msgs, num); in gmbus_xfer()