Lines Matching defs:rproc

98  * @rproc: rproc handler
116 struct rproc *rproc;
290 static int imx_dsp_rproc_ready(struct rproc *rproc)
292 struct imx_dsp_rproc *priv = rproc->priv;
315 static int imx_dsp_rproc_start(struct rproc *rproc)
317 struct imx_dsp_rproc *priv = rproc->priv;
320 struct device *dev = rproc->dev.parent;
334 rproc->bootaddr);
343 ret = imx_dsp_rproc_ready(rproc);
352 static int imx_dsp_rproc_stop(struct rproc *rproc)
354 struct imx_dsp_rproc *priv = rproc->priv;
357 struct device *dev = rproc->dev.parent;
360 if (rproc->state == RPROC_CRASHED) {
374 rproc->bootaddr);
442 struct rproc *rproc = priv->rproc;
444 mutex_lock(&rproc->lock);
446 if (rproc->state != RPROC_RUNNING)
449 rproc_vq_interrupt(priv->rproc, 0);
450 rproc_vq_interrupt(priv->rproc, 1);
453 mutex_unlock(&rproc->lock);
467 struct rproc *rproc = dev_get_drvdata(cl->dev);
468 struct imx_dsp_rproc *priv = rproc->priv;
469 struct device *dev = rproc->dev.parent;
497 struct rproc *rproc = dev_get_drvdata(cl->dev);
498 struct imx_dsp_rproc *priv = rproc->priv;
512 struct device *dev = priv->rproc->dev.parent;
592 * This function registers specified memory entry in @rproc carveouts list
599 struct rproc *rproc = priv->rproc;
600 struct device *dev = rproc->dev.parent;
630 rproc_coredump_add_segment(rproc, da, att->size);
634 rproc_add_carveout(rproc, mem);
670 rproc_coredump_add_segment(rproc, da, rmem->size);
676 rproc_add_carveout(rproc, mem);
683 static int imx_dsp_rproc_prepare(struct rproc *rproc)
685 struct imx_dsp_rproc *priv = rproc->priv;
686 struct device *dev = rproc->dev.parent;
702 list_for_each_entry(carveout, &rproc->carveouts, node) {
711 static int imx_dsp_rproc_unprepare(struct rproc *rproc)
713 pm_runtime_put_sync(rproc->dev.parent);
719 static void imx_dsp_rproc_kick(struct rproc *rproc, int vqid)
721 struct imx_dsp_rproc *priv = rproc->priv;
722 struct device *dev = rproc->dev.parent;
836 * @rproc: remote processor which will be booted using these fw segments
844 static int imx_dsp_rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw)
846 struct device *dev = &rproc->dev;
895 ptr = rproc_da_to_va(rproc, da, memsz, NULL);
927 static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw)
929 if (rproc_elf_load_rsc_table(rproc, fw))
930 dev_warn(&rproc->dev, "no resource table found for this firmware\n");
956 struct device *dev = priv->rproc->dev.parent;
1042 struct device *dev = priv->rproc->dev.parent;
1076 struct device *dev = priv->rproc->dev.parent;
1091 struct rproc *rproc;
1106 rproc = rproc_alloc(dev, "imx-dsp-rproc", &imx_dsp_rproc_ops, fw_name,
1108 if (!rproc)
1111 priv = rproc->priv;
1112 priv->rproc = rproc;
1120 dev_set_drvdata(dev, rproc);
1144 rproc->auto_boot = false;
1145 ret = rproc_add(rproc);
1158 rproc_free(rproc);
1165 struct rproc *rproc = platform_get_drvdata(pdev);
1166 struct imx_dsp_rproc *priv = rproc->priv;
1169 rproc_del(rproc);
1171 rproc_free(rproc);
1177 struct rproc *rproc = dev_get_drvdata(dev);
1178 struct imx_dsp_rproc *priv = rproc->priv;
1209 struct rproc *rproc = dev_get_drvdata(dev);
1210 struct imx_dsp_rproc *priv = rproc->priv;
1221 struct rproc *rproc = context;
1228 ret = rproc_load_segments(rproc, fw);
1233 ret = rproc->ops->start(rproc);
1237 rproc->ops->kick(rproc, 0);
1245 struct rproc *rproc = dev_get_drvdata(dev);
1246 struct imx_dsp_rproc *priv = rproc->priv;
1250 if (rproc->state != RPROC_RUNNING)
1280 struct rproc *rproc = dev_get_drvdata(dev);
1287 if (rproc->state != RPROC_RUNNING)
1296 rproc->firmware, dev, GFP_KERNEL,
1297 rproc, imx_dsp_load_firmware);
1329 .name = "imx-dsp-rproc",