Home
last modified time | relevance | path

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

12

/linux/include/linux/
H A Dremoteproc.h314 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);
389 int (*stop)(struct rproc *rproc);
390 int (*attach)(struct rproc *rproc);
391 int (*detach)(struct rproc *rproc);
392 void (*kick)(struct rproc *rproc, int vqid);
[all …]
H A Dpruss_driver.h108 struct pruss *pruss_get(struct rproc *rproc);
124 static inline struct pruss *pruss_get(struct rproc *rproc) in pruss_get() argument
H A Dwkup_m3_ipc.h21 struct rproc *rproc; member
/linux/drivers/remoteproc/
H A 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 …]
H A Dqcom_common.h44 void qcom_minidump(struct rproc *rproc, unsigned int minidump_id,
45 void (*rproc_dumpfn_t)(struct rproc *rproc,
49 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink,
51 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
53 int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw);
55 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
56 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
58 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
60 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
62 void qcom_add_pdm_subdev(struct rproc *rproc, struct qcom_rproc_pdm *pdm);
[all …]
H A 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 …]
H A 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 …]
H A Dqcom_common.c95 static void qcom_minidump_cleanup(struct rproc *rproc) in qcom_minidump_cleanup() argument
99 list_for_each_entry_safe(entry, tmp, &rproc->dump_segments, node) { in qcom_minidump_cleanup()
106 static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsystem *subsystem, in qcom_add_minidump_segments() argument
107 void (*rproc_dumpfn_t)(struct rproc *rproc, struct rproc_dump_segment *segment, in qcom_add_minidump_segments() argument
117 if (WARN_ON(!list_empty(&rproc->dump_segments))) { in qcom_add_minidump_segments()
118 dev_err(&rproc->dev, "dump segment list already populated\n"); in qcom_add_minidump_segments()
138 rproc_coredump_add_custom_segment(rproc, da, size, rproc_dumpfn_t, name); in qcom_add_minidump_segments()
146 void qcom_minidump(struct rproc *rproc, unsigned int minidump_id, in qcom_minidump() argument
147 void (*rproc_dumpfn_t)(struct rproc *rproc, in qcom_minidump() argument
160 dev_err(&rproc->dev, "Minidump TOC not found in SMEM\n"); in qcom_minidump()
[all …]
H A 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 …]
H A Dxlnx_r5_remoteproc.c153 struct rproc *rproc; member
187 struct rproc *rproc = data; in event_notified_idr_cb() local
189 if (rproc_vq_interrupt(rproc, id) == IRQ_NONE) in event_notified_idr_cb()
190 dev_dbg(&rproc->dev, "data not found for vqid=%d\n", id); in event_notified_idr_cb()
204 struct rproc *rproc; in handle_event_notified() local
207 rproc = ipi->r5_core->rproc; in handle_event_notified()
216 idr_for_each(&rproc->notifyids, event_notified_idr_cb, rproc); in handle_event_notified()
326 static void zynqmp_r5_rproc_kick(struct rproc *rproc, int vqid) in zynqmp_r5_rproc_kick() argument
328 struct zynqmp_r5_core *r5_core = rproc->priv; in zynqmp_r5_rproc_kick()
354 static int zynqmp_r5_rproc_start(struct rproc *rproc) in zynqmp_r5_rproc_start() argument
[all …]
H A Dst_slim_rproc.c111 static int slim_rproc_start(struct rproc *rproc) in slim_rproc_start() argument
113 struct device *dev = &rproc->dev; in slim_rproc_start()
114 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_start()
153 static int slim_rproc_stop(struct rproc *rproc) in slim_rproc_stop() argument
155 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_stop()
169 dev_warn(&rproc->dev, "Failed to disable SLIM"); in slim_rproc_stop()
171 dev_dbg(&rproc->dev, "slim stopped\n"); in slim_rproc_stop()
176 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
178 struct st_slim_rproc *slim_rproc = rproc->priv; in slim_rproc_da_to_va()
193 dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%zx va = 0x%pK\n", in slim_rproc_da_to_va()
[all …]
H A 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 …]
H A Dqcom_q6v5.h11 struct rproc;
17 struct rproc *rproc; member
46 struct rproc *rproc, int crash_reason, const char *load_state,
H A Dqcom_sysmon.c22 struct rproc *rproc; member
624 struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, in qcom_add_sysmon_subdev() argument
635 sysmon->dev = rproc->dev.parent; in qcom_add_sysmon_subdev()
636 sysmon->rproc = rproc; in qcom_add_sysmon_subdev()
687 rproc_add_subdev(rproc, &sysmon->subdev); in qcom_add_sysmon_subdev()
715 rproc_remove_subdev(sysmon->rproc, &sysmon->subdev); in qcom_remove_sysmon_subdev()
751 struct rproc *rproc; in sysmon_probe() local
753 rproc = rproc_get_by_child(&rpdev->dev); in sysmon_probe()
754 if (!rproc) { in sysmon_probe()
761 if (sysmon->rproc == rproc) in sysmon_probe()
H A Dqcom_q6v5.c110 rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG); in q6v5_wdog_interrupt()
131 rproc_report_crash(q6v5->rproc, RPROC_FATAL_ERROR); in q6v5_fatal_interrupt()
203 if (q6v5->rproc->state != RPROC_RUNNING || qcom_sysmon_shutdown_acked(sysmon)) in qcom_q6v5_request_stop()
247 struct rproc *rproc, int crash_reason, const char *load_state, in qcom_q6v5_init() argument
252 q6v5->rproc = rproc; in qcom_q6v5_init()
/linux/include/linux/remoteproc/
H A Dpruss.h46 struct rproc;
50 struct rproc *pru_rproc_get(struct device_node *np, int index,
52 void pru_rproc_put(struct rproc *rproc);
53 int pru_rproc_set_ctable(struct rproc *rproc, enum pru_ctable_idx c, u32 addr);
57 static inline struct rproc *
63 static inline void pru_rproc_put(struct rproc *rproc) { } in pru_rproc_put() argument
65 static inline int pru_rproc_set_ctable(struct rproc *rproc, in pru_rproc_set_ctable() argument
H A Dst_slim_rproc.h41 struct rproc *rproc; member
/linux/Documentation/staging/
H A 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 …]
/linux/Documentation/devicetree/bindings/remoteproc/
H A Dst-rproc.txt12 "st,st231-rproc"
13 "st,st40-rproc"
27 audio_reserved: rproc@42000000 {
34 compatible = "st,st231-rproc";
/linux/Documentation/devicetree/bindings/dma/
H A Dst_fdma.txt11 - st,stih407-fdma-mpe31-11, "st,slim-rproc";
12 - st,stih407-fdma-mpe31-12, "st,slim-rproc";
13 - st,stih407-fdma-mpe31-13, "st,slim-rproc";
26 compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
/linux/drivers/soc/ti/
H A Dpruss.c56 struct pruss *pruss_get(struct rproc *rproc) in pruss_get() argument
62 if (IS_ERR_OR_NULL(rproc)) in pruss_get()
65 dev = &rproc->dev; in pruss_get()
/linux/drivers/net/ethernet/ti/icssg/
H A Dicssg_prueth.h271 struct rproc *pru[PRUSS_NUM_PRUS];
272 struct rproc *rtu[PRUSS_NUM_PRUS];
273 struct rproc *txpru[PRUSS_NUM_PRUS];
/linux/drivers/net/wireless/ath/ath11k/
H A Dahb.h25 struct rproc *tgt_rproc;
/linux/arch/arm/boot/dts/st/
H A Dstih407-family.dtsi20 gp0_reserved: rproc@45000000 {
26 delta_reserved: rproc@44000000 {
212 compatible = "st,st231-rproc";
225 compatible = "st,st231-rproc";
850 compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
867 compatible = "st,stih407-fdma-mpe31-12", "st,slim-rproc";
887 compatible = "st,stih407-fdma-mpe31-13", "st,slim-rproc";
/linux/Documentation/devicetree/bindings/interrupt-controller/
H A Dti,keystone-irq.txt32 compatible = "linux,rproc-user";

12