Lines Matching full:rproc

67  * @rproc: remoteproc device handle
82 struct rproc *rproc; member
114 struct device *dev = kproc->rproc->dev.parent; in k3_dsp_rproc_mbox_callback()
115 const char *name = kproc->rproc->name; in k3_dsp_rproc_mbox_callback()
119 if (kproc->rproc->state == RPROC_DETACHED) in k3_dsp_rproc_mbox_callback()
130 dev_err(dev, "K3 DSP rproc %s crashed\n", name); in k3_dsp_rproc_mbox_callback()
139 if (msg > kproc->rproc->max_notifyid) { in k3_dsp_rproc_mbox_callback()
144 if (rproc_vq_interrupt(kproc->rproc, msg) == IRQ_NONE) in k3_dsp_rproc_mbox_callback()
155 static void k3_dsp_rproc_kick(struct rproc *rproc, int vqid) in k3_dsp_rproc_kick() argument
157 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_kick()
158 struct device *dev = rproc->dev.parent; in k3_dsp_rproc_kick()
163 if (kproc->rproc->state == RPROC_DETACHED) in k3_dsp_rproc_kick()
227 static int k3_dsp_rproc_request_mbox(struct rproc *rproc) in k3_dsp_rproc_request_mbox() argument
229 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_request_mbox()
271 static int k3_dsp_rproc_prepare(struct rproc *rproc) in k3_dsp_rproc_prepare() argument
273 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_prepare()
295 static int k3_dsp_rproc_unprepare(struct rproc *rproc) in k3_dsp_rproc_unprepare() argument
297 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_unprepare()
312 * This function will be invoked only after the firmware for this rproc
316 static int k3_dsp_rproc_start(struct rproc *rproc) in k3_dsp_rproc_start() argument
318 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_start()
323 boot_addr = rproc->bootaddr; in k3_dsp_rproc_start()
348 static int k3_dsp_rproc_stop(struct rproc *rproc) in k3_dsp_rproc_stop() argument
350 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_stop()
360 * This rproc attach callback is a NOP. The remote processor is already booted,
366 static int k3_dsp_rproc_attach(struct rproc *rproc) { return 0; } in k3_dsp_rproc_attach() argument
371 * This rproc detach callback is a NOP. The DSP core is not stopped and will be
375 static int k3_dsp_rproc_detach(struct rproc *rproc) { return 0; } in k3_dsp_rproc_detach() argument
387 static struct resource_table *k3_dsp_get_loaded_rsc_table(struct rproc *rproc, in k3_dsp_get_loaded_rsc_table() argument
390 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_get_loaded_rsc_table()
417 static void *k3_dsp_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in k3_dsp_rproc_da_to_va() argument
419 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_da_to_va()
617 struct rproc *rproc; in k3_dsp_rproc_probe() local
630 rproc = devm_rproc_alloc(dev, dev_name(dev), &k3_dsp_rproc_ops, in k3_dsp_rproc_probe()
632 if (!rproc) in k3_dsp_rproc_probe()
635 rproc->has_iommu = false; in k3_dsp_rproc_probe()
636 rproc->recovery_disabled = true; in k3_dsp_rproc_probe()
638 rproc->ops->prepare = k3_dsp_rproc_prepare; in k3_dsp_rproc_probe()
639 rproc->ops->unprepare = k3_dsp_rproc_unprepare; in k3_dsp_rproc_probe()
641 kproc = rproc->priv; in k3_dsp_rproc_probe()
642 kproc->rproc = rproc; in k3_dsp_rproc_probe()
646 ret = k3_dsp_rproc_request_mbox(rproc); in k3_dsp_rproc_probe()
694 rproc->state = RPROC_DETACHED; in k3_dsp_rproc_probe()
695 /* override rproc ops with only required IPC-only mode ops */ in k3_dsp_rproc_probe()
696 rproc->ops->prepare = NULL; in k3_dsp_rproc_probe()
697 rproc->ops->unprepare = NULL; in k3_dsp_rproc_probe()
698 rproc->ops->start = NULL; in k3_dsp_rproc_probe()
699 rproc->ops->stop = NULL; in k3_dsp_rproc_probe()
700 rproc->ops->attach = k3_dsp_rproc_attach; in k3_dsp_rproc_probe()
701 rproc->ops->detach = k3_dsp_rproc_detach; in k3_dsp_rproc_probe()
702 rproc->ops->get_loaded_rsc_table = k3_dsp_get_loaded_rsc_table; in k3_dsp_rproc_probe()
721 ret = devm_rproc_add(dev, rproc); in k3_dsp_rproc_probe()
733 struct rproc *rproc = kproc->rproc; in k3_dsp_rproc_remove() local
737 if (rproc->state == RPROC_ATTACHED) { in k3_dsp_rproc_remove()
738 ret = rproc_detach(rproc); in k3_dsp_rproc_remove()
796 .name = "k3-dsp-rproc",