• Home
  • Raw
  • Download

Lines Matching refs:msgs

357 					struct i2c_msg *msgs)  in i2c_imx_dma_xfer()  argument
364 dma->dma_buf = dma_map_single(chan_dev, msgs->buf, in i2c_imx_dma_xfer()
659 struct i2c_msg *msgs) in i2c_imx_dma_write() argument
671 dma->dma_len = msgs->len - 1; in i2c_imx_dma_write()
672 result = i2c_imx_dma_xfer(i2c_imx, msgs); in i2c_imx_dma_write()
684 imx_i2c_write_reg(i2c_8bit_addr_from_msg(msgs), i2c_imx, IMX_I2C_I2DR); in i2c_imx_dma_write()
711 imx_i2c_write_reg(msgs->buf[msgs->len-1], in i2c_imx_dma_write()
721 struct i2c_msg *msgs, bool is_lastmsg) in i2c_imx_dma_read() argument
735 dma->dma_len = msgs->len - 2; in i2c_imx_dma_read()
736 result = i2c_imx_dma_xfer(i2c_imx, msgs); in i2c_imx_dma_read()
770 msgs->buf[msgs->len-2] = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2DR); in i2c_imx_dma_read()
801 msgs->buf[msgs->len-1] = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2DR); in i2c_imx_dma_read()
806 static int i2c_imx_write(struct imx_i2c_struct *i2c_imx, struct i2c_msg *msgs, in i2c_imx_write() argument
812 __func__, i2c_8bit_addr_from_msg(msgs)); in i2c_imx_write()
815 imx_i2c_write_reg(i2c_8bit_addr_from_msg(msgs), i2c_imx, IMX_I2C_I2DR); in i2c_imx_write()
825 for (i = 0; i < msgs->len; i++) { in i2c_imx_write()
828 __func__, i, msgs->buf[i]); in i2c_imx_write()
829 imx_i2c_write_reg(msgs->buf[i], i2c_imx, IMX_I2C_I2DR); in i2c_imx_write()
840 static int i2c_imx_read(struct imx_i2c_struct *i2c_imx, struct i2c_msg *msgs, in i2c_imx_read() argument
845 int block_data = msgs->flags & I2C_M_RECV_LEN; in i2c_imx_read()
846 int use_dma = i2c_imx->dma && msgs->flags & I2C_M_DMA_SAFE && in i2c_imx_read()
847 msgs->len >= DMA_THRESHOLD && !block_data; in i2c_imx_read()
851 __func__, i2c_8bit_addr_from_msg(msgs)); in i2c_imx_read()
854 imx_i2c_write_reg(i2c_8bit_addr_from_msg(msgs), i2c_imx, IMX_I2C_I2DR); in i2c_imx_read()
872 if ((msgs->len - 1) || block_data) in i2c_imx_read()
882 return i2c_imx_dma_read(i2c_imx, msgs, is_lastmsg); in i2c_imx_read()
885 for (i = 0; i < msgs->len; i++) { in i2c_imx_read()
903 msgs->len += len; in i2c_imx_read()
905 if (i == (msgs->len - 1)) { in i2c_imx_read()
932 } else if (i == (msgs->len - 2)) { in i2c_imx_read()
940 msgs->buf[0] = len; in i2c_imx_read()
942 msgs->buf[i] = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2DR); in i2c_imx_read()
945 __func__, i, msgs->buf[i]); in i2c_imx_read()
951 struct i2c_msg *msgs, int num, bool atomic) in i2c_imx_xfer_common() argument
1011 if (msgs[i].flags & I2C_M_RD) { in i2c_imx_xfer_common()
1012 result = i2c_imx_read(i2c_imx, &msgs[i], is_lastmsg, atomic); in i2c_imx_xfer_common()
1015 i2c_imx->dma && msgs[i].len >= DMA_THRESHOLD && in i2c_imx_xfer_common()
1016 msgs[i].flags & I2C_M_DMA_SAFE) in i2c_imx_xfer_common()
1017 result = i2c_imx_dma_write(i2c_imx, &msgs[i]); in i2c_imx_xfer_common()
1019 result = i2c_imx_write(i2c_imx, &msgs[i], atomic); in i2c_imx_xfer_common()
1036 struct i2c_msg *msgs, int num) in i2c_imx_xfer() argument
1045 result = i2c_imx_xfer_common(adapter, msgs, num, false); in i2c_imx_xfer()
1054 struct i2c_msg *msgs, int num) in i2c_imx_xfer_atomic() argument
1063 result = i2c_imx_xfer_common(adapter, msgs, num, true); in i2c_imx_xfer_atomic()