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()
126 dev_err(dev, "K3 DSP rproc %s crashed\n", name); in k3_dsp_rproc_mbox_callback()
135 if (msg > kproc->rproc->max_notifyid) { in k3_dsp_rproc_mbox_callback()
140 if (rproc_vq_interrupt(kproc->rproc, msg) == IRQ_NONE) in k3_dsp_rproc_mbox_callback()
151 static void k3_dsp_rproc_kick(struct rproc *rproc, int vqid) in k3_dsp_rproc_kick() argument
153 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_kick()
154 struct device *dev = rproc->dev.parent; in k3_dsp_rproc_kick()
219 static int k3_dsp_rproc_request_mbox(struct rproc *rproc) in k3_dsp_rproc_request_mbox() argument
221 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_request_mbox()
266 static int k3_dsp_rproc_prepare(struct rproc *rproc) in k3_dsp_rproc_prepare() argument
268 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_prepare()
290 static int k3_dsp_rproc_unprepare(struct rproc *rproc) in k3_dsp_rproc_unprepare() argument
292 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_unprepare()
307 * This function will be invoked only after the firmware for this rproc
311 static int k3_dsp_rproc_start(struct rproc *rproc) in k3_dsp_rproc_start() argument
313 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_start()
318 ret = k3_dsp_rproc_request_mbox(rproc); in k3_dsp_rproc_start()
322 boot_addr = rproc->bootaddr; in k3_dsp_rproc_start()
352 static int k3_dsp_rproc_stop(struct rproc *rproc) in k3_dsp_rproc_stop() argument
354 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_stop()
366 * This rproc attach callback only needs to request the mailbox, the remote
371 static int k3_dsp_rproc_attach(struct rproc *rproc) in k3_dsp_rproc_attach() argument
373 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_attach()
377 ret = k3_dsp_rproc_request_mbox(rproc); in k3_dsp_rproc_attach()
388 * This rproc detach callback performs the opposite operation to attach callback
393 static int k3_dsp_rproc_detach(struct rproc *rproc) in k3_dsp_rproc_detach() argument
395 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_detach()
413 static struct resource_table *k3_dsp_get_loaded_rsc_table(struct rproc *rproc, in k3_dsp_get_loaded_rsc_table() argument
416 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_get_loaded_rsc_table()
443 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
445 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_da_to_va()
679 struct rproc *rproc; in k3_dsp_rproc_probe() local
696 rproc = rproc_alloc(dev, dev_name(dev), &k3_dsp_rproc_ops, fw_name, in k3_dsp_rproc_probe()
698 if (!rproc) in k3_dsp_rproc_probe()
701 rproc->has_iommu = false; in k3_dsp_rproc_probe()
702 rproc->recovery_disabled = true; in k3_dsp_rproc_probe()
704 rproc->ops->prepare = k3_dsp_rproc_prepare; in k3_dsp_rproc_probe()
705 rproc->ops->unprepare = k3_dsp_rproc_unprepare; in k3_dsp_rproc_probe()
707 kproc = rproc->priv; in k3_dsp_rproc_probe()
708 kproc->rproc = rproc; in k3_dsp_rproc_probe()
771 rproc->state = RPROC_DETACHED; in k3_dsp_rproc_probe()
772 /* override rproc ops with only required IPC-only mode ops */ in k3_dsp_rproc_probe()
773 rproc->ops->prepare = NULL; in k3_dsp_rproc_probe()
774 rproc->ops->unprepare = NULL; in k3_dsp_rproc_probe()
775 rproc->ops->start = NULL; in k3_dsp_rproc_probe()
776 rproc->ops->stop = NULL; in k3_dsp_rproc_probe()
777 rproc->ops->attach = k3_dsp_rproc_attach; in k3_dsp_rproc_probe()
778 rproc->ops->detach = k3_dsp_rproc_detach; in k3_dsp_rproc_probe()
779 rproc->ops->get_loaded_rsc_table = k3_dsp_get_loaded_rsc_table; in k3_dsp_rproc_probe()
800 ret = rproc_add(rproc); in k3_dsp_rproc_probe()
824 rproc_free(rproc); in k3_dsp_rproc_probe()
831 struct rproc *rproc = kproc->rproc; in k3_dsp_rproc_remove() local
835 if (rproc->state == RPROC_ATTACHED) { in k3_dsp_rproc_remove()
836 ret = rproc_detach(rproc); in k3_dsp_rproc_remove()
843 rproc_del(kproc->rproc); in k3_dsp_rproc_remove()
856 rproc_free(kproc->rproc); in k3_dsp_rproc_remove()
899 .name = "k3-dsp-rproc",