Lines Matching full:rproc
93 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()
172 return rproc_coredump(rproc); in qcom_minidump()
176 dev_err(&rproc->dev, "Minidump not ready, skipping\n"); in qcom_minidump()
184 rproc_coredump_cleanup(rproc); in qcom_minidump()
186 ret = qcom_add_minidump_segments(rproc, subsystem, rproc_dumpfn_t); in qcom_minidump()
188 dev_err(&rproc->dev, "Failed with error: %d while adding minidump entries\n", ret); in qcom_minidump()
191 rproc_coredump_using_sections(rproc); in qcom_minidump()
193 qcom_minidump_cleanup(rproc); in qcom_minidump()
222 * qcom_add_glink_subdev() - try to add a GLINK subdevice to rproc
223 * @rproc: rproc handle to parent the subdevice
227 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink, in qcom_add_glink_subdev() argument
230 struct device *dev = &rproc->dev; in qcom_add_glink_subdev()
245 rproc_add_subdev(rproc, &glink->subdev); in qcom_add_glink_subdev()
250 * qcom_remove_glink_subdev() - remove a GLINK subdevice from rproc
251 * @rproc: rproc handle
254 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
259 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
267 * @rproc: remoteproc handle
274 int qcom_register_dump_segments(struct rproc *rproc, in qcom_register_dump_segments() argument
298 ret = rproc_coredump_add_segment(rproc, phdr->p_paddr, in qcom_register_dump_segments()
326 * qcom_add_smd_subdev() - try to add a SMD subdevice to rproc
327 * @rproc: rproc handle to parent the subdevice
330 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
332 struct device *dev = &rproc->dev; in qcom_add_smd_subdev()
342 rproc_add_subdev(rproc, &smd->subdev); in qcom_add_smd_subdev()
347 * qcom_remove_smd_subdev() - remove the smd subdevice from rproc
348 * @rproc: rproc handle
351 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
356 rproc_remove_subdev(rproc, &smd->subdev); in qcom_remove_smd_subdev()
481 * @rproc: rproc handle
483 * @ssr_name: identifier to use for notifications originating from @rproc
485 * As the @ssr is registered with the @rproc SSR events will be sent to all
489 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr, in qcom_add_ssr_subdev() argument
496 dev_err(&rproc->dev, "Failed to add ssr subdevice\n"); in qcom_add_ssr_subdev()
506 rproc_add_subdev(rproc, &ssr->subdev); in qcom_add_ssr_subdev()
512 * @rproc: rproc handle
515 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr) in qcom_remove_ssr_subdev() argument
517 rproc_remove_subdev(rproc, &ssr->subdev); in qcom_remove_ssr_subdev()