Lines Matching refs:rproc

109 	struct rproc				*rproc;  member
280 static int imx_dsp_rproc_ready(struct rproc *rproc) in imx_dsp_rproc_ready() argument
282 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_ready()
305 static int imx_dsp_rproc_start(struct rproc *rproc) in imx_dsp_rproc_start() argument
307 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_start()
310 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_start()
324 rproc->bootaddr); in imx_dsp_rproc_start()
333 ret = imx_dsp_rproc_ready(rproc); in imx_dsp_rproc_start()
342 static int imx_dsp_rproc_stop(struct rproc *rproc) in imx_dsp_rproc_stop() argument
344 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_stop()
347 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_stop()
350 if (rproc->state == RPROC_CRASHED) { in imx_dsp_rproc_stop()
364 rproc->bootaddr); in imx_dsp_rproc_stop()
432 struct rproc *rproc = priv->rproc; in imx_dsp_rproc_vq_work() local
434 mutex_lock(&rproc->lock); in imx_dsp_rproc_vq_work()
436 if (rproc->state != RPROC_RUNNING) in imx_dsp_rproc_vq_work()
439 rproc_vq_interrupt(priv->rproc, 0); in imx_dsp_rproc_vq_work()
440 rproc_vq_interrupt(priv->rproc, 1); in imx_dsp_rproc_vq_work()
443 mutex_unlock(&rproc->lock); in imx_dsp_rproc_vq_work()
457 struct rproc *rproc = dev_get_drvdata(cl->dev); in imx_dsp_rproc_rx_tx_callback() local
458 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_rx_tx_callback()
459 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_rx_tx_callback()
487 struct rproc *rproc = dev_get_drvdata(cl->dev); in imx_dsp_rproc_rxdb_callback() local
488 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_rxdb_callback()
502 struct device *dev = priv->rproc->dev.parent; in imx_dsp_rproc_mbox_init()
581 struct rproc *rproc = priv->rproc; in imx_dsp_rproc_add_carveout() local
582 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_add_carveout()
612 rproc_coredump_add_segment(rproc, da, att->size); in imx_dsp_rproc_add_carveout()
616 rproc_add_carveout(rproc, mem); in imx_dsp_rproc_add_carveout()
648 rproc_coredump_add_segment(rproc, da, rmem->size); in imx_dsp_rproc_add_carveout()
652 rproc_add_carveout(rproc, mem); in imx_dsp_rproc_add_carveout()
659 static int imx_dsp_rproc_prepare(struct rproc *rproc) in imx_dsp_rproc_prepare() argument
661 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_prepare()
662 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_prepare()
678 list_for_each_entry(carveout, &rproc->carveouts, node) { in imx_dsp_rproc_prepare()
687 static int imx_dsp_rproc_unprepare(struct rproc *rproc) in imx_dsp_rproc_unprepare() argument
689 pm_runtime_put_sync(rproc->dev.parent); in imx_dsp_rproc_unprepare()
695 static void imx_dsp_rproc_kick(struct rproc *rproc, int vqid) in imx_dsp_rproc_kick() argument
697 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_kick()
698 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_kick()
718 static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) in imx_dsp_rproc_parse_fw() argument
720 if (rproc_elf_load_rsc_table(rproc, fw)) in imx_dsp_rproc_parse_fw()
721 dev_warn(&rproc->dev, "no resource table found for this firmware\n"); in imx_dsp_rproc_parse_fw()
747 struct device *dev = priv->rproc->dev.parent; in imx_dsp_attach_pm_domains()
833 struct device *dev = priv->rproc->dev.parent; in imx_dsp_rproc_detect_mode()
867 struct device *dev = priv->rproc->dev.parent; in imx_dsp_rproc_clk_get()
882 struct rproc *rproc; in imx_dsp_rproc_probe() local
897 rproc = rproc_alloc(dev, "imx-dsp-rproc", &imx_dsp_rproc_ops, fw_name, in imx_dsp_rproc_probe()
899 if (!rproc) in imx_dsp_rproc_probe()
902 priv = rproc->priv; in imx_dsp_rproc_probe()
903 priv->rproc = rproc; in imx_dsp_rproc_probe()
906 dev_set_drvdata(dev, rproc); in imx_dsp_rproc_probe()
930 rproc->auto_boot = false; in imx_dsp_rproc_probe()
931 ret = rproc_add(rproc); in imx_dsp_rproc_probe()
944 rproc_free(rproc); in imx_dsp_rproc_probe()
951 struct rproc *rproc = platform_get_drvdata(pdev); in imx_dsp_rproc_remove() local
952 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_remove()
955 rproc_del(rproc); in imx_dsp_rproc_remove()
957 rproc_free(rproc); in imx_dsp_rproc_remove()
965 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_runtime_resume() local
966 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_runtime_resume()
997 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_runtime_suspend() local
998 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_runtime_suspend()
1009 struct rproc *rproc = context; in imx_dsp_load_firmware() local
1016 ret = rproc_load_segments(rproc, fw); in imx_dsp_load_firmware()
1021 ret = rproc->ops->start(rproc); in imx_dsp_load_firmware()
1025 rproc->ops->kick(rproc, 0); in imx_dsp_load_firmware()
1033 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_suspend() local
1034 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_suspend()
1038 if (rproc->state != RPROC_RUNNING) in imx_dsp_suspend()
1068 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_resume() local
1075 if (rproc->state != RPROC_RUNNING) in imx_dsp_resume()
1084 rproc->firmware, dev, GFP_KERNEL, in imx_dsp_resume()
1085 rproc, imx_dsp_load_firmware); in imx_dsp_resume()