Lines Matching defs:rproc
92 * @rproc: rproc handle
101 struct rproc *rproc;
123 * @id: rproc->notify id
134 struct rproc *rproc = data;
136 if (rproc_vq_interrupt(rproc, id) == IRQ_NONE)
137 dev_dbg(&rproc->dev, "data not found for vqid=%d\n", id);
151 struct rproc *rproc;
154 rproc = ipi->r5_core->rproc;
163 idr_for_each(&rproc->notifyids, event_notified_idr_cb, rproc);
270 * @rproc: r5 core's corresponding rproc structure
273 static void zynqmp_r5_rproc_kick(struct rproc *rproc, int vqid)
275 struct zynqmp_r5_core *r5_core = rproc->priv;
325 * @rproc: single R5 core's corresponding rproc instance
331 static int zynqmp_r5_rproc_start(struct rproc *rproc)
333 struct zynqmp_r5_core *r5_core = rproc->priv;
354 bootmem = (rproc->bootaddr >= 0xFFFC0000) ?
357 dev_dbg(r5_core->dev, "RPU boot addr 0x%llx from %s.", rproc->bootaddr,
370 * @rproc: single R5 core's corresponding rproc instance
376 static int zynqmp_r5_rproc_stop(struct rproc *rproc)
378 struct zynqmp_r5_core *r5_core = rproc->priv;
391 * @rproc: single R5 core's corresponding rproc instance
398 static int zynqmp_r5_mem_region_map(struct rproc *rproc,
414 * @rproc: single R5 core's corresponding rproc instance
421 static int zynqmp_r5_mem_region_unmap(struct rproc *rproc,
430 * @rproc: single R5 core's corresponding rproc instance
432 * Construct rproc mem carveouts from memory-region property nodes
436 static int add_mem_regions_carveout(struct rproc *rproc)
444 r5_core = rproc->priv;
453 dev_err(&rproc->dev, "unable to acquire memory-region\n");
459 rproc_mem = rproc_of_resm_mem_entry_init(&rproc->dev, i,
465 rproc_mem = rproc_mem_entry_init(&rproc->dev, NULL,
478 rproc_add_carveout(rproc, rproc_mem);
480 dev_dbg(&rproc->dev, "reserved mem carveout %s addr=%llx, size=0x%llx",
490 * @rproc: single R5 core's corresponding rproc instance
497 static int tcm_mem_unmap(struct rproc *rproc, struct rproc_mem_entry *mem)
506 * @rproc: single R5 core's corresponding rproc instance
514 static int tcm_mem_map(struct rproc *rproc,
550 dev_err(&rproc->dev, "invalid TCM address: %x\n", mem->da);
558 * @rproc: single R5 core's corresponding rproc instance
564 static int add_tcm_carveout_split_mode(struct rproc *rproc)
575 r5_core = rproc->priv;
611 rproc_add_carveout(rproc, rproc_mem);
627 * @rproc: single R5 core's corresponding rproc instance
633 static int add_tcm_carveout_lockstep_mode(struct rproc *rproc)
644 r5_core = rproc->priv;
687 rproc_add_carveout(rproc, rproc_mem);
702 * @rproc: single R5 core's corresponding rproc instance
708 static int add_tcm_banks(struct rproc *rproc)
714 r5_core = rproc->priv;
732 return add_tcm_carveout_split_mode(rproc);
734 return add_tcm_carveout_lockstep_mode(rproc);
741 * @rproc: single R5 core's corresponding rproc instance
748 static int zynqmp_r5_parse_fw(struct rproc *rproc, const struct firmware *fw)
752 ret = rproc_elf_load_rsc_table(rproc, fw);
760 dev_info(&rproc->dev, "no resource table found.\n");
770 * @rproc: Device node of each rproc
774 static int zynqmp_r5_rproc_prepare(struct rproc *rproc)
778 ret = add_tcm_banks(rproc);
780 dev_err(&rproc->dev, "failed to get TCM banks, err %d\n", ret);
784 ret = add_mem_regions_carveout(rproc);
786 dev_err(&rproc->dev, "failed to get reserve mem regions %d\n", ret);
797 * @rproc: Device node of each rproc
801 static int zynqmp_r5_rproc_unprepare(struct rproc *rproc)
807 r5_core = rproc->priv;
834 * Allocate and add struct rproc object for each r5f core
844 struct rproc *r5_rproc;
857 dev_err(cdev, "failed to allocate memory for rproc instance\n");
878 r5_core->rproc = r5_rproc;
1076 /* create and add remoteproc instance of type struct rproc */
1118 * at this point rproc resources for each core are allocated.
1134 rproc_del(r5_cores[i]->rproc);
1135 rproc_free(r5_cores[i]->rproc);
1160 rproc_del(r5_core->rproc);
1161 rproc_free(r5_core->rproc);