Home
last modified time | relevance | path

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

12

/drivers/remoteproc/
Dremoteproc_internal.h18 struct rproc;
21 struct rproc *rproc; member
29 irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id);
40 struct dentry *rproc_create_trace_file(const char *name, struct rproc *rproc,
42 void rproc_delete_debug_dir(struct rproc *rproc);
43 void rproc_create_debug_dir(struct rproc *rproc);
53 void rproc_coredump_cleanup(struct rproc *rproc);
54 void rproc_coredump(struct rproc *rproc);
59 int rproc_char_device_add(struct rproc *rproc);
60 void rproc_char_device_remove(struct rproc *rproc);
[all …]
Dremoteproc_core.c53 typedef int (*rproc_handle_resource_t)(struct rproc *rproc,
56 static int rproc_alloc_carveout(struct rproc *rproc,
58 static int rproc_release_carveout(struct rproc *rproc,
90 struct rproc *rproc = token; in rproc_iommu_fault() local
94 rproc_report_crash(rproc, RPROC_MMUFAULT); in rproc_iommu_fault()
103 static int rproc_enable_iommu(struct rproc *rproc) in rproc_enable_iommu() argument
106 struct device *dev = rproc->dev.parent; in rproc_enable_iommu()
109 if (!rproc->has_iommu) { in rproc_enable_iommu()
120 iommu_set_fault_handler(domain, rproc_iommu_fault, rproc); in rproc_enable_iommu()
128 rproc->domain = domain; in rproc_enable_iommu()
[all …]
Dremoteproc_sysfs.c12 #define to_rproc(d) container_of(d, struct rproc, dev)
17 struct rproc *rproc = to_rproc(dev); in recovery_show() local
19 return sysfs_emit(buf, "%s", rproc->recovery_disabled ? "disabled\n" : "enabled\n"); in recovery_show()
50 struct rproc *rproc = to_rproc(dev); in recovery_store() local
54 rproc->recovery_disabled = false; in recovery_store()
55 trace_android_vh_rproc_recovery_set(rproc); in recovery_store()
56 rproc_trigger_recovery(rproc); in recovery_store()
58 rproc->recovery_disabled = true; in recovery_store()
59 trace_android_vh_rproc_recovery_set(rproc); in recovery_store()
62 rproc_trigger_recovery(rproc); in recovery_store()
[all …]
Dremoteproc_cdev.c23 struct rproc *rproc = container_of(filp->f_inode->i_cdev, struct rproc, cdev); in rproc_cdev_write() local
35 if (rproc->state == RPROC_RUNNING || in rproc_cdev_write()
36 rproc->state == RPROC_ATTACHED) in rproc_cdev_write()
39 ret = rproc_boot(rproc); in rproc_cdev_write()
41 if (rproc->state != RPROC_RUNNING && in rproc_cdev_write()
42 rproc->state != RPROC_ATTACHED) in rproc_cdev_write()
45 rproc_shutdown(rproc); in rproc_cdev_write()
47 if (rproc->state != RPROC_ATTACHED) in rproc_cdev_write()
50 ret = rproc_detach(rproc); in rproc_cdev_write()
52 dev_err(&rproc->dev, "Unrecognized option\n"); in rproc_cdev_write()
[all …]
Dstm32_rproc.c95 static int stm32_rproc_pa_to_da(struct rproc *rproc, phys_addr_t pa, u64 *da) in stm32_rproc_pa_to_da() argument
98 struct stm32_rproc *ddata = rproc->priv; in stm32_rproc_pa_to_da()
108 dev_dbg(rproc->dev.parent, "pa %pa to da %llx\n", &pa, *da); in stm32_rproc_pa_to_da()
115 static int stm32_rproc_mem_alloc(struct rproc *rproc, in stm32_rproc_mem_alloc() argument
118 struct device *dev = rproc->dev.parent; in stm32_rproc_mem_alloc()
135 static int stm32_rproc_mem_release(struct rproc *rproc, in stm32_rproc_mem_release() argument
138 dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); in stm32_rproc_mem_release()
197 static int stm32_rproc_mbox_idx(struct rproc *rproc, const unsigned char *name) in stm32_rproc_mbox_idx() argument
199 struct stm32_rproc *ddata = rproc->priv; in stm32_rproc_mbox_idx()
206 dev_err(&rproc->dev, "mailbox %s not found\n", name); in stm32_rproc_mbox_idx()
[all …]
Domap_remoteproc.c113 struct rproc *rproc; member
273 struct rproc *rproc = data; in omap_rproc_watchdog_isr() local
274 struct omap_rproc *oproc = rproc->priv; in omap_rproc_watchdog_isr()
275 struct device *dev = rproc->dev.parent; in omap_rproc_watchdog_isr()
295 rproc_report_crash(rproc, RPROC_WATCHDOG); in omap_rproc_watchdog_isr()
312 static int omap_rproc_enable_timers(struct rproc *rproc, bool configure) in omap_rproc_enable_timers() argument
319 struct omap_rproc *oproc = rproc->priv; in omap_rproc_enable_timers()
321 struct device *dev = rproc->dev.parent; in omap_rproc_enable_timers()
393 "rproc-wdt", rproc); in omap_rproc_enable_timers()
430 free_irq(timers[i].irq, rproc); in omap_rproc_enable_timers()
[all …]
Dremoteproc_debugfs.c45 struct rproc *rproc = filp->private_data; in rproc_coredump_read() local
50 rproc_coredump_str[rproc->dump_conf]); in rproc_coredump_read()
75 struct rproc *rproc = filp->private_data; in rproc_coredump_write() local
90 if (rproc->state == RPROC_CRASHED) { in rproc_coredump_write()
91 dev_err(&rproc->dev, "can't change coredump configuration\n"); in rproc_coredump_write()
97 rproc->dump_conf = RPROC_COREDUMP_DISABLED; in rproc_coredump_write()
99 rproc->dump_conf = RPROC_COREDUMP_ENABLED; in rproc_coredump_write()
101 rproc->dump_conf = RPROC_COREDUMP_INLINE; in rproc_coredump_write()
103 dev_err(&rproc->dev, "Invalid coredump configuration\n"); in rproc_coredump_write()
135 va = rproc_da_to_va(data->rproc, trace->da, trace->len, NULL); in rproc_trace_read()
[all …]
Dremoteproc_coredump.c17 struct rproc *rproc; member
26 void rproc_coredump_cleanup(struct rproc *rproc) in rproc_coredump_cleanup() argument
30 list_for_each_entry_safe(entry, tmp, &rproc->dump_segments, node) { in rproc_coredump_cleanup()
48 int rproc_coredump_add_segment(struct rproc *rproc, dma_addr_t da, size_t size) in rproc_coredump_add_segment() argument
59 list_add_tail(&segment->node, &rproc->dump_segments); in rproc_coredump_add_segment()
79 int rproc_coredump_add_custom_segment(struct rproc *rproc, in rproc_coredump_add_custom_segment() argument
81 void (*dumpfn)(struct rproc *rproc, in rproc_coredump_add_custom_segment() argument
98 list_add_tail(&segment->node, &rproc->dump_segments); in rproc_coredump_add_custom_segment()
114 int rproc_coredump_set_elf_info(struct rproc *rproc, u8 class, u16 machine) in rproc_coredump_set_elf_info() argument
119 rproc->elf_class = class; in rproc_coredump_set_elf_info()
[all …]
Dst_remoteproc.c58 struct rproc *rproc = dev_get_drvdata(dev); in st_rproc_mbox_callback() local
60 if (rproc_vq_interrupt(rproc, msg) == IRQ_NONE) in st_rproc_mbox_callback()
76 static void st_rproc_kick(struct rproc *rproc, int vqid) in st_rproc_kick() argument
78 struct st_rproc *ddata = rproc->priv; in st_rproc_kick()
79 struct device *dev = rproc->dev.parent; in st_rproc_kick()
92 static int st_rproc_mem_alloc(struct rproc *rproc, in st_rproc_mem_alloc() argument
95 struct device *dev = rproc->dev.parent; in st_rproc_mem_alloc()
111 static int st_rproc_mem_release(struct rproc *rproc, in st_rproc_mem_release() argument
119 static int st_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) in st_rproc_parse_fw() argument
121 struct device *dev = rproc->dev.parent; in st_rproc_parse_fw()
[all …]
Dda8xx_remoteproc.c67 struct rproc *rproc; member
87 struct rproc *rproc = (struct rproc *)p; in handle_event() local
90 rproc_vq_interrupt(rproc, 0); in handle_event()
91 rproc_vq_interrupt(rproc, 1); in handle_event()
107 struct rproc *rproc = (struct rproc *)p; in da8xx_rproc_callback() local
108 struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; in da8xx_rproc_callback()
133 static int da8xx_rproc_start(struct rproc *rproc) in da8xx_rproc_start() argument
135 struct device *dev = rproc->dev.parent; in da8xx_rproc_start()
136 struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; in da8xx_rproc_start()
142 if (rproc->bootaddr & 0x3ff) { in da8xx_rproc_start()
[all …]
Dqcom_common.h36 void qcom_minidump(struct rproc *rproc, unsigned int minidump_id);
38 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink,
40 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
42 int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw);
44 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
45 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
47 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
49 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
52 struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
58 static inline struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, in qcom_add_sysmon_subdev() argument
Dimx_rproc.c106 struct rproc *rproc; member
288 static int imx_rproc_start(struct rproc *rproc) in imx_rproc_start() argument
290 struct imx_rproc *priv = rproc->priv; in imx_rproc_start()
315 static int imx_rproc_stop(struct rproc *rproc) in imx_rproc_stop() argument
317 struct imx_rproc *priv = rproc->priv; in imx_rproc_stop()
369 static void *imx_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in imx_rproc_da_to_va() argument
371 struct imx_rproc *priv = rproc->priv; in imx_rproc_da_to_va()
396 dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%zx va = 0x%p\n", in imx_rproc_da_to_va()
402 static int imx_rproc_mem_alloc(struct rproc *rproc, in imx_rproc_mem_alloc() argument
405 struct device *dev = rproc->dev.parent; in imx_rproc_mem_alloc()
[all …]
Dpru_rproc.c126 struct rproc *rproc; member
156 struct rproc *rproc = s->private; in regs_show() local
157 struct pru_rproc *pru = rproc->priv; in regs_show()
214 struct rproc *rproc = data; in pru_rproc_debug_ss_set() local
215 struct pru_rproc *pru = rproc->priv; in pru_rproc_debug_ss_set()
240 struct rproc *rproc = data; in pru_rproc_debug_ss_get() local
241 struct pru_rproc *pru = rproc->priv; in pru_rproc_debug_ss_get()
256 static void pru_rproc_create_debug_entries(struct rproc *rproc) in pru_rproc_create_debug_entries() argument
258 if (!rproc->dbg_dir) in pru_rproc_create_debug_entries()
261 debugfs_create_file("regs", 0400, rproc->dbg_dir, in pru_rproc_create_debug_entries()
[all …]
Dingenic_rproc.c69 static int ingenic_rproc_prepare(struct rproc *rproc) in ingenic_rproc_prepare() argument
71 struct vpu *vpu = rproc->priv; in ingenic_rproc_prepare()
82 static int ingenic_rproc_unprepare(struct rproc *rproc) in ingenic_rproc_unprepare() argument
84 struct vpu *vpu = rproc->priv; in ingenic_rproc_unprepare()
91 static int ingenic_rproc_start(struct rproc *rproc) in ingenic_rproc_start() argument
93 struct vpu *vpu = rproc->priv; in ingenic_rproc_start()
105 static int ingenic_rproc_stop(struct rproc *rproc) in ingenic_rproc_stop() argument
107 struct vpu *vpu = rproc->priv; in ingenic_rproc_stop()
117 static void ingenic_rproc_kick(struct rproc *rproc, int vqid) in ingenic_rproc_kick() argument
119 struct vpu *vpu = rproc->priv; in ingenic_rproc_kick()
[all …]
Dqcom_common.c93 static void qcom_minidump_cleanup(struct rproc *rproc) in qcom_minidump_cleanup() argument
97 list_for_each_entry_safe(entry, tmp, &rproc->dump_segments, node) { in qcom_minidump_cleanup()
104 static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsystem *subsystem) in qcom_add_minidump_segments() argument
113 if (WARN_ON(!list_empty(&rproc->dump_segments))) { in qcom_add_minidump_segments()
114 dev_err(&rproc->dev, "dump segment list already populated\n"); in qcom_add_minidump_segments()
134 rproc_coredump_add_custom_segment(rproc, da, size, NULL, name); in qcom_add_minidump_segments()
142 void qcom_minidump(struct rproc *rproc, unsigned int minidump_id) in qcom_minidump() argument
153 dev_err(&rproc->dev, "Minidump TOC not found in SMEM\n"); in qcom_minidump()
168 dev_err(&rproc->dev, "Minidump not ready, skipping\n"); in qcom_minidump()
172 ret = qcom_add_minidump_segments(rproc, subsystem); in qcom_minidump()
[all …]
Dwkup_m3_rproc.c50 struct rproc *rproc; member
56 static int wkup_m3_rproc_start(struct rproc *rproc) in wkup_m3_rproc_start() argument
58 struct wkup_m3_rproc *wkupm3 = rproc->priv; in wkup_m3_rproc_start()
74 static int wkup_m3_rproc_stop(struct rproc *rproc) in wkup_m3_rproc_stop() argument
76 struct wkup_m3_rproc *wkupm3 = rproc->priv; in wkup_m3_rproc_stop()
92 static void *wkup_m3_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in wkup_m3_rproc_da_to_va() argument
94 struct wkup_m3_rproc *wkupm3 = rproc->priv; in wkup_m3_rproc_da_to_va()
136 struct rproc *rproc; in wkup_m3_rproc_probe() local
158 rproc = rproc_alloc(dev, "wkup_m3", &wkup_m3_rproc_ops, in wkup_m3_rproc_probe()
160 if (!rproc) { in wkup_m3_rproc_probe()
[all …]
Dremoteproc_virtio.c30 struct rproc *rproc = rvring->rvdev->rproc; in rproc_virtio_notify() local
33 dev_dbg(&rproc->dev, "kicking vq index: %d\n", notifyid); in rproc_virtio_notify()
35 rproc->ops->kick(rproc, notifyid); in rproc_virtio_notify()
51 irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int notifyid) in rproc_vq_interrupt() argument
55 dev_dbg(&rproc->dev, "vq index %d is interrupted\n", notifyid); in rproc_vq_interrupt()
57 rvring = idr_find(&rproc->notifyids, notifyid); in rproc_vq_interrupt()
71 struct rproc *rproc = vdev_to_rproc(vdev); in rp_find_vq() local
72 struct device *dev = &rproc->dev; in rp_find_vq()
88 mem = rproc_find_carveout_by_name(rproc, "vdev%dvring%d", rvdev->index, in rp_find_vq()
120 rsc = (void *)rproc->table_ptr + rvdev->rsc_offset; in rp_find_vq()
[all …]
Dkeystone_remoteproc.c57 struct rproc *rproc; member
113 rproc_report_crash(ksproc->rproc, RPROC_FATAL_ERROR); in keystone_rproc_exception_interrupt()
146 rproc_vq_interrupt(ksproc->rproc, 0); in handle_event()
147 rproc_vq_interrupt(ksproc->rproc, 1); in handle_event()
169 static int keystone_rproc_start(struct rproc *rproc) in keystone_rproc_start() argument
171 struct keystone_rproc *ksproc = rproc->priv; in keystone_rproc_start()
192 ret = keystone_rproc_dsp_boot(ksproc, rproc->bootaddr); in keystone_rproc_start()
213 static int keystone_rproc_stop(struct rproc *rproc) in keystone_rproc_stop() argument
215 struct keystone_rproc *ksproc = rproc->priv; in keystone_rproc_stop()
231 static void keystone_rproc_kick(struct rproc *rproc, int vqid) in keystone_rproc_kick() argument
[all …]
Dqcom_q6v5_adsp.c68 struct rproc *rproc; member
166 static int adsp_load(struct rproc *rproc, const struct firmware *fw) in adsp_load() argument
168 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_load()
171 ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0, in adsp_load()
182 static int adsp_start(struct rproc *rproc) in adsp_start() argument
184 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_start()
263 static int adsp_stop(struct rproc *rproc) in adsp_stop() argument
265 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_stop()
284 static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in adsp_da_to_va() argument
286 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_da_to_va()
[all …]
Dst_slim_rproc.c112 static int slim_rproc_start(struct rproc *rproc) in slim_rproc_start() argument
114 struct device *dev = &rproc->dev; in slim_rproc_start()
115 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_start()
154 static int slim_rproc_stop(struct rproc *rproc) in slim_rproc_stop() argument
156 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_stop()
170 dev_warn(&rproc->dev, "Failed to disable SLIM"); in slim_rproc_stop()
172 dev_dbg(&rproc->dev, "slim stopped\n"); in slim_rproc_stop()
177 static void *slim_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in slim_rproc_da_to_va() argument
179 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_da_to_va()
194 dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%zx va = 0x%pK\n", in slim_rproc_da_to_va()
[all …]
Dti_k3_dsp_remoteproc.c82 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()
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()
228 static int k3_dsp_rproc_prepare(struct rproc *rproc) in k3_dsp_rproc_prepare() argument
230 struct k3_dsp_rproc *kproc = rproc->priv; in k3_dsp_rproc_prepare()
[all …]
Dqcom_q6v5_pas.c50 struct rproc *rproc; member
86 static void adsp_minidump(struct rproc *rproc) in adsp_minidump() argument
88 struct qcom_adsp *adsp = rproc->priv; in adsp_minidump()
90 if (rproc->dump_conf == RPROC_COREDUMP_DISABLED) in adsp_minidump()
93 qcom_minidump(rproc, adsp->minidump_id); in adsp_minidump()
134 static int adsp_load(struct rproc *rproc, const struct firmware *fw) in adsp_load() argument
136 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_load()
139 ret = qcom_mdt_load(adsp->dev, fw, rproc->firmware, adsp->pas_id, in adsp_load()
150 static int adsp_start(struct rproc *rproc) in adsp_start() argument
152 struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; in adsp_start()
[all …]
Dremoteproc_elf_loader.c37 int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw) argument
39 const char *name = rproc->firmware;
40 struct device *dev = &rproc->dev;
128 u64 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw) argument
160 int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw) argument
162 struct device *dev = &rproc->dev;
212 ptr = rproc_da_to_va(rproc, da, memsz, &is_iomem);
326 int rproc_elf_load_rsc_table(struct rproc *rproc, const struct firmware *fw) argument
329 struct device *dev = &rproc->dev;
350 rproc->cached_table = kmemdup(table, tablesz, GFP_KERNEL);
[all …]
Dqcom_wcnss.c69 struct rproc *rproc; member
145 static int wcnss_load(struct rproc *rproc, const struct firmware *fw) in wcnss_load() argument
147 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_load()
150 ret = qcom_mdt_load(wcnss->dev, fw, rproc->firmware, WCNSS_PAS_ID, in wcnss_load()
218 static int wcnss_start(struct rproc *rproc) in wcnss_start() argument
220 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_start()
284 static int wcnss_stop(struct rproc *rproc) in wcnss_stop() argument
286 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_stop()
311 static void *wcnss_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in wcnss_da_to_va() argument
313 struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; in wcnss_da_to_va()
[all …]
Dti_k3_r5_remoteproc.c130 struct rproc *rproc; member
160 struct rproc *rproc; member
184 struct device *dev = kproc->rproc->dev.parent; in k3_r5_rproc_mbox_callback()
185 const char *name = kproc->rproc->name; in k3_r5_rproc_mbox_callback()
205 if (msg > kproc->rproc->max_notifyid) { in k3_r5_rproc_mbox_callback()
210 if (rproc_vq_interrupt(kproc->rproc, msg) == IRQ_NONE) in k3_r5_rproc_mbox_callback()
216 static void k3_r5_rproc_kick(struct rproc *rproc, int vqid) in k3_r5_rproc_kick() argument
218 struct k3_r5_rproc *kproc = rproc->priv; in k3_r5_rproc_kick()
219 struct device *dev = rproc->dev.parent; in k3_r5_rproc_kick()
394 static int k3_r5_rproc_prepare(struct rproc *rproc) in k3_r5_rproc_prepare() argument
[all …]

12