Lines Matching full:rproc
91 * @rproc: rproc handler
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()
353 if (rproc->state == RPROC_CRASHED) { in imx_dsp_rproc_stop()
367 rproc->bootaddr); in imx_dsp_rproc_stop()
436 rproc_vq_interrupt(priv->rproc, 0); in imx_dsp_rproc_vq_work()
437 rproc_vq_interrupt(priv->rproc, 1); in imx_dsp_rproc_vq_work()
451 struct rproc *rproc = dev_get_drvdata(cl->dev); in imx_dsp_rproc_rx_tx_callback() local
452 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_rx_tx_callback()
453 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_rx_tx_callback()
481 struct rproc *rproc = dev_get_drvdata(cl->dev); in imx_dsp_rproc_rxdb_callback() local
482 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_rxdb_callback()
496 struct device *dev = priv->rproc->dev.parent; in imx_dsp_rproc_mbox_init()
568 * This function registers specified memory entry in @rproc carveouts list
575 struct rproc *rproc = priv->rproc; in imx_dsp_rproc_add_carveout() local
576 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_add_carveout()
606 rproc_coredump_add_segment(rproc, da, att->size); in imx_dsp_rproc_add_carveout()
610 rproc_add_carveout(rproc, mem); in imx_dsp_rproc_add_carveout()
642 rproc_coredump_add_segment(rproc, da, rmem->size); in imx_dsp_rproc_add_carveout()
646 rproc_add_carveout(rproc, mem); in imx_dsp_rproc_add_carveout()
653 static int imx_dsp_rproc_prepare(struct rproc *rproc) in imx_dsp_rproc_prepare() argument
655 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_prepare()
656 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_prepare()
672 list_for_each_entry(carveout, &rproc->carveouts, node) { in imx_dsp_rproc_prepare()
681 static int imx_dsp_rproc_unprepare(struct rproc *rproc) in imx_dsp_rproc_unprepare() argument
683 pm_runtime_put_sync(rproc->dev.parent); in imx_dsp_rproc_unprepare()
689 static void imx_dsp_rproc_kick(struct rproc *rproc, int vqid) in imx_dsp_rproc_kick() argument
691 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_kick()
692 struct device *dev = rproc->dev.parent; in imx_dsp_rproc_kick()
712 static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) in imx_dsp_rproc_parse_fw() argument
714 if (rproc_elf_load_rsc_table(rproc, fw)) in imx_dsp_rproc_parse_fw()
715 dev_warn(&rproc->dev, "no resource table found for this firmware\n"); in imx_dsp_rproc_parse_fw()
741 struct device *dev = priv->rproc->dev.parent; in imx_dsp_attach_pm_domains()
827 struct device *dev = priv->rproc->dev.parent; in imx_dsp_rproc_detect_mode()
861 struct device *dev = priv->rproc->dev.parent; in imx_dsp_rproc_clk_get()
876 struct rproc *rproc; in imx_dsp_rproc_probe() local
891 rproc = rproc_alloc(dev, "imx-dsp-rproc", &imx_dsp_rproc_ops, fw_name, in imx_dsp_rproc_probe()
893 if (!rproc) in imx_dsp_rproc_probe()
896 priv = rproc->priv; in imx_dsp_rproc_probe()
897 priv->rproc = rproc; in imx_dsp_rproc_probe()
900 dev_set_drvdata(dev, rproc); in imx_dsp_rproc_probe()
924 rproc->auto_boot = false; in imx_dsp_rproc_probe()
925 ret = rproc_add(rproc); in imx_dsp_rproc_probe()
938 rproc_free(rproc); in imx_dsp_rproc_probe()
945 struct rproc *rproc = platform_get_drvdata(pdev); in imx_dsp_rproc_remove() local
946 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_rproc_remove()
949 rproc_del(rproc); in imx_dsp_rproc_remove()
951 rproc_free(rproc); in imx_dsp_rproc_remove()
959 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_runtime_resume() local
960 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_runtime_resume()
991 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_runtime_suspend() local
992 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_runtime_suspend()
1003 struct rproc *rproc = context; in imx_dsp_load_firmware() local
1010 ret = rproc_load_segments(rproc, fw); in imx_dsp_load_firmware()
1015 ret = rproc->ops->start(rproc); in imx_dsp_load_firmware()
1019 rproc->ops->kick(rproc, 0); in imx_dsp_load_firmware()
1027 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_suspend() local
1028 struct imx_dsp_rproc *priv = rproc->priv; in imx_dsp_suspend()
1032 if (rproc->state != RPROC_RUNNING) in imx_dsp_suspend()
1062 struct rproc *rproc = dev_get_drvdata(dev); in imx_dsp_resume() local
1069 if (rproc->state != RPROC_RUNNING) in imx_dsp_resume()
1078 rproc->firmware, dev, GFP_KERNEL, in imx_dsp_resume()
1079 rproc, imx_dsp_load_firmware); in imx_dsp_resume()
1112 .name = "imx-dsp-rproc",