/drivers/remoteproc/ |
D | remoteproc_core.c | 50 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 …]
|
D | remoteproc_internal.h | 26 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 …]
|
D | omap_remoteproc.c | 47 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 …]
|
D | remoteproc_debugfs.c | 66 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 …]
|
D | st_remoteproc.c | 60 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 …]
|
D | da8xx_remoteproc.c | 71 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 …]
|
D | remoteproc_sysfs.c | 18 #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 …]
|
D | qcom_common.c | 43 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 …]
|
D | wkup_m3_rproc.c | 56 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 …]
|
D | qcom_common.h | 30 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);
|
D | remoteproc_virtio.c | 36 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 …]
|
D | qcom_adsp_pil.c | 46 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 …]
|
D | st_slim_rproc.c | 116 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 …]
|
D | imx_rproc.c | 87 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 …]
|
D | keystone_remoteproc.c | 65 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 …]
|
D | qcom_wcnss.c | 70 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 …]
|
D | remoteproc_elf_loader.c | 43 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 …]
|
D | qcom_q6v5_pil.c | 117 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 …]
|
D | Kconfig | 74 "rproc-dsp-fw".
|
/drivers/soc/ti/ |
D | wkup_m3_ipc.c | 375 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/ |
D | st_fdma.c | 183 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()
|