Home
last modified time | relevance | path

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

123456

/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 …]
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_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 …]
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
/kernel/linux/linux-6.6/drivers/remoteproc/
Dremoteproc_internal.h18 struct rproc;
21 struct rproc *rproc; member
33 * the resource can be cached by rproc.
42 static inline bool rproc_has_feature(struct rproc *rproc, unsigned int feature) in rproc_has_feature() argument
44 return test_bit(feature, rproc->features); in rproc_has_feature()
47 static inline int rproc_set_feature(struct rproc *rproc, unsigned int feature) in rproc_set_feature() argument
52 set_bit(feature, rproc->features); in rproc_set_feature()
63 irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id);
67 struct dentry *rproc_create_trace_file(const char *name, struct rproc *rproc,
69 void rproc_delete_debug_dir(struct rproc *rproc);
[all …]
Dremoteproc_core.c50 typedef int (*rproc_handle_resource_t)(struct rproc *rproc,
53 static int rproc_alloc_carveout(struct rproc *rproc,
55 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 ret = rproc_boot(rproc); in rproc_cdev_write()
37 ret = rproc_shutdown(rproc); in rproc_cdev_write()
39 ret = rproc_detach(rproc); in rproc_cdev_write()
41 dev_err(&rproc->dev, "Unrecognized option\n"); in rproc_cdev_write()
50 struct rproc *rproc = container_of(filp->f_inode->i_cdev, struct rproc, cdev); in rproc_device_ioctl() local
59 rproc->cdev_put_on_release = !!param; in rproc_device_ioctl()
62 param = (s32)rproc->cdev_put_on_release; in rproc_device_ioctl()
68 dev_err(&rproc->dev, "Unsupported ioctl\n"); in rproc_device_ioctl()
77 struct rproc *rproc = container_of(inode->i_cdev, struct rproc, cdev); in rproc_cdev_release() local
[all …]
Drcar_rproc.c22 static int rcar_rproc_mem_alloc(struct rproc *rproc, in rcar_rproc_mem_alloc() argument
25 struct device *dev = &rproc->dev; in rcar_rproc_mem_alloc()
42 static int rcar_rproc_mem_release(struct rproc *rproc, in rcar_rproc_mem_release() argument
45 dev_dbg(&rproc->dev, "unmap memory: %pa\n", &mem->dma); in rcar_rproc_mem_release()
51 static int rcar_rproc_prepare(struct rproc *rproc) in rcar_rproc_prepare() argument
53 struct device *dev = rproc->dev.parent; in rcar_rproc_prepare()
67 dev_err(&rproc->dev, in rcar_rproc_prepare()
91 rproc_add_carveout(rproc, mem); in rcar_rproc_prepare()
97 static int rcar_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) in rcar_rproc_parse_fw() argument
101 ret = rproc_elf_load_rsc_table(rproc, fw); in rcar_rproc_parse_fw()
[all …]
Dstm32_rproc.c96 static int stm32_rproc_pa_to_da(struct rproc *rproc, phys_addr_t pa, u64 *da) in stm32_rproc_pa_to_da() argument
99 struct stm32_rproc *ddata = rproc->priv; in stm32_rproc_pa_to_da()
109 dev_dbg(rproc->dev.parent, "pa %pa to da %llx\n", &pa, *da); in stm32_rproc_pa_to_da()
116 static int stm32_rproc_mem_alloc(struct rproc *rproc, in stm32_rproc_mem_alloc() argument
119 struct device *dev = rproc->dev.parent; in stm32_rproc_mem_alloc()
136 static int stm32_rproc_mem_release(struct rproc *rproc, in stm32_rproc_mem_release() argument
139 dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); in stm32_rproc_mem_release()
198 static int stm32_rproc_mbox_idx(struct rproc *rproc, const unsigned char *name) in stm32_rproc_mbox_idx() argument
200 struct stm32_rproc *ddata = rproc->priv; in stm32_rproc_mbox_idx()
207 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()
39 * @rproc: handle of a remote processor
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()
67 * @rproc: handle of a remote processor
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
[all …]
Dqcom_common.h37 void qcom_minidump(struct rproc *rproc, unsigned int minidump_id,
38 void (*rproc_dumpfn_t)(struct rproc *rproc,
42 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink,
44 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
46 int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw);
48 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
49 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
51 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
53 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
56 struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
[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 sysfs_emit(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 sysfs_emit(buf, "%s\n", rproc_coredump_str[rproc->dump_conf]); in coredump_show()
[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
105 void (*rproc_dumpfn_t)(struct rproc *rproc, struct rproc_dump_segment *segment, in qcom_add_minidump_segments() argument
115 if (WARN_ON(!list_empty(&rproc->dump_segments))) { in qcom_add_minidump_segments()
116 dev_err(&rproc->dev, "dump segment list already populated\n"); in qcom_add_minidump_segments()
136 rproc_coredump_add_custom_segment(rproc, da, size, rproc_dumpfn_t, name); in qcom_add_minidump_segments()
144 void qcom_minidump(struct rproc *rproc, unsigned int minidump_id, in qcom_minidump() argument
145 void (*rproc_dumpfn_t)(struct rproc *rproc, in qcom_minidump() argument
158 dev_err(&rproc->dev, "Minidump TOC not found in SMEM\n"); in qcom_minidump()
[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.c74 * struct omap_rproc_timer - data structure for a timer used by a omap rproc
92 * @num_timers: number of rproc timer(s)
93 * @num_wd_timers: number of rproc watchdog timers
94 * @timers: timer(s) info used by rproc
97 * @rproc: rproc handle
114 struct rproc *rproc; member
182 * @timer: handle to a OMAP rproc timer
198 * @timer: handle to a OMAP rproc timer
215 * @timer: handle to a OMAP rproc timer
230 * @timer: handle to a OMAP rproc timer
[all …]
Dpru_rproc.c100 * @rproc: remoteproc pointer for this PRU core
119 struct rproc *rproc; member
165 * @rproc: the rproc instance of the PRU
170 static int pru_rproc_set_firmware(struct rproc *rproc, const char *fw_name) in pru_rproc_set_firmware() argument
172 struct pru_rproc *pru = rproc->priv; in pru_rproc_set_firmware()
177 return rproc_set_firmware(rproc, fw_name); in pru_rproc_set_firmware()
180 static struct rproc *__pru_rproc_get(struct device_node *np, int index) in __pru_rproc_get()
182 struct rproc *rproc; in __pru_rproc_get() local
190 rproc = rproc_get_by_phandle(rproc_phandle); in __pru_rproc_get()
191 if (!rproc) { in __pru_rproc_get()
[all …]
/kernel/linux/linux-6.6/include/linux/
Dremoteproc.h146 * needed to map it (in case @rproc is using an IOMMU). Reducing the TLB
246 * @notifyid: a unique rproc-wide notify index for this vring. This notify
269 * @notifyid: a unique rproc-wide notify index for this vdev. This notify
287 * to statically allocate a vdev upon registration of the rproc (dynamic vdev
314 struct rproc;
344 int (*alloc)(struct rproc *rproc, struct rproc_mem_entry *mem);
345 int (*release)(struct rproc *rproc, struct rproc_mem_entry *mem);
386 int (*prepare)(struct rproc *rproc);
387 int (*unprepare)(struct rproc *rproc);
388 int (*start)(struct rproc *rproc);
[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-6.6/Documentation/staging/
Dremoteproc.rst37 int rproc_boot(struct rproc *rproc)
45 Note: to use this function you should already have a valid rproc
52 int rproc_shutdown(struct rproc *rproc)
55 In case @rproc is still being used by an additional user(s), then
65 we're not decrementing the rproc's refcount, only the power refcount.
66 which means that the @rproc handle stays valid even after
72 struct rproc *rproc_get_by_phandle(phandle phandle)
74 Find an rproc handle using a device tree phandle. Returns the rproc
77 decrement it back once rproc isn't needed anymore.
86 /* 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 …]

123456