Lines Matching defs:rproc
119 * @rproc: rproc handle representing this core
135 struct rproc *rproc;
155 * @rproc: rproc handle
165 struct rproc *rproc;
189 struct device *dev = kproc->rproc->dev.parent;
190 const char *name = kproc->rproc->name;
201 dev_err(dev, "K3 R5F rproc %s crashed\n", name);
210 if (msg > kproc->rproc->max_notifyid) {
215 if (rproc_vq_interrupt(kproc->rproc, msg) == IRQ_NONE)
221 static void k3_r5_rproc_kick(struct rproc *rproc, int vqid)
223 struct k3_r5_rproc *kproc = rproc->priv;
224 struct device *dev = rproc->dev.parent;
384 static int k3_r5_rproc_request_mbox(struct rproc *rproc)
386 struct k3_r5_rproc *kproc = rproc->priv;
438 static int k3_r5_rproc_prepare(struct rproc *rproc)
440 struct k3_r5_rproc *kproc = rproc->priv;
492 * resets on all applicable cores for the rproc device (depending on LockStep
505 static int k3_r5_rproc_unprepare(struct rproc *rproc)
507 struct k3_r5_rproc *kproc = rproc->priv;
540 static int k3_r5_rproc_start(struct rproc *rproc)
542 struct k3_r5_rproc *kproc = rproc->priv;
549 ret = k3_r5_rproc_request_mbox(rproc);
553 boot_addr = rproc->bootaddr;
612 static int k3_r5_rproc_stop(struct rproc *rproc)
614 struct k3_r5_rproc *kproc = rproc->priv;
655 static int k3_r5_rproc_attach(struct rproc *rproc)
657 struct k3_r5_rproc *kproc = rproc->priv;
661 ret = k3_r5_rproc_request_mbox(rproc);
677 static int k3_r5_rproc_detach(struct rproc *rproc)
679 struct k3_r5_rproc *kproc = rproc->priv;
697 static struct resource_table *k3_r5_get_loaded_rsc_table(struct rproc *rproc,
700 struct k3_r5_rproc *kproc = rproc->priv;
722 * Custom function implementing the rproc .da_to_va ops to provide address
727 static void *k3_r5_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem)
729 struct k3_r5_rproc *kproc = rproc->priv;
1171 kproc->rproc->state = RPROC_DETACHED;
1173 /* override rproc ops with only required IPC-only mode ops */
1174 kproc->rproc->ops->prepare = NULL;
1175 kproc->rproc->ops->unprepare = NULL;
1176 kproc->rproc->ops->start = NULL;
1177 kproc->rproc->ops->stop = NULL;
1178 kproc->rproc->ops->attach = k3_r5_rproc_attach;
1179 kproc->rproc->ops->detach = k3_r5_rproc_detach;
1180 kproc->rproc->ops->get_loaded_rsc_table =
1215 struct rproc *rproc;
1228 rproc = rproc_alloc(cdev, dev_name(cdev), &k3_r5_rproc_ops,
1230 if (!rproc) {
1236 rproc->has_iommu = false;
1238 rproc->recovery_disabled = true;
1240 kproc = rproc->priv;
1244 kproc->rproc = rproc;
1245 core->rproc = rproc;
1270 ret = rproc_add(rproc);
1276 /* create only one rproc in lockstep, single-cpu or
1288 if (rproc->state == RPROC_ATTACHED) {
1289 ret1 = rproc_detach(rproc);
1291 dev_err(kproc->dev, "failed to detach rproc, ret = %d\n",
1297 rproc_del(rproc);
1301 rproc_free(rproc);
1302 core->rproc = NULL;
1307 rproc = core->rproc;
1308 kproc = rproc->priv;
1319 struct rproc *rproc;
1323 * lockstep mode and single-cpu modes have only one rproc associated
1333 rproc = core->rproc;
1334 kproc = rproc->priv;
1336 if (rproc->state == RPROC_ATTACHED) {
1337 ret = rproc_detach(rproc);
1339 dev_err(kproc->dev, "failed to detach rproc, ret = %d\n", ret);
1344 rproc_del(rproc);
1348 rproc_free(rproc);
1349 core->rproc = NULL;