Lines Matching refs:msg

173 			struct i2c_msg *msg, u8 *buf, uint32_t flags)  in mxs_i2c_dma_setup_xfer()  argument
178 i2c->addr_data = i2c_8bit_addr_from_msg(msg); in mxs_i2c_dma_setup_xfer()
180 if (msg->flags & I2C_M_RD) { in mxs_i2c_dma_setup_xfer()
217 MXS_I2C_CTRL0_XFER_COUNT(msg->len); in mxs_i2c_dma_setup_xfer()
228 sg_init_one(&i2c->sg_io[1], buf, msg->len); in mxs_i2c_dma_setup_xfer()
248 MXS_I2C_CTRL0_XFER_COUNT(msg->len + 1); in mxs_i2c_dma_setup_xfer()
261 sg_set_buf(&i2c->sg_io[1], buf, msg->len); in mxs_i2c_dma_setup_xfer()
369 struct i2c_msg *msg, uint32_t flags) in mxs_i2c_pio_setup_xfer() argument
372 uint32_t addr_data = i2c_8bit_addr_from_msg(msg); in mxs_i2c_pio_setup_xfer()
397 if (msg->flags & I2C_M_RD) { in mxs_i2c_pio_setup_xfer()
410 BUG_ON(msg->len > 4); in mxs_i2c_pio_setup_xfer()
426 MXS_I2C_CTRL0_XFER_COUNT(msg->len)); in mxs_i2c_pio_setup_xfer()
436 for (i = 0; i < msg->len; i++) { in mxs_i2c_pio_setup_xfer()
437 msg->buf[i] = data & 0xff; in mxs_i2c_pio_setup_xfer()
462 if (msg->len > 3) in mxs_i2c_pio_setup_xfer()
465 for (i = 0; i < msg->len; i++) { in mxs_i2c_pio_setup_xfer()
467 data |= (msg->buf[i] << 24); in mxs_i2c_pio_setup_xfer()
472 if (i + 1 == msg->len) { in mxs_i2c_pio_setup_xfer()
507 xlen, i, msg->len, in mxs_i2c_pio_setup_xfer()
559 static int mxs_i2c_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, in mxs_i2c_xfer_msg() argument
572 msg->addr, msg->len, msg->flags, stop); in mxs_i2c_xfer_msg()
579 if ((msg->flags & I2C_M_RD) && (msg->len <= 4)) in mxs_i2c_xfer_msg()
581 if (!(msg->flags & I2C_M_RD) && (msg->len < 7)) in mxs_i2c_xfer_msg()
586 ret = mxs_i2c_pio_setup_xfer(adap, msg, flags); in mxs_i2c_xfer_msg()
591 dma_buf = i2c_get_dma_safe_msg_buf(msg, 1); in mxs_i2c_xfer_msg()
596 ret = mxs_i2c_dma_setup_xfer(adap, msg, dma_buf, flags); in mxs_i2c_xfer_msg()
598 i2c_put_dma_safe_msg_buf(dma_buf, msg, false); in mxs_i2c_xfer_msg()
604 i2c_put_dma_safe_msg_buf(dma_buf, msg, true); in mxs_i2c_xfer_msg()