Lines Matching defs:info

218  * info: Data to copy in to Tx FIFO. For read commands, the size should be
221 static void iproc_i2c_write_trans_data(struct iproc_xact_info *info)
230 __func__, info->devaddr, info->cmd_valid, info->command,
231 info->size, info->smb_proto);
234 devaddr = (info->devaddr << 1);
241 switch (info->smb_proto) {
244 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
248 num_data_bytes = info->size;
249 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
256 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
260 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
265 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
271 num_data_bytes = info->size;
274 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
277 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
278 info->size);
279 num_data_bytes = info->size;
286 if (info->cmd_valid) {
287 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
288 info->command);
298 info->data[i] | SMB_MSTRWRSTS_MASK : info->data[i];
299 iproc_i2c_reg_write(info->bus_id, SMB_MSTRDATAWR_REG,
309 struct iproc_xact_info *info)
314 iproc_i2c_reg_write(info->bus_id, SMB_MSTRCMD_REG, mastercmd);
317 regval = iproc_i2c_reg_read(info->bus_id, SMB_MSTRCMD_REG);
325 regval = iproc_i2c_reg_read(info->bus_id, SMB_MSTRCMD_REG);
343 static int iproc_i2c_data_send(struct iproc_xact_info *info)
349 rc = iproc_i2c_startbusy_wait(info->bus_id);
356 iproc_i2c_write_trans_data(info);
362 mastercmd = (info->smb_proto << SMB_MSTRSMBUSPROTO_SHIFT) |
365 if (iproc_i2c_write_master_command(mastercmd, info)) {
376 static int iproc_i2c_data_recv(struct iproc_xact_info *info,
384 rc = iproc_i2c_startbusy_wait(info->bus_id);
392 iproc_i2c_write_trans_data(info);
398 mastercmd = (info->smb_proto << SMB_MSTRSMBUSPROTO_SHIFT) |
399 SMB_MSTRSTARTBUSYCMD_MASK | info->size;
401 if (iproc_i2c_write_master_command(mastercmd, info)) {
406 regval = iproc_i2c_reg_read(info->bus_id, SMB_MSTRDATARD_REG);
409 if (info->smb_proto == SMBUS_PROT_BLK_RD) {
422 regval = iproc_i2c_reg_read(info->bus_id,
424 info->data[i] = regval & SMB_MSTRRDDATA_MASK;
428 *info->data = regval & SMB_MSTRRDDATA_MASK;
462 static void iproc_i2c_fill_info(struct iproc_xact_info *info, uint32_t bus_id,
466 info->bus_id = bus_id;
467 info->devaddr = devaddr;
468 info->command = (uint8_t)cmd;
469 info->smb_proto = smb_proto;
470 info->data = value;
471 info->size = 1U;
472 info->flags = 0U;
473 info->cmd_valid = cmd_valid;
628 struct iproc_xact_info info;
631 iproc_i2c_fill_info(&info, bus_id, devaddr, 0U, value,
635 rc = iproc_i2c_data_recv(&info, &num_bytes_read);
663 struct iproc_xact_info info;
665 iproc_i2c_fill_info(&info, bus_id, devaddr, 0U, &value,
669 rc = iproc_i2c_data_send(&info);
686 struct iproc_xact_info info;
689 iproc_i2c_fill_info(&info, bus_id, devaddr, regoffset, value,
693 rc = iproc_i2c_data_recv(&info, &num_bytes_read);
757 struct iproc_xact_info info;
759 iproc_i2c_fill_info(&info, bus_id, devaddr, regoffset, &value,
763 rc = iproc_i2c_data_send(&info);