Lines Matching refs:info

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