Lines Matching defs:xfer

141 	struct i3c_priv_xfer *xfer;
1125 struct svc_i3c_xfer *xfer;
1127 xfer = kzalloc(struct_size(xfer, cmds, ncmds), GFP_KERNEL);
1128 if (!xfer)
1131 INIT_LIST_HEAD(&xfer->node);
1132 xfer->ncmds = ncmds;
1133 xfer->ret = -ETIMEDOUT;
1135 return xfer;
1138 static void svc_i3c_master_free_xfer(struct svc_i3c_xfer *xfer)
1140 kfree(xfer);
1144 struct svc_i3c_xfer *xfer)
1146 if (master->xferqueue.cur == xfer)
1149 list_del_init(&xfer->node);
1153 struct svc_i3c_xfer *xfer)
1158 svc_i3c_master_dequeue_xfer_locked(master, xfer);
1164 struct svc_i3c_xfer *xfer = master->xferqueue.cur;
1167 if (!xfer)
1173 for (i = 0; i < xfer->ncmds; i++) {
1174 struct svc_i3c_cmd *cmd = &xfer->cmds[i];
1176 ret = svc_i3c_master_xfer(master, cmd->rnw, xfer->type,
1180 /* cmd->xfer is NULL if I2C or CCC transfer */
1181 if (cmd->xfer)
1182 cmd->xfer->actual_len = cmd->actual_len;
1188 xfer->ret = ret;
1189 complete(&xfer->comp);
1192 svc_i3c_master_dequeue_xfer_locked(master, xfer);
1194 xfer = list_first_entry_or_null(&master->xferqueue.list,
1197 if (xfer)
1198 list_del_init(&xfer->node);
1200 master->xferqueue.cur = xfer;
1205 struct svc_i3c_xfer *xfer)
1216 init_completion(&xfer->comp);
1219 list_add_tail(&xfer->node, &master->xferqueue.list);
1221 master->xferqueue.cur = xfer;
1242 struct svc_i3c_xfer *xfer;
1247 xfer = svc_i3c_master_alloc_xfer(master, 1);
1248 if (!xfer)
1253 svc_i3c_master_free_xfer(xfer);
1260 xfer->type = SVC_I3C_MCTRL_TYPE_I3C;
1262 cmd = &xfer->cmds[0];
1272 svc_i3c_master_enqueue_xfer(master, xfer);
1273 if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000)))
1274 svc_i3c_master_dequeue_xfer(master, xfer);
1277 ret = xfer->ret;
1279 svc_i3c_master_free_xfer(xfer);
1289 struct svc_i3c_xfer *xfer;
1293 xfer = svc_i3c_master_alloc_xfer(master, 2);
1294 if (!xfer)
1297 xfer->type = SVC_I3C_MCTRL_TYPE_I3C;
1300 cmd = &xfer->cmds[0];
1310 cmd = &xfer->cmds[1];
1320 svc_i3c_master_enqueue_xfer(master, xfer);
1321 if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000)))
1322 svc_i3c_master_dequeue_xfer(master, xfer);
1328 ret = xfer->ret;
1329 svc_i3c_master_free_xfer(xfer);
1359 struct svc_i3c_xfer *xfer;
1362 xfer = svc_i3c_master_alloc_xfer(master, nxfers);
1363 if (!xfer)
1366 xfer->type = SVC_I3C_MCTRL_TYPE_I3C;
1369 struct svc_i3c_cmd *cmd = &xfer->cmds[i];
1371 cmd->xfer = &xfers[i];
1382 svc_i3c_master_enqueue_xfer(master, xfer);
1383 if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000)))
1384 svc_i3c_master_dequeue_xfer(master, xfer);
1387 ret = xfer->ret;
1388 svc_i3c_master_free_xfer(xfer);
1400 struct svc_i3c_xfer *xfer;
1403 xfer = svc_i3c_master_alloc_xfer(master, nxfers);
1404 if (!xfer)
1407 xfer->type = SVC_I3C_MCTRL_TYPE_I2C;
1410 struct svc_i3c_cmd *cmd = &xfer->cmds[i];
1422 svc_i3c_master_enqueue_xfer(master, xfer);
1423 if (!wait_for_completion_timeout(&xfer->comp, msecs_to_jiffies(1000)))
1424 svc_i3c_master_dequeue_xfer(master, xfer);
1427 ret = xfer->ret;
1428 svc_i3c_master_free_xfer(xfer);