Lines Matching refs:f7_msg

326 	struct stm32f7_i2c_msg f7_msg;  member
743 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_write_tx_data() local
746 if (f7_msg->count) { in stm32f7_i2c_write_tx_data()
747 writeb_relaxed(*f7_msg->buf++, base + STM32F7_I2C_TXDR); in stm32f7_i2c_write_tx_data()
748 f7_msg->count--; in stm32f7_i2c_write_tx_data()
754 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_read_rx_data() local
757 if (f7_msg->count) { in stm32f7_i2c_read_rx_data()
758 *f7_msg->buf++ = readb_relaxed(base + STM32F7_I2C_RXDR); in stm32f7_i2c_read_rx_data()
759 f7_msg->count--; in stm32f7_i2c_read_rx_data()
768 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_reload() local
772 f7_msg->count -= STM32F7_I2C_MAX_LEN; in stm32f7_i2c_reload()
777 if (f7_msg->count > STM32F7_I2C_MAX_LEN) { in stm32f7_i2c_reload()
781 cr2 |= STM32F7_I2C_CR2_NBYTES(f7_msg->count); in stm32f7_i2c_reload()
789 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_smbus_reload() local
802 val = f7_msg->buf - sizeof(u8); in stm32f7_i2c_smbus_reload()
803 f7_msg->count = *val; in stm32f7_i2c_smbus_reload()
806 cr2 |= STM32F7_I2C_CR2_NBYTES(f7_msg->count); in stm32f7_i2c_smbus_reload()
850 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_xfer_msg() local
855 f7_msg->addr = msg->addr; in stm32f7_i2c_xfer_msg()
856 f7_msg->buf = msg->buf; in stm32f7_i2c_xfer_msg()
857 f7_msg->count = msg->len; in stm32f7_i2c_xfer_msg()
858 f7_msg->result = 0; in stm32f7_i2c_xfer_msg()
859 f7_msg->stop = (i2c_dev->msg_id >= i2c_dev->msg_num - 1); in stm32f7_i2c_xfer_msg()
875 cr2 |= STM32F7_I2C_CR2_SADD10(f7_msg->addr); in stm32f7_i2c_xfer_msg()
879 cr2 |= STM32F7_I2C_CR2_SADD7(f7_msg->addr); in stm32f7_i2c_xfer_msg()
884 if (f7_msg->count > STM32F7_I2C_MAX_LEN) { in stm32f7_i2c_xfer_msg()
888 cr2 |= STM32F7_I2C_CR2_NBYTES(f7_msg->count); in stm32f7_i2c_xfer_msg()
901 if (i2c_dev->dma && f7_msg->count >= STM32F7_I2C_DMA_LEN_MIN) { in stm32f7_i2c_xfer_msg()
904 f7_msg->count, f7_msg->buf, in stm32f7_i2c_xfer_msg()
939 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_smbus_xfer_msg() local
945 f7_msg->result = 0; in stm32f7_i2c_smbus_xfer_msg()
953 if (f7_msg->read_write) in stm32f7_i2c_smbus_xfer_msg()
958 cr2 |= STM32F7_I2C_CR2_SADD7(f7_msg->addr); in stm32f7_i2c_smbus_xfer_msg()
960 f7_msg->smbus_buf[0] = command; in stm32f7_i2c_smbus_xfer_msg()
961 switch (f7_msg->size) { in stm32f7_i2c_smbus_xfer_msg()
963 f7_msg->stop = true; in stm32f7_i2c_smbus_xfer_msg()
964 f7_msg->count = 0; in stm32f7_i2c_smbus_xfer_msg()
967 f7_msg->stop = true; in stm32f7_i2c_smbus_xfer_msg()
968 f7_msg->count = 1; in stm32f7_i2c_smbus_xfer_msg()
971 if (f7_msg->read_write) { in stm32f7_i2c_smbus_xfer_msg()
972 f7_msg->stop = false; in stm32f7_i2c_smbus_xfer_msg()
973 f7_msg->count = 1; in stm32f7_i2c_smbus_xfer_msg()
976 f7_msg->stop = true; in stm32f7_i2c_smbus_xfer_msg()
977 f7_msg->count = 2; in stm32f7_i2c_smbus_xfer_msg()
978 f7_msg->smbus_buf[1] = data->byte; in stm32f7_i2c_smbus_xfer_msg()
982 if (f7_msg->read_write) { in stm32f7_i2c_smbus_xfer_msg()
983 f7_msg->stop = false; in stm32f7_i2c_smbus_xfer_msg()
984 f7_msg->count = 1; in stm32f7_i2c_smbus_xfer_msg()
987 f7_msg->stop = true; in stm32f7_i2c_smbus_xfer_msg()
988 f7_msg->count = 3; in stm32f7_i2c_smbus_xfer_msg()
989 f7_msg->smbus_buf[1] = data->word & 0xff; in stm32f7_i2c_smbus_xfer_msg()
990 f7_msg->smbus_buf[2] = data->word >> 8; in stm32f7_i2c_smbus_xfer_msg()
994 if (f7_msg->read_write) { in stm32f7_i2c_smbus_xfer_msg()
995 f7_msg->stop = false; in stm32f7_i2c_smbus_xfer_msg()
996 f7_msg->count = 1; in stm32f7_i2c_smbus_xfer_msg()
999 f7_msg->stop = true; in stm32f7_i2c_smbus_xfer_msg()
1006 f7_msg->count = data->block[0] + 2; in stm32f7_i2c_smbus_xfer_msg()
1007 for (i = 1; i < f7_msg->count; i++) in stm32f7_i2c_smbus_xfer_msg()
1008 f7_msg->smbus_buf[i] = data->block[i - 1]; in stm32f7_i2c_smbus_xfer_msg()
1012 f7_msg->stop = false; in stm32f7_i2c_smbus_xfer_msg()
1013 f7_msg->count = 3; in stm32f7_i2c_smbus_xfer_msg()
1014 f7_msg->smbus_buf[1] = data->word & 0xff; in stm32f7_i2c_smbus_xfer_msg()
1015 f7_msg->smbus_buf[2] = data->word >> 8; in stm32f7_i2c_smbus_xfer_msg()
1017 f7_msg->read_write = I2C_SMBUS_READ; in stm32f7_i2c_smbus_xfer_msg()
1020 f7_msg->stop = false; in stm32f7_i2c_smbus_xfer_msg()
1026 f7_msg->count = data->block[0] + 2; in stm32f7_i2c_smbus_xfer_msg()
1027 for (i = 1; i < f7_msg->count; i++) in stm32f7_i2c_smbus_xfer_msg()
1028 f7_msg->smbus_buf[i] = data->block[i - 1]; in stm32f7_i2c_smbus_xfer_msg()
1030 f7_msg->read_write = I2C_SMBUS_READ; in stm32f7_i2c_smbus_xfer_msg()
1036 dev_err(dev, "Unsupported smbus protocol %d\n", f7_msg->size); in stm32f7_i2c_smbus_xfer_msg()
1040 f7_msg->buf = f7_msg->smbus_buf; in stm32f7_i2c_smbus_xfer_msg()
1043 if ((flags & I2C_CLIENT_PEC) && f7_msg->size != I2C_SMBUS_QUICK) { in stm32f7_i2c_smbus_xfer_msg()
1046 if (!f7_msg->read_write) in stm32f7_i2c_smbus_xfer_msg()
1047 f7_msg->count++; in stm32f7_i2c_smbus_xfer_msg()
1055 cr2 |= STM32F7_I2C_CR2_NBYTES(f7_msg->count); in stm32f7_i2c_smbus_xfer_msg()
1067 if (i2c_dev->dma && f7_msg->count >= STM32F7_I2C_DMA_LEN_MIN) { in stm32f7_i2c_smbus_xfer_msg()
1070 f7_msg->count, f7_msg->buf, in stm32f7_i2c_smbus_xfer_msg()
1105 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_smbus_rep_start() local
1116 switch (f7_msg->size) { in stm32f7_i2c_smbus_rep_start()
1118 f7_msg->count = 1; in stm32f7_i2c_smbus_rep_start()
1122 f7_msg->count = 2; in stm32f7_i2c_smbus_rep_start()
1126 f7_msg->count = 1; in stm32f7_i2c_smbus_rep_start()
1131 f7_msg->buf = f7_msg->smbus_buf; in stm32f7_i2c_smbus_rep_start()
1132 f7_msg->stop = true; in stm32f7_i2c_smbus_rep_start()
1136 f7_msg->count++; in stm32f7_i2c_smbus_rep_start()
1140 cr2 |= STM32F7_I2C_CR2_NBYTES(f7_msg->count); in stm32f7_i2c_smbus_rep_start()
1157 if (i2c_dev->dma && f7_msg->count >= STM32F7_I2C_DMA_LEN_MIN && in stm32f7_i2c_smbus_rep_start()
1158 f7_msg->size != I2C_SMBUS_BLOCK_DATA && in stm32f7_i2c_smbus_rep_start()
1159 f7_msg->size != I2C_SMBUS_BLOCK_PROC_CALL) { in stm32f7_i2c_smbus_rep_start()
1162 f7_msg->count, f7_msg->buf, in stm32f7_i2c_smbus_rep_start()
1187 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_smbus_check_pec() local
1192 switch (f7_msg->size) { in stm32f7_i2c_smbus_check_pec()
1195 received_pec = f7_msg->smbus_buf[1]; in stm32f7_i2c_smbus_check_pec()
1199 received_pec = f7_msg->smbus_buf[2]; in stm32f7_i2c_smbus_check_pec()
1203 count = f7_msg->smbus_buf[0]; in stm32f7_i2c_smbus_check_pec()
1204 received_pec = f7_msg->smbus_buf[count]; in stm32f7_i2c_smbus_check_pec()
1474 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_isr_event() local
1499 __func__, f7_msg->addr); in stm32f7_i2c_isr_event()
1505 f7_msg->result = -ENXIO; in stm32f7_i2c_isr_event()
1520 if (i2c_dev->use_dma && !f7_msg->result) { in stm32f7_i2c_isr_event()
1530 if (f7_msg->stop) { in stm32f7_i2c_isr_event()
1533 } else if (i2c_dev->use_dma && !f7_msg->result) { in stm32f7_i2c_isr_event()
1535 } else if (f7_msg->smbus) { in stm32f7_i2c_isr_event()
1545 if (f7_msg->smbus) in stm32f7_i2c_isr_event()
1557 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_isr_event_thread() local
1571 f7_msg->result = -ETIMEDOUT; in stm32f7_i2c_isr_event_thread()
1577 if (f7_msg->smbus) { in stm32f7_i2c_isr_event_thread()
1595 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_isr_error() local
1608 f7_msg->result = -EIO; in stm32f7_i2c_isr_error()
1615 f7_msg->result = -EAGAIN; in stm32f7_i2c_isr_error()
1621 f7_msg->result = -EINVAL; in stm32f7_i2c_isr_error()
1650 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_xfer() local
1658 f7_msg->smbus = false; in stm32f7_i2c_xfer()
1672 ret = f7_msg->result; in stm32f7_i2c_xfer()
1706 struct stm32f7_i2c_msg *f7_msg = &i2c_dev->f7_msg; in stm32f7_i2c_smbus_xfer() local
1712 f7_msg->addr = addr; in stm32f7_i2c_smbus_xfer()
1713 f7_msg->size = size; in stm32f7_i2c_smbus_xfer()
1714 f7_msg->read_write = read_write; in stm32f7_i2c_smbus_xfer()
1715 f7_msg->smbus = true; in stm32f7_i2c_smbus_xfer()
1731 ret = f7_msg->result; in stm32f7_i2c_smbus_xfer()
1744 dev_dbg(dev, "Access to slave 0x%x timed out\n", f7_msg->addr); in stm32f7_i2c_smbus_xfer()
1763 data->byte = f7_msg->smbus_buf[0]; in stm32f7_i2c_smbus_xfer()
1767 data->word = f7_msg->smbus_buf[0] | in stm32f7_i2c_smbus_xfer()
1768 (f7_msg->smbus_buf[1] << 8); in stm32f7_i2c_smbus_xfer()
1772 for (i = 0; i <= f7_msg->smbus_buf[0]; i++) in stm32f7_i2c_smbus_xfer()
1773 data->block[i] = f7_msg->smbus_buf[i]; in stm32f7_i2c_smbus_xfer()