Home
last modified time | relevance | path

Searched full:rproc (Results 1 – 25 of 113) sorted by relevance

12345

/kernel/linux/linux-5.10/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.c51 typedef int (*rproc_handle_resource_t)(struct rproc *rproc,
54 static int rproc_alloc_carveout(struct rproc *rproc,
56 static int rproc_release_carveout(struct rproc *rproc,
87 struct rproc *rproc = token; in rproc_iommu_fault() local
91 rproc_report_crash(rproc, RPROC_MMUFAULT); in rproc_iommu_fault()
100 static int rproc_enable_iommu(struct rproc *rproc) in rproc_enable_iommu() argument
103 struct device *dev = rproc->dev.parent; in rproc_enable_iommu()
106 if (!rproc->has_iommu) { in rproc_enable_iommu()
117 iommu_set_fault_handler(domain, rproc_iommu_fault, rproc); in rproc_enable_iommu()
125 rproc->domain = domain; in rproc_enable_iommu()
[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()
38 ret = rproc_boot(rproc); in rproc_cdev_write()
40 if (rproc->state != RPROC_RUNNING) in rproc_cdev_write()
43 rproc_shutdown(rproc); in rproc_cdev_write()
45 dev_err(&rproc->dev, "Unrecognized option\n"); in rproc_cdev_write()
54 struct rproc *rproc = container_of(filp->f_inode->i_cdev, struct rproc, cdev); in rproc_device_ioctl() local
63 rproc->cdev_put_on_release = !!param; in rproc_device_ioctl()
66 param = (s32)rproc->cdev_put_on_release; in rproc_device_ioctl()
72 dev_err(&rproc->dev, "Unsupported ioctl\n"); in rproc_device_ioctl()
[all …]
Dremoteproc_sysfs.c11 #define to_rproc(d) container_of(d, struct rproc, dev)
16 struct rproc *rproc = to_rproc(dev); in recovery_show() local
18 return sprintf(buf, "%s", rproc->recovery_disabled ? "disabled\n" : "enabled\n"); in recovery_show()
49 struct rproc *rproc = to_rproc(dev); in recovery_store() local
53 rproc->recovery_disabled = false; in recovery_store()
54 rproc_trigger_recovery(rproc); in recovery_store()
56 rproc->recovery_disabled = true; in recovery_store()
59 rproc_trigger_recovery(rproc); in recovery_store()
83 struct rproc *rproc = to_rproc(dev); in coredump_show() local
85 return sprintf(buf, "%s\n", rproc_coredump_str[rproc->dump_conf]); in coredump_show()
[all …]
Dstm32_rproc.c94 static int stm32_rproc_pa_to_da(struct rproc *rproc, phys_addr_t pa, u64 *da) in stm32_rproc_pa_to_da() argument
97 struct stm32_rproc *ddata = rproc->priv; in stm32_rproc_pa_to_da()
107 dev_dbg(rproc->dev.parent, "pa %pa to da %llx\n", &pa, *da); in stm32_rproc_pa_to_da()
114 static int stm32_rproc_mem_alloc(struct rproc *rproc, in stm32_rproc_mem_alloc() argument
117 struct device *dev = rproc->dev.parent; in stm32_rproc_mem_alloc()
134 static int stm32_rproc_mem_release(struct rproc *rproc, in stm32_rproc_mem_release() argument
137 dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); in stm32_rproc_mem_release()
196 static int stm32_rproc_mbox_idx(struct rproc *rproc, const unsigned char *name) in stm32_rproc_mbox_idx() argument
198 struct stm32_rproc *ddata = rproc->priv; in stm32_rproc_mbox_idx()
205 dev_err(&rproc->dev, "mailbox %s not found\n", name); in stm32_rproc_mbox_idx()
[all …]
Dremoteproc_coredump.c17 struct rproc *rproc; member
24 * @rproc: the remote processor handle
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()
38 * @rproc: handle of a remote processor
47 int rproc_coredump_add_segment(struct rproc *rproc, dma_addr_t da, size_t size) in rproc_coredump_add_segment() argument
58 list_add_tail(&segment->node, &rproc->dump_segments); in rproc_coredump_add_segment()
66 * @rproc: handle of a remote processor
78 int rproc_coredump_add_custom_segment(struct rproc *rproc, in rproc_coredump_add_custom_segment() argument
80 void (*dumpfn)(struct rproc *rproc, in rproc_coredump_add_custom_segment() argument
[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 …]
Domap_remoteproc.c73 * struct omap_rproc_timer - data structure for a timer used by a omap rproc
91 * @num_timers: number of rproc timer(s)
92 * @num_wd_timers: number of rproc watchdog timers
93 * @timers: timer(s) info used by rproc
96 * @rproc: rproc handle
113 struct rproc *rproc; member
181 * @timer: handle to a OMAP rproc timer
197 * @timer: handle to a OMAP rproc timer
214 * @timer: handle to a OMAP rproc timer
229 * @timer: handle to a OMAP rproc timer
[all …]
Dqcom_common.h36 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink,
38 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
40 int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw);
42 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
43 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
45 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
47 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
50 struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
55 static inline struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, in qcom_add_sysmon_subdev() argument
Dqcom_common.c62 * qcom_add_glink_subdev() - try to add a GLINK subdevice to rproc
63 * @rproc: rproc handle to parent the subdevice
67 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink, in qcom_add_glink_subdev() argument
70 struct device *dev = &rproc->dev; in qcom_add_glink_subdev()
85 rproc_add_subdev(rproc, &glink->subdev); in qcom_add_glink_subdev()
90 * qcom_remove_glink_subdev() - remove a GLINK subdevice from rproc
91 * @rproc: rproc handle
94 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
99 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
107 * @rproc: remoteproc handle
[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()
122 * We will most probably improve the rproc tracing facilities later on,
[all …]
Dda8xx_remoteproc.c26 "Name of DSP firmware file in /lib/firmware (if not specified defaults to 'rproc-dsp-fw')");
56 * @rproc: rproc handle
67 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()
[all …]
Dingenic_rproc.c64 static int ingenic_rproc_prepare(struct rproc *rproc) in ingenic_rproc_prepare() argument
66 struct vpu *vpu = rproc->priv; in ingenic_rproc_prepare()
77 static int ingenic_rproc_unprepare(struct rproc *rproc) in ingenic_rproc_unprepare() argument
79 struct vpu *vpu = rproc->priv; in ingenic_rproc_unprepare()
86 static int ingenic_rproc_start(struct rproc *rproc) in ingenic_rproc_start() argument
88 struct vpu *vpu = rproc->priv; in ingenic_rproc_start()
100 static int ingenic_rproc_stop(struct rproc *rproc) in ingenic_rproc_stop() argument
102 struct vpu *vpu = rproc->priv; in ingenic_rproc_stop()
112 static void ingenic_rproc_kick(struct rproc *rproc, int vqid) in ingenic_rproc_kick() argument
114 struct vpu *vpu = rproc->priv; in ingenic_rproc_kick()
[all …]
/kernel/linux/linux-4.19/drivers/remoteproc/
Dremoteproc_core.c51 typedef int (*rproc_handle_resources_t)(struct rproc *rproc,
53 typedef int (*rproc_handle_resource_t)(struct rproc *rproc,
84 struct rproc *rproc = token; in rproc_iommu_fault() local
88 rproc_report_crash(rproc, RPROC_MMUFAULT); in rproc_iommu_fault()
97 static int rproc_enable_iommu(struct rproc *rproc) in rproc_enable_iommu() argument
100 struct device *dev = rproc->dev.parent; in rproc_enable_iommu()
103 if (!rproc->has_iommu) { in rproc_enable_iommu()
114 iommu_set_fault_handler(domain, rproc_iommu_fault, rproc); in rproc_enable_iommu()
122 rproc->domain = domain; in rproc_enable_iommu()
131 static void rproc_disable_iommu(struct rproc *rproc) in rproc_disable_iommu() argument
[all …]
Dremoteproc_internal.h26 struct rproc;
30 irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id);
39 struct dentry *rproc_create_trace_file(const char *name, struct rproc *rproc,
41 void rproc_delete_debug_dir(struct rproc *rproc);
42 void rproc_create_debug_dir(struct rproc *rproc);
54 void *rproc_da_to_va(struct rproc *rproc, u64 da, int len);
55 int rproc_trigger_recovery(struct rproc *rproc);
57 int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw);
58 u32 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw);
59 int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw);
[all …]
Dqcom_common.c54 * qcom_add_glink_subdev() - try to add a GLINK subdevice to rproc
55 * @rproc: rproc handle to parent the subdevice
58 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_add_glink_subdev() argument
60 struct device *dev = &rproc->dev; in qcom_add_glink_subdev()
70 rproc_add_subdev(rproc, &glink->subdev); in qcom_add_glink_subdev()
75 * qcom_remove_glink_subdev() - remove a GLINK subdevice from rproc
76 * @rproc: rproc handle
79 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
84 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
91 * @rproc: remoteproc handle
[all …]
Domap_remoteproc.c42 * @rproc: rproc handle
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()
77 dev_err(dev, "omap rproc %s crashed\n", 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()
106 * This function will be invoked only after the firmware for this rproc
[all …]
Dqcom_common.h33 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
34 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
36 int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw);
38 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
39 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
41 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
43 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
46 struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
51 static inline struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, in qcom_add_sysmon_subdev() argument
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 …]
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 …]
Dda8xx_remoteproc.c29 "Name of DSP firmware file in /lib/firmware (if not specified defaults to 'rproc-dsp-fw')");
59 * @rproc: rproc handle
70 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()
[all …]
/kernel/linux/linux-5.10/include/linux/
Dremoteproc.h146 * needed to map it (in case @rproc is using an IOMMU). Reducing the TLB
246 * @notifyid is a unique rproc-wide notify index for this vring. This notify
269 * @notifyid is a unique rproc-wide notify index for this vdev. This notify
287 * to statically allocate a vdev upon registration of the rproc (dynamic vdev
313 struct rproc;
341 int (*alloc)(struct rproc *rproc, struct rproc_mem_entry *mem);
342 int (*release)(struct rproc *rproc, struct rproc_mem_entry *mem);
380 int (*prepare)(struct rproc *rproc);
381 int (*unprepare)(struct rproc *rproc);
382 int (*start)(struct rproc *rproc);
[all …]
/kernel/linux/linux-4.19/Documentation/
Dremoteproc.txt37 int rproc_boot(struct rproc *rproc)
45 Note: to use this function you should already have a valid rproc
52 void rproc_shutdown(struct rproc *rproc)
55 In case @rproc is still being used by an additional user(s), then
64 we're not decrementing the rproc's refcount, only the power refcount.
65 which means that the @rproc handle stays valid even after
71 struct rproc *rproc_get_by_phandle(phandle phandle)
73 Find an rproc handle using a device tree phandle. Returns the rproc
76 decrement it back once rproc isn't needed anymore.
85 /* in case we were given a valid 'rproc' handle */
[all …]
/kernel/linux/linux-5.10/Documentation/staging/
Dremoteproc.rst37 int rproc_boot(struct rproc *rproc)
45 Note: to use this function you should already have a valid rproc
52 void rproc_shutdown(struct rproc *rproc)
55 In case @rproc is still being used by an additional user(s), then
64 we're not decrementing the rproc's refcount, only the power refcount.
65 which means that the @rproc handle stays valid even after
71 struct rproc *rproc_get_by_phandle(phandle phandle)
73 Find an rproc handle using a device tree phandle. Returns the rproc
76 decrement it back once rproc isn't needed anymore.
85 /* in case we were given a valid 'rproc' handle */
[all …]
/kernel/linux/linux-4.19/include/linux/
Dremoteproc.h141 * needed to map it (in case @rproc is using an IOMMU). Reducing the TLB
241 * @notifyid is a unique rproc-wide notify index for this vring. This notify
264 * @notifyid is a unique rproc-wide notify index for this vdev. This notify
282 * to statically allocate a vdev upon registration of the rproc (dynamic vdev
326 struct rproc;
343 int (*start)(struct rproc *rproc);
344 int (*stop)(struct rproc *rproc);
345 void (*kick)(struct rproc *rproc, int vqid);
346 void * (*da_to_va)(struct rproc *rproc, u64 da, int len);
347 int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);
[all …]

12345