Lines Matching refs:msg
101 struct i2c_msg *msg; member
210 static int i2c_m_rd(const struct i2c_msg *msg) in i2c_m_rd() argument
212 return (msg->flags & I2C_M_RD) != 0; in i2c_m_rd()
215 static int i2c_m_ten(const struct i2c_msg *msg) in i2c_m_ten() argument
217 return (msg->flags & I2C_M_TEN) != 0; in i2c_m_ten()
220 static int i2c_m_recv_len(const struct i2c_msg *msg) in i2c_m_recv_len() argument
222 return (msg->flags & I2C_M_RECV_LEN) != 0; in i2c_m_recv_len()
231 struct i2c_msg *msg = idev->msg; in axxia_i2c_empty_rx_fifo() local
233 int bytes_to_transfer = min(rx_fifo_avail, msg->len - idev->msg_xfrd); in axxia_i2c_empty_rx_fifo()
238 if (idev->msg_xfrd == 0 && i2c_m_recv_len(msg)) { in axxia_i2c_empty_rx_fifo()
248 msg->len = 1 + c; in axxia_i2c_empty_rx_fifo()
249 writel(msg->len, idev->base + MST_RX_XFER); in axxia_i2c_empty_rx_fifo()
251 msg->buf[idev->msg_xfrd++] = c; in axxia_i2c_empty_rx_fifo()
263 struct i2c_msg *msg = idev->msg; in axxia_i2c_fill_tx_fifo() local
265 int bytes_to_transfer = min(tx_fifo_avail, msg->len - idev->msg_xfrd); in axxia_i2c_fill_tx_fifo()
266 int ret = msg->len - idev->msg_xfrd - bytes_to_transfer; in axxia_i2c_fill_tx_fifo()
269 writel(msg->buf[idev->msg_xfrd++], idev->base + MST_DATA); in axxia_i2c_fill_tx_fifo()
285 if (!idev->msg) { in axxia_i2c_isr()
291 if (i2c_m_rd(idev->msg) && (status & MST_STATUS_RFL)) in axxia_i2c_isr()
295 if (!i2c_m_rd(idev->msg) && (status & MST_STATUS_TFL)) { in axxia_i2c_isr()
307 if (i2c_m_rd(idev->msg) && idev->msg_xfrd < idev->msg->len) in axxia_i2c_isr()
321 idev->msg->addr, in axxia_i2c_isr()
336 static int axxia_i2c_xfer_msg(struct axxia_i2c_dev *idev, struct i2c_msg *msg) in axxia_i2c_xfer_msg() argument
343 idev->msg = msg; in axxia_i2c_xfer_msg()
348 if (i2c_m_ten(msg)) { in axxia_i2c_xfer_msg()
353 addr_1 = 0xF0 | ((msg->addr >> 7) & 0x06); in axxia_i2c_xfer_msg()
354 addr_2 = msg->addr & 0xFF; in axxia_i2c_xfer_msg()
360 addr_1 = (msg->addr << 1) & 0xFF; in axxia_i2c_xfer_msg()
364 if (i2c_m_rd(msg)) { in axxia_i2c_xfer_msg()
366 rx_xfer = i2c_m_recv_len(msg) ? I2C_SMBUS_BLOCK_MAX : msg->len; in axxia_i2c_xfer_msg()
372 tx_xfer = msg->len; in axxia_i2c_xfer_msg()
380 if (i2c_m_rd(msg)) in axxia_i2c_xfer_msg()