Home
last modified time | relevance | path

Searched refs:rproc (Results 1 – 21 of 21) sorted by relevance

/drivers/remoteproc/
Dremoteproc_core.c50 typedef int (*rproc_handle_resources_t)(struct rproc *rproc,
52 typedef int (*rproc_handle_resource_t)(struct rproc *rproc,
83 struct rproc *rproc = token; in rproc_iommu_fault() local
87 rproc_report_crash(rproc, RPROC_MMUFAULT); in rproc_iommu_fault()
96 static int rproc_enable_iommu(struct rproc *rproc) in rproc_enable_iommu() argument
99 struct device *dev = rproc->dev.parent; in rproc_enable_iommu()
102 if (!rproc->has_iommu) { in rproc_enable_iommu()
113 iommu_set_fault_handler(domain, rproc_iommu_fault, rproc); in rproc_enable_iommu()
121 rproc->domain = domain; in rproc_enable_iommu()
130 static void rproc_disable_iommu(struct rproc *rproc) in rproc_disable_iommu() argument
[all …]
Dremoteproc_internal.h26 struct rproc;
38 struct resource_table *(*find_rsc_table)(struct rproc *rproc,
42 struct rproc *rproc, const struct firmware *fw);
43 int (*load)(struct rproc *rproc, const struct firmware *fw);
44 int (*sanity_check)(struct rproc *rproc, const struct firmware *fw);
45 u32 (*get_boot_addr)(struct rproc *rproc, const struct firmware *fw);
50 irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id);
59 struct dentry *rproc_create_trace_file(const char *name, struct rproc *rproc,
61 void rproc_delete_debug_dir(struct rproc *rproc);
62 void rproc_create_debug_dir(struct rproc *rproc);
[all …]
Domap_remoteproc.c47 struct rproc *rproc; member
68 struct device *dev = oproc->rproc->dev.parent; in omap_rproc_mbox_callback()
69 const char *name = oproc->rproc->name; in omap_rproc_mbox_callback()
84 if (rproc_vq_interrupt(oproc->rproc, msg) == IRQ_NONE) in omap_rproc_mbox_callback()
90 static void omap_rproc_kick(struct rproc *rproc, int vqid) in omap_rproc_kick() argument
92 struct omap_rproc *oproc = rproc->priv; in omap_rproc_kick()
93 struct device *dev = rproc->dev.parent; in omap_rproc_kick()
110 static int omap_rproc_start(struct rproc *rproc) in omap_rproc_start() argument
112 struct omap_rproc *oproc = rproc->priv; in omap_rproc_start()
113 struct device *dev = rproc->dev.parent; in omap_rproc_start()
[all …]
Dremoteproc_debugfs.c66 struct rproc *rproc = filp->private_data; in rproc_name_read() local
71 i = scnprintf(buf, sizeof(buf), "%.98s\n", rproc->name); in rproc_name_read()
86 struct rproc *rproc = filp->private_data; in rproc_recovery_read() local
87 char *buf = rproc->recovery_disabled ? "disabled\n" : "enabled\n"; in rproc_recovery_read()
120 struct rproc *rproc = filp->private_data; in rproc_recovery_write() local
136 rproc->recovery_disabled = false; in rproc_recovery_write()
138 if (rproc->state == RPROC_CRASHED) in rproc_recovery_write()
139 rproc_trigger_recovery(rproc); in rproc_recovery_write()
141 rproc->recovery_disabled = true; in rproc_recovery_write()
144 if (rproc->state == RPROC_CRASHED) in rproc_recovery_write()
[all …]
Dst_remoteproc.c60 struct rproc *rproc = dev_get_drvdata(dev); in st_rproc_mbox_callback() local
62 if (rproc_vq_interrupt(rproc, msg) == IRQ_NONE) in st_rproc_mbox_callback()
78 static void st_rproc_kick(struct rproc *rproc, int vqid) in st_rproc_kick() argument
80 struct st_rproc *ddata = rproc->priv; in st_rproc_kick()
81 struct device *dev = rproc->dev.parent; in st_rproc_kick()
94 static int st_rproc_start(struct rproc *rproc) in st_rproc_start() argument
96 struct st_rproc *ddata = rproc->priv; in st_rproc_start()
100 ddata->config->bootaddr_mask, rproc->bootaddr); in st_rproc_start()
104 dev_err(&rproc->dev, "Failed to enable clock\n"); in st_rproc_start()
111 dev_err(&rproc->dev, "Failed to deassert S/W Reset\n"); in st_rproc_start()
[all …]
Dda8xx_remoteproc.c71 struct rproc *rproc; member
90 struct rproc *rproc = (struct rproc *)p; in handle_event() local
93 rproc_vq_interrupt(rproc, 0); in handle_event()
94 rproc_vq_interrupt(rproc, 1); in handle_event()
110 struct rproc *rproc = (struct rproc *)p; in da8xx_rproc_callback() local
111 struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; in da8xx_rproc_callback()
136 static int da8xx_rproc_start(struct rproc *rproc) in da8xx_rproc_start() argument
138 struct device *dev = rproc->dev.parent; in da8xx_rproc_start()
139 struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; in da8xx_rproc_start()
143 if (rproc->bootaddr & 0x3ff) { in da8xx_rproc_start()
[all …]
Dremoteproc_sysfs.c18 #define to_rproc(d) container_of(d, struct rproc, dev)
24 struct rproc *rproc = to_rproc(dev); in firmware_show() local
26 return sprintf(buf, "%s\n", rproc->firmware); in firmware_show()
34 struct rproc *rproc = to_rproc(dev); in firmware_store() local
38 err = mutex_lock_interruptible(&rproc->lock); in firmware_store()
40 dev_err(dev, "can't lock rproc %s: %d\n", rproc->name, err); in firmware_store()
44 if (rproc->state != RPROC_OFFLINE) { in firmware_store()
63 kfree(rproc->firmware); in firmware_store()
64 rproc->firmware = p; in firmware_store()
66 mutex_unlock(&rproc->lock); in firmware_store()
[all …]
Dqcom_common.c43 struct resource_table *qcom_mdt_find_rsc_table(struct rproc *rproc, in qcom_mdt_find_rsc_table() argument
76 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_add_glink_subdev() argument
78 struct device *dev = &rproc->dev; in qcom_add_glink_subdev()
85 rproc_add_subdev(rproc, &glink->subdev, glink_subdev_probe, glink_subdev_remove); in qcom_add_glink_subdev()
94 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
96 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
123 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
125 struct device *dev = &rproc->dev; in qcom_add_smd_subdev()
132 rproc_add_subdev(rproc, &smd->subdev, smd_subdev_probe, smd_subdev_remove); in qcom_add_smd_subdev()
141 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
[all …]
Dwkup_m3_rproc.c56 struct rproc *rproc; member
61 static int wkup_m3_rproc_start(struct rproc *rproc) in wkup_m3_rproc_start() argument
63 struct wkup_m3_rproc *wkupm3 = rproc->priv; in wkup_m3_rproc_start()
76 static int wkup_m3_rproc_stop(struct rproc *rproc) in wkup_m3_rproc_stop() argument
78 struct wkup_m3_rproc *wkupm3 = rproc->priv; in wkup_m3_rproc_stop()
91 static void *wkup_m3_rproc_da_to_va(struct rproc *rproc, u64 da, int len) in wkup_m3_rproc_da_to_va() argument
93 struct wkup_m3_rproc *wkupm3 = rproc->priv; in wkup_m3_rproc_da_to_va()
135 struct rproc *rproc; in wkup_m3_rproc_probe() local
163 rproc = rproc_alloc(dev, "wkup_m3", &wkup_m3_rproc_ops, in wkup_m3_rproc_probe()
165 if (!rproc) { in wkup_m3_rproc_probe()
[all …]
Dqcom_common.h30 struct resource_table *qcom_mdt_find_rsc_table(struct rproc *rproc,
34 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
35 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
37 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
38 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
40 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
42 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
Dremoteproc_virtio.c36 struct rproc *rproc = rvring->rvdev->rproc; in rproc_virtio_notify() local
39 dev_dbg(&rproc->dev, "kicking vq index: %d\n", notifyid); in rproc_virtio_notify()
41 rproc->ops->kick(rproc, notifyid); in rproc_virtio_notify()
57 irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int notifyid) in rproc_vq_interrupt() argument
61 dev_dbg(&rproc->dev, "vq index %d is interrupted\n", notifyid); in rproc_vq_interrupt()
63 rvring = idr_find(&rproc->notifyids, notifyid); in rproc_vq_interrupt()
77 struct rproc *rproc = vdev_to_rproc(vdev); in rp_find_vq() local
78 struct device *dev = &rproc->dev; in rp_find_vq()
167 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; in rproc_virtio_get_status()
177 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; in rproc_virtio_set_status()
[all …]
Dqcom_adsp_pil.c46 struct rproc *rproc; member
80 static int adsp_load(struct rproc *rproc, const struct firmware *fw) in adsp_load() argument
82 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_load()
84 return qcom_mdt_load(adsp->dev, fw, rproc->firmware, adsp->pas_id, in adsp_load()
93 static int adsp_start(struct rproc *rproc) in adsp_start() argument
95 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_start()
144 static int adsp_stop(struct rproc *rproc) in adsp_stop() argument
146 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_stop()
169 static void *adsp_da_to_va(struct rproc *rproc, u64 da, int len) in adsp_da_to_va() argument
171 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_da_to_va()
[all …]
Dst_slim_rproc.c116 static int slim_rproc_start(struct rproc *rproc) in slim_rproc_start() argument
118 struct device *dev = &rproc->dev; in slim_rproc_start()
119 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_start()
158 static int slim_rproc_stop(struct rproc *rproc) in slim_rproc_stop() argument
160 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_stop()
174 dev_warn(&rproc->dev, "Failed to disable SLIM"); in slim_rproc_stop()
176 dev_dbg(&rproc->dev, "slim stopped\n"); in slim_rproc_stop()
181 static void *slim_rproc_da_to_va(struct rproc *rproc, u64 da, int len) in slim_rproc_da_to_va() argument
183 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_da_to_va()
198 dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%x va = 0x%p\n", da, len, va); in slim_rproc_da_to_va()
[all …]
Dimx_rproc.c87 struct rproc *rproc; member
161 static int imx_rproc_start(struct rproc *rproc) in imx_rproc_start() argument
163 struct imx_rproc *priv = rproc->priv; in imx_rproc_start()
176 static int imx_rproc_stop(struct rproc *rproc) in imx_rproc_stop() argument
178 struct imx_rproc *priv = rproc->priv; in imx_rproc_stop()
214 static void *imx_rproc_da_to_va(struct rproc *rproc, u64 da, int len) in imx_rproc_da_to_va() argument
216 struct imx_rproc *priv = rproc->priv; in imx_rproc_da_to_va()
241 dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%x va = 0x%p\n", da, len, va); in imx_rproc_da_to_va()
320 struct rproc *rproc; in imx_rproc_probe() local
334 rproc = rproc_alloc(dev, "imx-rproc", &imx_rproc_ops, in imx_rproc_probe()
[all …]
Dkeystone_remoteproc.c65 struct rproc *rproc; member
121 rproc_report_crash(ksproc->rproc, RPROC_FATAL_ERROR); in keystone_rproc_exception_interrupt()
154 rproc_vq_interrupt(ksproc->rproc, 0); in handle_event()
155 rproc_vq_interrupt(ksproc->rproc, 1); in handle_event()
177 static int keystone_rproc_start(struct rproc *rproc) in keystone_rproc_start() argument
179 struct keystone_rproc *ksproc = rproc->priv; in keystone_rproc_start()
200 ret = keystone_rproc_dsp_boot(ksproc, rproc->bootaddr); in keystone_rproc_start()
221 static int keystone_rproc_stop(struct rproc *rproc) in keystone_rproc_stop() argument
223 struct keystone_rproc *ksproc = rproc->priv; in keystone_rproc_stop()
239 static void keystone_rproc_kick(struct rproc *rproc, int vqid) in keystone_rproc_kick() argument
[all …]
Dqcom_wcnss.c70 struct rproc *rproc; member
151 static int wcnss_load(struct rproc *rproc, const struct firmware *fw) in wcnss_load() argument
153 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_load()
155 return qcom_mdt_load(wcnss->dev, fw, rproc->firmware, WCNSS_PAS_ID, in wcnss_load()
221 static int wcnss_start(struct rproc *rproc) in wcnss_start() argument
223 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_start()
273 static int wcnss_stop(struct rproc *rproc) in wcnss_stop() argument
275 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_stop()
300 static void *wcnss_da_to_va(struct rproc *rproc, u64 da, int len) in wcnss_da_to_va() argument
302 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_da_to_va()
[all …]
Dremoteproc_elf_loader.c43 rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw) argument
45 const char *name = rproc->firmware;
46 struct device *dev = &rproc->dev;
114 u32 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw) argument
146 rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw) argument
148 struct device *dev = &rproc->dev;
186 ptr = rproc_da_to_va(rproc, da, memsz);
286 rproc_elf_find_rsc_table(struct rproc *rproc, const struct firmware *fw, argument
291 struct device *dev = &rproc->dev;
319 rproc_elf_find_loaded_rsc_table(struct rproc *rproc, const struct firmware *fw) argument
[all …]
Dqcom_q6v5_pil.c117 struct rproc *rproc; member
282 static struct resource_table *q6v5_find_rsc_table(struct rproc *rproc, in q6v5_find_rsc_table() argument
292 static int q6v5_load(struct rproc *rproc, const struct firmware *fw) in q6v5_load() argument
294 struct q6v5 *qproc = rproc->priv; in q6v5_load()
602 static int q6v5_start(struct rproc *rproc) in q6v5_start() argument
604 struct q6v5 *qproc = (struct q6v5 *)rproc->priv; in q6v5_start()
701 static int q6v5_stop(struct rproc *rproc) in q6v5_stop() argument
703 struct q6v5 *qproc = (struct q6v5 *)rproc->priv; in q6v5_stop()
731 static void *q6v5_da_to_va(struct rproc *rproc, u64 da, int len) in q6v5_da_to_va() argument
733 struct q6v5 *qproc = rproc->priv; in q6v5_da_to_va()
[all …]
DKconfig74 "rproc-dsp-fw".
/drivers/soc/ti/
Dwkup_m3_ipc.c375 ret = rproc_boot(m3_ipc->rproc); in wkup_m3_rproc_boot_thread()
389 struct rproc *m3_rproc; in wkup_m3_ipc_probe()
446 m3_ipc->rproc = m3_rproc; in wkup_m3_ipc_probe()
479 rproc_shutdown(m3_ipc_state->rproc); in wkup_m3_ipc_remove()
480 rproc_put(m3_ipc_state->rproc); in wkup_m3_ipc_remove()
/drivers/dma/
Dst_fdma.c183 ret = rproc_boot(fdev->slim_rproc->rproc); in st_fdma_of_xlate()
223 rproc_shutdown(fdev->slim_rproc->rproc); in st_fdma_of_xlate()
294 struct rproc *rproc = fchan->fdev->slim_rproc->rproc; in st_fdma_free_chan_res() local
313 rproc_shutdown(rproc); in st_fdma_free_chan_res()