Lines Matching refs:rproc

153 	struct rproc *rproc;  member
187 struct rproc *rproc = data; in event_notified_idr_cb() local
189 if (rproc_vq_interrupt(rproc, id) == IRQ_NONE) in event_notified_idr_cb()
190 dev_dbg(&rproc->dev, "data not found for vqid=%d\n", id); in event_notified_idr_cb()
204 struct rproc *rproc; in handle_event_notified() local
207 rproc = ipi->r5_core->rproc; in handle_event_notified()
216 idr_for_each(&rproc->notifyids, event_notified_idr_cb, rproc); in handle_event_notified()
326 static void zynqmp_r5_rproc_kick(struct rproc *rproc, int vqid) in zynqmp_r5_rproc_kick() argument
328 struct zynqmp_r5_core *r5_core = rproc->priv; in zynqmp_r5_rproc_kick()
354 static int zynqmp_r5_rproc_start(struct rproc *rproc) in zynqmp_r5_rproc_start() argument
356 struct zynqmp_r5_core *r5_core = rproc->priv; in zynqmp_r5_rproc_start()
377 bootmem = (rproc->bootaddr >= 0xFFFC0000) ? in zynqmp_r5_rproc_start()
380 dev_dbg(r5_core->dev, "RPU boot addr 0x%llx from %s.", rproc->bootaddr, in zynqmp_r5_rproc_start()
411 static int zynqmp_r5_rproc_stop(struct rproc *rproc) in zynqmp_r5_rproc_stop() argument
413 struct zynqmp_r5_core *r5_core = rproc->priv; in zynqmp_r5_rproc_stop()
453 static int zynqmp_r5_mem_region_map(struct rproc *rproc, in zynqmp_r5_mem_region_map() argument
476 static int zynqmp_r5_mem_region_unmap(struct rproc *rproc, in zynqmp_r5_mem_region_unmap() argument
491 static int add_mem_regions_carveout(struct rproc *rproc) in add_mem_regions_carveout() argument
499 r5_core = rproc->priv; in add_mem_regions_carveout()
508 dev_err(&rproc->dev, "unable to acquire memory-region\n"); in add_mem_regions_carveout()
514 rproc_mem = rproc_of_resm_mem_entry_init(&rproc->dev, i, in add_mem_regions_carveout()
520 rproc_mem = rproc_mem_entry_init(&rproc->dev, NULL, in add_mem_regions_carveout()
533 rproc_add_carveout(rproc, rproc_mem); in add_mem_regions_carveout()
534 rproc_coredump_add_segment(rproc, rmem->base, rmem->size); in add_mem_regions_carveout()
536 dev_dbg(&rproc->dev, "reserved mem carveout %s addr=%llx, size=0x%llx", in add_mem_regions_carveout()
544 static int add_sram_carveouts(struct rproc *rproc) in add_sram_carveouts() argument
546 struct zynqmp_r5_core *r5_core = rproc->priv; in add_sram_carveouts()
561 rproc_mem = rproc_mem_entry_init(&rproc->dev, NULL, in add_sram_carveouts()
568 dev_err(&rproc->dev, "failed to add sram %s da=0x%x, size=0x%lx", in add_sram_carveouts()
573 rproc_add_carveout(rproc, rproc_mem); in add_sram_carveouts()
574 rproc_coredump_add_segment(rproc, da, len); in add_sram_carveouts()
576 dev_dbg(&rproc->dev, "sram carveout %s addr=%llx, da=0x%x, size=0x%lx", in add_sram_carveouts()
592 static int tcm_mem_unmap(struct rproc *rproc, struct rproc_mem_entry *mem) in tcm_mem_unmap() argument
609 static int tcm_mem_map(struct rproc *rproc, in tcm_mem_map() argument
635 static int add_tcm_banks(struct rproc *rproc) in add_tcm_banks() argument
647 r5_core = rproc->priv; in add_tcm_banks()
679 if (rproc->state == RPROC_DETACHED) in add_tcm_banks()
692 rproc_add_carveout(rproc, rproc_mem); in add_tcm_banks()
693 rproc_coredump_add_segment(rproc, da, bank_size); in add_tcm_banks()
716 static int zynqmp_r5_parse_fw(struct rproc *rproc, const struct firmware *fw) in zynqmp_r5_parse_fw() argument
720 ret = rproc_elf_load_rsc_table(rproc, fw); in zynqmp_r5_parse_fw()
728 dev_info(&rproc->dev, "no resource table found.\n"); in zynqmp_r5_parse_fw()
742 static int zynqmp_r5_rproc_prepare(struct rproc *rproc) in zynqmp_r5_rproc_prepare() argument
746 ret = add_tcm_banks(rproc); in zynqmp_r5_rproc_prepare()
748 dev_err(&rproc->dev, "failed to get TCM banks, err %d\n", ret); in zynqmp_r5_rproc_prepare()
752 ret = add_mem_regions_carveout(rproc); in zynqmp_r5_rproc_prepare()
754 dev_err(&rproc->dev, "failed to get reserve mem regions %d\n", ret); in zynqmp_r5_rproc_prepare()
758 ret = add_sram_carveouts(rproc); in zynqmp_r5_rproc_prepare()
760 dev_err(&rproc->dev, "failed to get sram carveout %d\n", ret); in zynqmp_r5_rproc_prepare()
775 static int zynqmp_r5_rproc_unprepare(struct rproc *rproc) in zynqmp_r5_rproc_unprepare() argument
781 r5_core = rproc->priv; in zynqmp_r5_rproc_unprepare()
793 static struct resource_table *zynqmp_r5_get_loaded_rsc_table(struct rproc *rproc, in zynqmp_r5_get_loaded_rsc_table() argument
798 r5_core = rproc->priv; in zynqmp_r5_get_loaded_rsc_table()
875 static int zynqmp_r5_attach(struct rproc *rproc) in zynqmp_r5_attach() argument
877 dev_dbg(&rproc->dev, "rproc %d attached\n", rproc->index); in zynqmp_r5_attach()
882 static int zynqmp_r5_detach(struct rproc *rproc) in zynqmp_r5_detach() argument
889 zynqmp_r5_rproc_kick(rproc, 0); in zynqmp_r5_detach()
922 struct rproc *r5_rproc; in zynqmp_r5_add_rproc_core()
970 r5_core->rproc = r5_rproc; in zynqmp_r5_add_rproc_core()
1436 rproc_del(r5_cores[i]->rproc); in zynqmp_r5_cluster_init()
1437 rproc_free(r5_cores[i]->rproc); in zynqmp_r5_cluster_init()
1463 rproc_del(r5_core->rproc); in zynqmp_r5_cluster_exit()
1464 rproc_free(r5_core->rproc); in zynqmp_r5_cluster_exit()
1485 struct rproc *rproc; in zynqmp_r5_remoteproc_shutdown() local
1492 rproc = r5_core->rproc; in zynqmp_r5_remoteproc_shutdown()
1494 if (rproc->state == RPROC_RUNNING) { in zynqmp_r5_remoteproc_shutdown()
1495 ret = rproc_shutdown(rproc); in zynqmp_r5_remoteproc_shutdown()
1497 } else if (rproc->state == RPROC_ATTACHED) { in zynqmp_r5_remoteproc_shutdown()
1498 ret = rproc_detach(rproc); in zynqmp_r5_remoteproc_shutdown()
1506 rproc_state_str, rproc->index); in zynqmp_r5_remoteproc_shutdown()