Lines Matching refs:msgs
45 static int lkpi_i2c_transfer(device_t dev, struct iic_msg *msgs, uint32_t nmsgs);
168 struct iic_msg *msgs, uint32_t nmsgs) in i2c_check_for_quirks() argument
188 msgs[0].flags & IIC_M_RD) { in i2c_check_for_quirks()
195 !(msgs[1].flags & IIC_M_RD)) { in i2c_check_for_quirks()
203 msgs[0].slave != msgs[1].slave) { in i2c_check_for_quirks()
212 msgs[0].len > quirks->max_comb_1st_msg_len) { in i2c_check_for_quirks()
216 msgs[0].len, in i2c_check_for_quirks()
221 msgs[1].len > quirks->max_comb_2nd_msg_len) { in i2c_check_for_quirks()
225 msgs[1].len, in i2c_check_for_quirks()
242 if (msgs[i].flags & IIC_M_RD) { in i2c_check_for_quirks()
244 msgs[i].len > quirks->max_read_len) { in i2c_check_for_quirks()
248 i, msgs[i].len, quirks->max_read_len); in i2c_check_for_quirks()
252 msgs[i].len == 0) { in i2c_check_for_quirks()
259 msgs[i].len > quirks->max_write_len) { in i2c_check_for_quirks()
262 i, msgs[i].len, quirks->max_write_len); in i2c_check_for_quirks()
266 msgs[i].len == 0) { in i2c_check_for_quirks()
278 lkpi_i2c_transfer(device_t dev, struct iic_msg *msgs, uint32_t nmsgs) in lkpi_i2c_transfer() argument
287 ret = i2c_check_for_quirks(sc->adapter, msgs, nmsgs); in lkpi_i2c_transfer()
296 linux_msgs[i].addr = msgs[i].slave >> 1; in lkpi_i2c_transfer()
297 linux_msgs[i].len = msgs[i].len; in lkpi_i2c_transfer()
298 linux_msgs[i].buf = msgs[i].buf; in lkpi_i2c_transfer()
299 if (msgs[i].flags & IIC_M_RD) { in lkpi_i2c_transfer()
301 for (int j = 0; j < msgs[i].len; j++) in lkpi_i2c_transfer()
302 msgs[i].buf[j] = 0; in lkpi_i2c_transfer()
304 if (msgs[i].flags & IIC_M_NOSTART) in lkpi_i2c_transfer()