Lines Matching full:rproc
57 struct rproc *rproc = dev_get_drvdata(dev); in st_rproc_mbox_callback() local
59 if (rproc_vq_interrupt(rproc, msg) == IRQ_NONE) in st_rproc_mbox_callback()
75 static void st_rproc_kick(struct rproc *rproc, int vqid) in st_rproc_kick() argument
77 struct st_rproc *ddata = rproc->priv; in st_rproc_kick()
78 struct device *dev = rproc->dev.parent; in st_rproc_kick()
91 static int st_rproc_mem_alloc(struct rproc *rproc, in st_rproc_mem_alloc() argument
94 struct device *dev = rproc->dev.parent; in st_rproc_mem_alloc()
110 static int st_rproc_mem_release(struct rproc *rproc, in st_rproc_mem_release() argument
118 static int st_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) in st_rproc_parse_fw() argument
120 struct device *dev = rproc->dev.parent; in st_rproc_parse_fw()
158 rproc_add_carveout(rproc, mem); in st_rproc_parse_fw()
162 return rproc_elf_load_rsc_table(rproc, fw); in st_rproc_parse_fw()
165 static int st_rproc_start(struct rproc *rproc) in st_rproc_start() argument
167 struct st_rproc *ddata = rproc->priv; in st_rproc_start()
171 ddata->config->bootaddr_mask, rproc->bootaddr); in st_rproc_start()
175 dev_err(&rproc->dev, "Failed to enable clock\n"); in st_rproc_start()
182 dev_err(&rproc->dev, "Failed to deassert S/W Reset\n"); in st_rproc_start()
190 dev_err(&rproc->dev, "Failed to deassert Power Reset\n"); in st_rproc_start()
195 dev_info(&rproc->dev, "Started from 0x%llx\n", rproc->bootaddr); in st_rproc_start()
209 static int st_rproc_stop(struct rproc *rproc) in st_rproc_stop() argument
211 struct st_rproc *ddata = rproc->priv; in st_rproc_stop()
217 dev_err(&rproc->dev, "Failed to assert S/W Reset\n"); in st_rproc_stop()
223 dev_err(&rproc->dev, "Failed to assert Power Reset\n"); in st_rproc_stop()
247 struct rproc *rproc = platform_get_drvdata(pdev); in st_rproc_state() local
248 struct st_rproc *ddata = rproc->priv; in st_rproc_state()
276 { .compatible = "st,st40-rproc", .data = &st40_rproc_cfg },
277 { .compatible = "st,st231-rproc", .data = &st231_rproc_cfg },
285 struct rproc *rproc = platform_get_drvdata(pdev); in st_rproc_parse_dt() local
286 struct st_rproc *ddata = rproc->priv; in st_rproc_parse_dt()
345 struct rproc *rproc; in st_rproc_probe() local
350 rproc = rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata)); in st_rproc_probe()
351 if (!rproc) in st_rproc_probe()
354 rproc->has_iommu = false; in st_rproc_probe()
355 ddata = rproc->priv; in st_rproc_probe()
362 platform_set_drvdata(pdev, rproc); in st_rproc_probe()
375 atomic_inc(&rproc->power); in st_rproc_probe()
376 rproc->state = RPROC_RUNNING; in st_rproc_probe()
400 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); in st_rproc_probe()
408 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); in st_rproc_probe()
416 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); in st_rproc_probe()
424 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); in st_rproc_probe()
431 ret = rproc_add(rproc); in st_rproc_probe()
443 rproc_free(rproc); in st_rproc_probe()
449 struct rproc *rproc = platform_get_drvdata(pdev); in st_rproc_remove() local
450 struct st_rproc *ddata = rproc->priv; in st_rproc_remove()
453 rproc_del(rproc); in st_rproc_remove()
460 rproc_free(rproc); in st_rproc_remove()
467 .name = "st-rproc",