Lines Matching full:rproc
58 struct rproc *rproc = dev_get_drvdata(dev); in st_rproc_mbox_callback() local
60 if (rproc_vq_interrupt(rproc, msg) == IRQ_NONE) in st_rproc_mbox_callback()
76 static void st_rproc_kick(struct rproc *rproc, int vqid) in st_rproc_kick() argument
78 struct st_rproc *ddata = rproc->priv; in st_rproc_kick()
79 struct device *dev = rproc->dev.parent; in st_rproc_kick()
92 static int st_rproc_mem_alloc(struct rproc *rproc, in st_rproc_mem_alloc() argument
95 struct device *dev = rproc->dev.parent; in st_rproc_mem_alloc()
111 static int st_rproc_mem_release(struct rproc *rproc, in st_rproc_mem_release() argument
119 static int st_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) in st_rproc_parse_fw() argument
121 struct device *dev = rproc->dev.parent; in st_rproc_parse_fw()
156 rproc_add_carveout(rproc, mem); in st_rproc_parse_fw()
160 return rproc_elf_load_rsc_table(rproc, fw); in st_rproc_parse_fw()
163 static int st_rproc_start(struct rproc *rproc) in st_rproc_start() argument
165 struct st_rproc *ddata = rproc->priv; in st_rproc_start()
169 ddata->config->bootaddr_mask, rproc->bootaddr); in st_rproc_start()
173 dev_err(&rproc->dev, "Failed to enable clock\n"); in st_rproc_start()
180 dev_err(&rproc->dev, "Failed to deassert S/W Reset\n"); in st_rproc_start()
188 dev_err(&rproc->dev, "Failed to deassert Power Reset\n"); in st_rproc_start()
193 dev_info(&rproc->dev, "Started from 0x%llx\n", rproc->bootaddr); in st_rproc_start()
207 static int st_rproc_stop(struct rproc *rproc) in st_rproc_stop() argument
209 struct st_rproc *ddata = rproc->priv; in st_rproc_stop()
215 dev_err(&rproc->dev, "Failed to assert S/W Reset\n"); in st_rproc_stop()
221 dev_err(&rproc->dev, "Failed to assert Power Reset\n"); in st_rproc_stop()
245 struct rproc *rproc = platform_get_drvdata(pdev); in st_rproc_state() local
246 struct st_rproc *ddata = rproc->priv; in st_rproc_state()
274 { .compatible = "st,st40-rproc", .data = &st40_rproc_cfg },
275 { .compatible = "st,st231-rproc", .data = &st231_rproc_cfg },
283 struct rproc *rproc = platform_get_drvdata(pdev); in st_rproc_parse_dt() local
284 struct st_rproc *ddata = rproc->priv; in st_rproc_parse_dt()
344 struct rproc *rproc; in st_rproc_probe() local
355 rproc = rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata)); in st_rproc_probe()
356 if (!rproc) in st_rproc_probe()
359 rproc->has_iommu = false; in st_rproc_probe()
360 ddata = rproc->priv; in st_rproc_probe()
363 platform_set_drvdata(pdev, rproc); in st_rproc_probe()
376 atomic_inc(&rproc->power); in st_rproc_probe()
377 rproc->state = RPROC_RUNNING; in st_rproc_probe()
401 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); in st_rproc_probe()
409 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); in st_rproc_probe()
417 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); in st_rproc_probe()
425 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); in st_rproc_probe()
432 ret = rproc_add(rproc); in st_rproc_probe()
444 rproc_free(rproc); in st_rproc_probe()
450 struct rproc *rproc = platform_get_drvdata(pdev); in st_rproc_remove() local
451 struct st_rproc *ddata = rproc->priv; in st_rproc_remove()
454 rproc_del(rproc); in st_rproc_remove()
461 rproc_free(rproc); in st_rproc_remove()
470 .name = "st-rproc",