rproc 179 drivers/dma/st_fdma.c ret = rproc_boot(fdev->slim_rproc->rproc); rproc 219 drivers/dma/st_fdma.c rproc_shutdown(fdev->slim_rproc->rproc); rproc 289 drivers/dma/st_fdma.c struct rproc *rproc = fchan->fdev->slim_rproc->rproc; rproc 306 drivers/dma/st_fdma.c rproc_shutdown(rproc); rproc 67 drivers/remoteproc/da8xx_remoteproc.c struct rproc *rproc; rproc 87 drivers/remoteproc/da8xx_remoteproc.c struct rproc *rproc = (struct rproc *)p; rproc 90 drivers/remoteproc/da8xx_remoteproc.c rproc_vq_interrupt(rproc, 0); rproc 91 drivers/remoteproc/da8xx_remoteproc.c rproc_vq_interrupt(rproc, 1); rproc 107 drivers/remoteproc/da8xx_remoteproc.c struct rproc *rproc = (struct rproc *)p; rproc 108 drivers/remoteproc/da8xx_remoteproc.c struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; rproc 133 drivers/remoteproc/da8xx_remoteproc.c static int da8xx_rproc_start(struct rproc *rproc) rproc 135 drivers/remoteproc/da8xx_remoteproc.c struct device *dev = rproc->dev.parent; rproc 136 drivers/remoteproc/da8xx_remoteproc.c struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; rproc 142 drivers/remoteproc/da8xx_remoteproc.c if (rproc->bootaddr & 0x3ff) { rproc 148 drivers/remoteproc/da8xx_remoteproc.c writel(rproc->bootaddr, drproc->bootreg); rproc 166 drivers/remoteproc/da8xx_remoteproc.c static int da8xx_rproc_stop(struct rproc *rproc) rproc 168 drivers/remoteproc/da8xx_remoteproc.c struct da8xx_rproc *drproc = rproc->priv; rproc 169 drivers/remoteproc/da8xx_remoteproc.c struct device *dev = rproc->dev.parent; rproc 184 drivers/remoteproc/da8xx_remoteproc.c static void da8xx_rproc_kick(struct rproc *rproc, int vqid) rproc 186 drivers/remoteproc/da8xx_remoteproc.c struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; rproc 240 drivers/remoteproc/da8xx_remoteproc.c struct rproc *rproc; rproc 298 drivers/remoteproc/da8xx_remoteproc.c rproc = rproc_alloc(dev, "dsp", &da8xx_rproc_ops, da8xx_fw_name, rproc 300 drivers/remoteproc/da8xx_remoteproc.c if (!rproc) { rproc 306 drivers/remoteproc/da8xx_remoteproc.c rproc->recovery_disabled = true; rproc 308 drivers/remoteproc/da8xx_remoteproc.c drproc = rproc->priv; rproc 309 drivers/remoteproc/da8xx_remoteproc.c drproc->rproc = rproc; rproc 312 drivers/remoteproc/da8xx_remoteproc.c rproc->has_iommu = false; rproc 318 drivers/remoteproc/da8xx_remoteproc.c platform_set_drvdata(pdev, rproc); rproc 323 drivers/remoteproc/da8xx_remoteproc.c rproc); rproc 344 drivers/remoteproc/da8xx_remoteproc.c ret = rproc_add(rproc); rproc 353 drivers/remoteproc/da8xx_remoteproc.c rproc_free(rproc); rproc 362 drivers/remoteproc/da8xx_remoteproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 363 drivers/remoteproc/da8xx_remoteproc.c struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; rproc 373 drivers/remoteproc/da8xx_remoteproc.c rproc_del(rproc); rproc 374 drivers/remoteproc/da8xx_remoteproc.c rproc_free(rproc); rproc 84 drivers/remoteproc/imx_rproc.c struct rproc *rproc; rproc 158 drivers/remoteproc/imx_rproc.c static int imx_rproc_start(struct rproc *rproc) rproc 160 drivers/remoteproc/imx_rproc.c struct imx_rproc *priv = rproc->priv; rproc 173 drivers/remoteproc/imx_rproc.c static int imx_rproc_stop(struct rproc *rproc) rproc 175 drivers/remoteproc/imx_rproc.c struct imx_rproc *priv = rproc->priv; rproc 211 drivers/remoteproc/imx_rproc.c static void *imx_rproc_da_to_va(struct rproc *rproc, u64 da, int len) rproc 213 drivers/remoteproc/imx_rproc.c struct imx_rproc *priv = rproc->priv; rproc 238 drivers/remoteproc/imx_rproc.c dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%x va = 0x%p\n", da, len, va); rproc 317 drivers/remoteproc/imx_rproc.c struct rproc *rproc; rproc 331 drivers/remoteproc/imx_rproc.c rproc = rproc_alloc(dev, "imx-rproc", &imx_rproc_ops, rproc 333 drivers/remoteproc/imx_rproc.c if (!rproc) rproc 342 drivers/remoteproc/imx_rproc.c priv = rproc->priv; rproc 343 drivers/remoteproc/imx_rproc.c priv->rproc = rproc; rproc 348 drivers/remoteproc/imx_rproc.c dev_set_drvdata(dev, rproc); rproc 369 drivers/remoteproc/imx_rproc.c dev_err(&rproc->dev, "Failed to enable clock\n"); rproc 373 drivers/remoteproc/imx_rproc.c ret = rproc_add(rproc); rproc 384 drivers/remoteproc/imx_rproc.c rproc_free(rproc); rproc 391 drivers/remoteproc/imx_rproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 392 drivers/remoteproc/imx_rproc.c struct imx_rproc *priv = rproc->priv; rproc 395 drivers/remoteproc/imx_rproc.c rproc_del(rproc); rproc 396 drivers/remoteproc/imx_rproc.c rproc_free(rproc); rproc 57 drivers/remoteproc/keystone_remoteproc.c struct rproc *rproc; rproc 113 drivers/remoteproc/keystone_remoteproc.c rproc_report_crash(ksproc->rproc, RPROC_FATAL_ERROR); rproc 146 drivers/remoteproc/keystone_remoteproc.c rproc_vq_interrupt(ksproc->rproc, 0); rproc 147 drivers/remoteproc/keystone_remoteproc.c rproc_vq_interrupt(ksproc->rproc, 1); rproc 169 drivers/remoteproc/keystone_remoteproc.c static int keystone_rproc_start(struct rproc *rproc) rproc 171 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; rproc 192 drivers/remoteproc/keystone_remoteproc.c ret = keystone_rproc_dsp_boot(ksproc, rproc->bootaddr); rproc 213 drivers/remoteproc/keystone_remoteproc.c static int keystone_rproc_stop(struct rproc *rproc) rproc 215 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; rproc 231 drivers/remoteproc/keystone_remoteproc.c static void keystone_rproc_kick(struct rproc *rproc, int vqid) rproc 233 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; rproc 249 drivers/remoteproc/keystone_remoteproc.c static void *keystone_rproc_da_to_va(struct rproc *rproc, u64 da, int len) rproc 251 drivers/remoteproc/keystone_remoteproc.c struct keystone_rproc *ksproc = rproc->priv; rproc 366 drivers/remoteproc/keystone_remoteproc.c struct rproc *rproc; rproc 391 drivers/remoteproc/keystone_remoteproc.c rproc = rproc_alloc(dev, dev_name(dev), &keystone_rproc_ops, fw_name, rproc 393 drivers/remoteproc/keystone_remoteproc.c if (!rproc) rproc 396 drivers/remoteproc/keystone_remoteproc.c rproc->has_iommu = false; rproc 397 drivers/remoteproc/keystone_remoteproc.c ksproc = rproc->priv; rproc 398 drivers/remoteproc/keystone_remoteproc.c ksproc->rproc = rproc; rproc 457 drivers/remoteproc/keystone_remoteproc.c ret = rproc_add(rproc); rproc 475 drivers/remoteproc/keystone_remoteproc.c rproc_free(rproc); rproc 483 drivers/remoteproc/keystone_remoteproc.c rproc_del(ksproc->rproc); rproc 486 drivers/remoteproc/keystone_remoteproc.c rproc_free(ksproc->rproc); rproc 39 drivers/remoteproc/omap_remoteproc.c struct rproc *rproc; rproc 60 drivers/remoteproc/omap_remoteproc.c struct device *dev = oproc->rproc->dev.parent; rproc 61 drivers/remoteproc/omap_remoteproc.c const char *name = oproc->rproc->name; rproc 76 drivers/remoteproc/omap_remoteproc.c if (rproc_vq_interrupt(oproc->rproc, msg) == IRQ_NONE) rproc 82 drivers/remoteproc/omap_remoteproc.c static void omap_rproc_kick(struct rproc *rproc, int vqid) rproc 84 drivers/remoteproc/omap_remoteproc.c struct omap_rproc *oproc = rproc->priv; rproc 85 drivers/remoteproc/omap_remoteproc.c struct device *dev = rproc->dev.parent; rproc 102 drivers/remoteproc/omap_remoteproc.c static int omap_rproc_start(struct rproc *rproc) rproc 104 drivers/remoteproc/omap_remoteproc.c struct omap_rproc *oproc = rproc->priv; rproc 105 drivers/remoteproc/omap_remoteproc.c struct device *dev = rproc->dev.parent; rproc 112 drivers/remoteproc/omap_remoteproc.c pdata->set_bootaddr(rproc->bootaddr); rproc 155 drivers/remoteproc/omap_remoteproc.c static int omap_rproc_stop(struct rproc *rproc) rproc 157 drivers/remoteproc/omap_remoteproc.c struct device *dev = rproc->dev.parent; rproc 160 drivers/remoteproc/omap_remoteproc.c struct omap_rproc *oproc = rproc->priv; rproc 182 drivers/remoteproc/omap_remoteproc.c struct rproc *rproc; rproc 191 drivers/remoteproc/omap_remoteproc.c rproc = rproc_alloc(&pdev->dev, pdata->name, &omap_rproc_ops, rproc 193 drivers/remoteproc/omap_remoteproc.c if (!rproc) rproc 196 drivers/remoteproc/omap_remoteproc.c oproc = rproc->priv; rproc 197 drivers/remoteproc/omap_remoteproc.c oproc->rproc = rproc; rproc 199 drivers/remoteproc/omap_remoteproc.c rproc->has_iommu = true; rproc 201 drivers/remoteproc/omap_remoteproc.c platform_set_drvdata(pdev, rproc); rproc 203 drivers/remoteproc/omap_remoteproc.c ret = rproc_add(rproc); rproc 210 drivers/remoteproc/omap_remoteproc.c rproc_free(rproc); rproc 216 drivers/remoteproc/omap_remoteproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 218 drivers/remoteproc/omap_remoteproc.c rproc_del(rproc); rproc 219 drivers/remoteproc/omap_remoteproc.c rproc_free(rproc); rproc 50 drivers/remoteproc/qcom_common.c void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) rproc 52 drivers/remoteproc/qcom_common.c struct device *dev = &rproc->dev; rproc 62 drivers/remoteproc/qcom_common.c rproc_add_subdev(rproc, &glink->subdev); rproc 71 drivers/remoteproc/qcom_common.c void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) rproc 76 drivers/remoteproc/qcom_common.c rproc_remove_subdev(rproc, &glink->subdev); rproc 90 drivers/remoteproc/qcom_common.c int qcom_register_dump_segments(struct rproc *rproc, rproc 114 drivers/remoteproc/qcom_common.c ret = rproc_coredump_add_segment(rproc, phdr->p_paddr, rproc 146 drivers/remoteproc/qcom_common.c void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) rproc 148 drivers/remoteproc/qcom_common.c struct device *dev = &rproc->dev; rproc 158 drivers/remoteproc/qcom_common.c rproc_add_subdev(rproc, &smd->subdev); rproc 167 drivers/remoteproc/qcom_common.c void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) rproc 172 drivers/remoteproc/qcom_common.c rproc_remove_subdev(rproc, &smd->subdev); rproc 219 drivers/remoteproc/qcom_common.c void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr, rproc 225 drivers/remoteproc/qcom_common.c rproc_add_subdev(rproc, &ssr->subdev); rproc 234 drivers/remoteproc/qcom_common.c void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr) rproc 236 drivers/remoteproc/qcom_common.c rproc_remove_subdev(rproc, &ssr->subdev); rproc 33 drivers/remoteproc/qcom_common.h void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink); rproc 34 drivers/remoteproc/qcom_common.h void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink); rproc 36 drivers/remoteproc/qcom_common.h int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw); rproc 38 drivers/remoteproc/qcom_common.h void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd); rproc 39 drivers/remoteproc/qcom_common.h void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd); rproc 41 drivers/remoteproc/qcom_common.h void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr, rproc 43 drivers/remoteproc/qcom_common.h void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr); rproc 46 drivers/remoteproc/qcom_common.h struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, rproc 51 drivers/remoteproc/qcom_common.h static inline struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, rproc 70 drivers/remoteproc/qcom_q6v5.c rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG); rproc 88 drivers/remoteproc/qcom_q6v5.c rproc_report_crash(q6v5->rproc, RPROC_FATAL_ERROR); rproc 176 drivers/remoteproc/qcom_q6v5.c struct rproc *rproc, int crash_reason, rproc 181 drivers/remoteproc/qcom_q6v5.c q6v5->rproc = rproc; rproc 9 drivers/remoteproc/qcom_q6v5.h struct rproc; rproc 14 drivers/remoteproc/qcom_q6v5.h struct rproc *rproc; rproc 38 drivers/remoteproc/qcom_q6v5.h struct rproc *rproc, int crash_reason, rproc 67 drivers/remoteproc/qcom_q6v5_adsp.c struct rproc *rproc; rproc 164 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_load(struct rproc *rproc, const struct firmware *fw) rproc 166 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 168 drivers/remoteproc/qcom_q6v5_adsp.c return qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0, rproc 173 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_start(struct rproc *rproc) rproc 175 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 252 drivers/remoteproc/qcom_q6v5_adsp.c static int adsp_stop(struct rproc *rproc) rproc 254 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 273 drivers/remoteproc/qcom_q6v5_adsp.c static void *adsp_da_to_va(struct rproc *rproc, u64 da, int len) rproc 275 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 413 drivers/remoteproc/qcom_q6v5_adsp.c struct rproc *rproc; rproc 420 drivers/remoteproc/qcom_q6v5_adsp.c rproc = rproc_alloc(&pdev->dev, pdev->name, &adsp_ops, rproc 422 drivers/remoteproc/qcom_q6v5_adsp.c if (!rproc) { rproc 427 drivers/remoteproc/qcom_q6v5_adsp.c adsp = (struct qcom_adsp *)rproc->priv; rproc 429 drivers/remoteproc/qcom_q6v5_adsp.c adsp->rproc = rproc; rproc 450 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, rproc 455 drivers/remoteproc/qcom_q6v5_adsp.c qcom_add_glink_subdev(rproc, &adsp->glink_subdev); rproc 456 drivers/remoteproc/qcom_q6v5_adsp.c qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name); rproc 457 drivers/remoteproc/qcom_q6v5_adsp.c adsp->sysmon = qcom_add_sysmon_subdev(rproc, rproc 465 drivers/remoteproc/qcom_q6v5_adsp.c ret = rproc_add(rproc); rproc 474 drivers/remoteproc/qcom_q6v5_adsp.c rproc_free(rproc); rproc 483 drivers/remoteproc/qcom_q6v5_adsp.c rproc_del(adsp->rproc); rproc 485 drivers/remoteproc/qcom_q6v5_adsp.c qcom_remove_glink_subdev(adsp->rproc, &adsp->glink_subdev); rproc 487 drivers/remoteproc/qcom_q6v5_adsp.c qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); rproc 489 drivers/remoteproc/qcom_q6v5_adsp.c rproc_free(adsp->rproc); rproc 137 drivers/remoteproc/qcom_q6v5_mss.c struct rproc *rproc; rproc 380 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_load(struct rproc *rproc, const struct firmware *fw) rproc 382 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; rproc 907 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_reload_mba(struct rproc *rproc) rproc 909 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; rproc 913 drivers/remoteproc/qcom_q6v5_mss.c ret = request_firmware(&fw, rproc->firmware, qproc->dev); rproc 917 drivers/remoteproc/qcom_q6v5_mss.c q6v5_load(rproc, fw); rproc 1071 drivers/remoteproc/qcom_q6v5_mss.c static void qcom_q6v5_dump_segment(struct rproc *rproc, rproc 1076 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; rproc 1078 drivers/remoteproc/qcom_q6v5_mss.c void *ptr = rproc_da_to_va(rproc, segment->da, segment->size); rproc 1082 drivers/remoteproc/qcom_q6v5_mss.c ret = q6v5_reload_mba(rproc); rproc 1112 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_start(struct rproc *rproc) rproc 1114 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = (struct q6v5 *)rproc->priv; rproc 1153 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_stop(struct rproc *rproc) rproc 1155 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = (struct q6v5 *)rproc->priv; rproc 1169 drivers/remoteproc/qcom_q6v5_mss.c static void *q6v5_da_to_va(struct rproc *rproc, u64 da, int len) rproc 1171 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; rproc 1181 drivers/remoteproc/qcom_q6v5_mss.c static int qcom_q6v5_register_dump_segments(struct rproc *rproc, rproc 1188 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; rproc 1209 drivers/remoteproc/qcom_q6v5_mss.c ret = rproc_coredump_add_custom_segment(rproc, phdr->p_paddr, rproc 1410 drivers/remoteproc/qcom_q6v5_mss.c struct rproc *rproc; rproc 1427 drivers/remoteproc/qcom_q6v5_mss.c rproc = rproc_alloc(&pdev->dev, pdev->name, &q6v5_ops, rproc 1429 drivers/remoteproc/qcom_q6v5_mss.c if (!rproc) { rproc 1434 drivers/remoteproc/qcom_q6v5_mss.c rproc->auto_boot = false; rproc 1436 drivers/remoteproc/qcom_q6v5_mss.c qproc = (struct q6v5 *)rproc->priv; rproc 1438 drivers/remoteproc/qcom_q6v5_mss.c qproc->rproc = rproc; rproc 1519 drivers/remoteproc/qcom_q6v5_mss.c ret = qcom_q6v5_init(&qproc->q6v5, pdev, rproc, MPSS_CRASH_REASON_SMEM, rproc 1526 drivers/remoteproc/qcom_q6v5_mss.c qcom_add_glink_subdev(rproc, &qproc->glink_subdev); rproc 1527 drivers/remoteproc/qcom_q6v5_mss.c qcom_add_smd_subdev(rproc, &qproc->smd_subdev); rproc 1528 drivers/remoteproc/qcom_q6v5_mss.c qcom_add_ssr_subdev(rproc, &qproc->ssr_subdev, "mpss"); rproc 1529 drivers/remoteproc/qcom_q6v5_mss.c qproc->sysmon = qcom_add_sysmon_subdev(rproc, "modem", 0x12); rproc 1535 drivers/remoteproc/qcom_q6v5_mss.c ret = rproc_add(rproc); rproc 1546 drivers/remoteproc/qcom_q6v5_mss.c rproc_free(rproc); rproc 1555 drivers/remoteproc/qcom_q6v5_mss.c rproc_del(qproc->rproc); rproc 1558 drivers/remoteproc/qcom_q6v5_mss.c qcom_remove_glink_subdev(qproc->rproc, &qproc->glink_subdev); rproc 1559 drivers/remoteproc/qcom_q6v5_mss.c qcom_remove_smd_subdev(qproc->rproc, &qproc->smd_subdev); rproc 1560 drivers/remoteproc/qcom_q6v5_mss.c qcom_remove_ssr_subdev(qproc->rproc, &qproc->ssr_subdev); rproc 1565 drivers/remoteproc/qcom_q6v5_mss.c rproc_free(qproc->rproc); rproc 42 drivers/remoteproc/qcom_q6v5_pas.c struct rproc *rproc; rproc 70 drivers/remoteproc/qcom_q6v5_pas.c static int adsp_load(struct rproc *rproc, const struct firmware *fw) rproc 72 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 74 drivers/remoteproc/qcom_q6v5_pas.c return qcom_mdt_load(adsp->dev, fw, rproc->firmware, adsp->pas_id, rproc 80 drivers/remoteproc/qcom_q6v5_pas.c static int adsp_start(struct rproc *rproc) rproc 82 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 141 drivers/remoteproc/qcom_q6v5_pas.c static int adsp_stop(struct rproc *rproc) rproc 143 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 162 drivers/remoteproc/qcom_q6v5_pas.c static void *adsp_da_to_va(struct rproc *rproc, u64 da, int len) rproc 164 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; rproc 252 drivers/remoteproc/qcom_q6v5_pas.c struct rproc *rproc; rproc 269 drivers/remoteproc/qcom_q6v5_pas.c rproc = rproc_alloc(&pdev->dev, pdev->name, &adsp_ops, rproc 271 drivers/remoteproc/qcom_q6v5_pas.c if (!rproc) { rproc 276 drivers/remoteproc/qcom_q6v5_pas.c adsp = (struct qcom_adsp *)rproc->priv; rproc 278 drivers/remoteproc/qcom_q6v5_pas.c adsp->rproc = rproc; rproc 295 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, rproc 300 drivers/remoteproc/qcom_q6v5_pas.c qcom_add_glink_subdev(rproc, &adsp->glink_subdev); rproc 301 drivers/remoteproc/qcom_q6v5_pas.c qcom_add_smd_subdev(rproc, &adsp->smd_subdev); rproc 302 drivers/remoteproc/qcom_q6v5_pas.c qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name); rproc 303 drivers/remoteproc/qcom_q6v5_pas.c adsp->sysmon = qcom_add_sysmon_subdev(rproc, rproc 311 drivers/remoteproc/qcom_q6v5_pas.c ret = rproc_add(rproc); rproc 318 drivers/remoteproc/qcom_q6v5_pas.c rproc_free(rproc); rproc 327 drivers/remoteproc/qcom_q6v5_pas.c rproc_del(adsp->rproc); rproc 329 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_glink_subdev(adsp->rproc, &adsp->glink_subdev); rproc 331 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_smd_subdev(adsp->rproc, &adsp->smd_subdev); rproc 332 drivers/remoteproc/qcom_q6v5_pas.c qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); rproc 333 drivers/remoteproc/qcom_q6v5_pas.c rproc_free(adsp->rproc); rproc 180 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_start(struct rproc *rproc) rproc 182 drivers/remoteproc/qcom_q6v5_wcss.c struct q6v5_wcss *wcss = rproc->priv; rproc 215 drivers/remoteproc/qcom_q6v5_wcss.c writel(rproc->bootaddr >> 4, wcss->reg_base + Q6SS_RST_EVB); rproc 383 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_stop(struct rproc *rproc) rproc 385 drivers/remoteproc/qcom_q6v5_wcss.c struct q6v5_wcss *wcss = rproc->priv; rproc 409 drivers/remoteproc/qcom_q6v5_wcss.c static void *q6v5_wcss_da_to_va(struct rproc *rproc, u64 da, int len) rproc 411 drivers/remoteproc/qcom_q6v5_wcss.c struct q6v5_wcss *wcss = rproc->priv; rproc 421 drivers/remoteproc/qcom_q6v5_wcss.c static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw) rproc 423 drivers/remoteproc/qcom_q6v5_wcss.c struct q6v5_wcss *wcss = rproc->priv; rproc 425 drivers/remoteproc/qcom_q6v5_wcss.c return qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware, rproc 531 drivers/remoteproc/qcom_q6v5_wcss.c struct rproc *rproc; rproc 534 drivers/remoteproc/qcom_q6v5_wcss.c rproc = rproc_alloc(&pdev->dev, pdev->name, &q6v5_wcss_ops, rproc 536 drivers/remoteproc/qcom_q6v5_wcss.c if (!rproc) { rproc 541 drivers/remoteproc/qcom_q6v5_wcss.c wcss = rproc->priv; rproc 556 drivers/remoteproc/qcom_q6v5_wcss.c ret = qcom_q6v5_init(&wcss->q6v5, pdev, rproc, WCSS_CRASH_REASON, NULL); rproc 560 drivers/remoteproc/qcom_q6v5_wcss.c ret = rproc_add(rproc); rproc 564 drivers/remoteproc/qcom_q6v5_wcss.c platform_set_drvdata(pdev, rproc); rproc 569 drivers/remoteproc/qcom_q6v5_wcss.c rproc_free(rproc); rproc 576 drivers/remoteproc/qcom_q6v5_wcss.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 578 drivers/remoteproc/qcom_q6v5_wcss.c rproc_del(rproc); rproc 579 drivers/remoteproc/qcom_q6v5_wcss.c rproc_free(rproc); rproc 23 drivers/remoteproc/qcom_sysmon.c struct rproc *rproc; rproc 458 drivers/remoteproc/qcom_sysmon.c struct rproc *rproc = sysmon->rproc; rproc 462 drivers/remoteproc/qcom_sysmon.c if (rproc->state != RPROC_RUNNING || !strcmp(data, sysmon->name)) { rproc 493 drivers/remoteproc/qcom_sysmon.c struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc, rproc 504 drivers/remoteproc/qcom_sysmon.c sysmon->dev = rproc->dev.parent; rproc 505 drivers/remoteproc/qcom_sysmon.c sysmon->rproc = rproc; rproc 549 drivers/remoteproc/qcom_sysmon.c rproc_add_subdev(rproc, &sysmon->subdev); rproc 577 drivers/remoteproc/qcom_sysmon.c rproc_remove_subdev(sysmon->rproc, &sysmon->subdev); rproc 597 drivers/remoteproc/qcom_sysmon.c struct rproc *rproc; rproc 599 drivers/remoteproc/qcom_sysmon.c rproc = rproc_get_by_child(&rpdev->dev); rproc 600 drivers/remoteproc/qcom_sysmon.c if (!rproc) { rproc 607 drivers/remoteproc/qcom_sysmon.c if (sysmon->rproc == rproc) rproc 63 drivers/remoteproc/qcom_wcnss.c struct rproc *rproc; rproc 145 drivers/remoteproc/qcom_wcnss.c static int wcnss_load(struct rproc *rproc, const struct firmware *fw) rproc 147 drivers/remoteproc/qcom_wcnss.c struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; rproc 149 drivers/remoteproc/qcom_wcnss.c return qcom_mdt_load(wcnss->dev, fw, rproc->firmware, WCNSS_PAS_ID, rproc 211 drivers/remoteproc/qcom_wcnss.c static int wcnss_start(struct rproc *rproc) rproc 213 drivers/remoteproc/qcom_wcnss.c struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; rproc 263 drivers/remoteproc/qcom_wcnss.c static int wcnss_stop(struct rproc *rproc) rproc 265 drivers/remoteproc/qcom_wcnss.c struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; rproc 290 drivers/remoteproc/qcom_wcnss.c static void *wcnss_da_to_va(struct rproc *rproc, u64 da, int len) rproc 292 drivers/remoteproc/qcom_wcnss.c struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; rproc 314 drivers/remoteproc/qcom_wcnss.c rproc_report_crash(wcnss->rproc, RPROC_WATCHDOG); rproc 329 drivers/remoteproc/qcom_wcnss.c rproc_report_crash(wcnss->rproc, RPROC_FATAL_ERROR); rproc 463 drivers/remoteproc/qcom_wcnss.c struct rproc *rproc; rproc 477 drivers/remoteproc/qcom_wcnss.c rproc = rproc_alloc(&pdev->dev, pdev->name, &wcnss_ops, rproc 479 drivers/remoteproc/qcom_wcnss.c if (!rproc) { rproc 484 drivers/remoteproc/qcom_wcnss.c wcnss = (struct qcom_wcnss *)rproc->priv; rproc 486 drivers/remoteproc/qcom_wcnss.c wcnss->rproc = rproc; rproc 546 drivers/remoteproc/qcom_wcnss.c qcom_add_smd_subdev(rproc, &wcnss->smd_subdev); rproc 547 drivers/remoteproc/qcom_wcnss.c wcnss->sysmon = qcom_add_sysmon_subdev(rproc, "wcnss", WCNSS_SSCTL_ID); rproc 553 drivers/remoteproc/qcom_wcnss.c ret = rproc_add(rproc); rproc 560 drivers/remoteproc/qcom_wcnss.c rproc_free(rproc); rproc 572 drivers/remoteproc/qcom_wcnss.c rproc_del(wcnss->rproc); rproc 575 drivers/remoteproc/qcom_wcnss.c qcom_remove_smd_subdev(wcnss->rproc, &wcnss->smd_subdev); rproc 576 drivers/remoteproc/qcom_wcnss.c rproc_free(wcnss->rproc); rproc 47 drivers/remoteproc/remoteproc_core.c typedef int (*rproc_handle_resources_t)(struct rproc *rproc, rproc 49 drivers/remoteproc/remoteproc_core.c typedef int (*rproc_handle_resource_t)(struct rproc *rproc, rproc 52 drivers/remoteproc/remoteproc_core.c static int rproc_alloc_carveout(struct rproc *rproc, rproc 54 drivers/remoteproc/remoteproc_core.c static int rproc_release_carveout(struct rproc *rproc, rproc 85 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = token; rproc 89 drivers/remoteproc/remoteproc_core.c rproc_report_crash(rproc, RPROC_MMUFAULT); rproc 98 drivers/remoteproc/remoteproc_core.c static int rproc_enable_iommu(struct rproc *rproc) rproc 101 drivers/remoteproc/remoteproc_core.c struct device *dev = rproc->dev.parent; rproc 104 drivers/remoteproc/remoteproc_core.c if (!rproc->has_iommu) { rproc 115 drivers/remoteproc/remoteproc_core.c iommu_set_fault_handler(domain, rproc_iommu_fault, rproc); rproc 123 drivers/remoteproc/remoteproc_core.c rproc->domain = domain; rproc 132 drivers/remoteproc/remoteproc_core.c static void rproc_disable_iommu(struct rproc *rproc) rproc 134 drivers/remoteproc/remoteproc_core.c struct iommu_domain *domain = rproc->domain; rproc 135 drivers/remoteproc/remoteproc_core.c struct device *dev = rproc->dev.parent; rproc 190 drivers/remoteproc/remoteproc_core.c void *rproc_da_to_va(struct rproc *rproc, u64 da, int len) rproc 195 drivers/remoteproc/remoteproc_core.c if (rproc->ops->da_to_va) { rproc 196 drivers/remoteproc/remoteproc_core.c ptr = rproc->ops->da_to_va(rproc, da, len); rproc 201 drivers/remoteproc/remoteproc_core.c list_for_each_entry(carveout, &rproc->carveouts, node) { rproc 244 drivers/remoteproc/remoteproc_core.c rproc_find_carveout_by_name(struct rproc *rproc, const char *name, ...) rproc 257 drivers/remoteproc/remoteproc_core.c list_for_each_entry(carveout, &rproc->carveouts, node) { rproc 282 drivers/remoteproc/remoteproc_core.c static int rproc_check_carveout_da(struct rproc *rproc, rproc 285 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 319 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = rvdev->rproc; rproc 320 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 329 drivers/remoteproc/remoteproc_core.c rsc = (void *)rproc->table_ptr + rvdev->rsc_offset; rproc 332 drivers/remoteproc/remoteproc_core.c mem = rproc_find_carveout_by_name(rproc, "vdev%dvring%d", rvdev->index, rproc 335 drivers/remoteproc/remoteproc_core.c if (rproc_check_carveout_da(rproc, mem, rsc->vring[i].da, size)) rproc 349 drivers/remoteproc/remoteproc_core.c rproc_add_carveout(rproc, mem); rproc 357 drivers/remoteproc/remoteproc_core.c ret = idr_alloc(&rproc->notifyids, rvring, 0, 0, GFP_KERNEL); rproc 365 drivers/remoteproc/remoteproc_core.c if (notifyid > rproc->max_notifyid) rproc 366 drivers/remoteproc/remoteproc_core.c rproc->max_notifyid = notifyid; rproc 378 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = rvdev->rproc; rproc 379 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 402 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = rvring->rvdev->rproc; rproc 406 drivers/remoteproc/remoteproc_core.c idr_remove(&rproc->notifyids, rvring->notifyid); rproc 409 drivers/remoteproc/remoteproc_core.c rsc = (void *)rproc->table_ptr + rvring->rvdev->rsc_offset; rproc 472 drivers/remoteproc/remoteproc_core.c static int rproc_handle_vdev(struct rproc *rproc, struct fw_rsc_vdev *rsc, rproc 475 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 509 drivers/remoteproc/remoteproc_core.c rvdev->rproc = rproc; rproc 510 drivers/remoteproc/remoteproc_core.c rvdev->index = rproc->nb_vdev++; rproc 514 drivers/remoteproc/remoteproc_core.c rvdev->dev.parent = &rproc->dev; rproc 515 drivers/remoteproc/remoteproc_core.c rvdev->dev.dma_pfn_offset = rproc->dev.parent->dma_pfn_offset; rproc 526 drivers/remoteproc/remoteproc_core.c set_dma_ops(&rvdev->dev, get_dma_ops(rproc->dev.parent)); rproc 529 drivers/remoteproc/remoteproc_core.c dma_get_mask(rproc->dev.parent)); rproc 533 drivers/remoteproc/remoteproc_core.c dma_get_mask(rproc->dev.parent), ret); rproc 553 drivers/remoteproc/remoteproc_core.c list_add_tail(&rvdev->node, &rproc->rvdevs); rproc 558 drivers/remoteproc/remoteproc_core.c rproc_add_subdev(rproc, &rvdev->subdev); rproc 574 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = rvdev->rproc; rproc 582 drivers/remoteproc/remoteproc_core.c rproc_remove_subdev(rproc, &rvdev->subdev); rproc 603 drivers/remoteproc/remoteproc_core.c static int rproc_handle_trace(struct rproc *rproc, struct fw_rsc_trace *rsc, rproc 607 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 630 drivers/remoteproc/remoteproc_core.c trace->rproc = rproc; rproc 633 drivers/remoteproc/remoteproc_core.c snprintf(name, sizeof(name), "trace%d", rproc->num_traces); rproc 636 drivers/remoteproc/remoteproc_core.c trace->tfile = rproc_create_trace_file(name, rproc, trace); rproc 642 drivers/remoteproc/remoteproc_core.c list_add_tail(&trace->node, &rproc->traces); rproc 644 drivers/remoteproc/remoteproc_core.c rproc->num_traces++; rproc 677 drivers/remoteproc/remoteproc_core.c static int rproc_handle_devmem(struct rproc *rproc, struct fw_rsc_devmem *rsc, rproc 681 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 685 drivers/remoteproc/remoteproc_core.c if (!rproc->domain) rproc 703 drivers/remoteproc/remoteproc_core.c ret = iommu_map(rproc->domain, rsc->da, rsc->pa, rsc->len, rsc->flags); rproc 718 drivers/remoteproc/remoteproc_core.c list_add_tail(&mapping->node, &rproc->mappings); rproc 738 drivers/remoteproc/remoteproc_core.c static int rproc_alloc_carveout(struct rproc *rproc, rproc 742 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 757 drivers/remoteproc/remoteproc_core.c if (mem->da != FW_RSC_ADDR_ANY && !rproc->domain) { rproc 786 drivers/remoteproc/remoteproc_core.c if (mem->da != FW_RSC_ADDR_ANY && rproc->domain) { rproc 793 drivers/remoteproc/remoteproc_core.c ret = iommu_map(rproc->domain, mem->da, dma, mem->len, rproc 809 drivers/remoteproc/remoteproc_core.c list_add_tail(&mapping->node, &rproc->mappings); rproc 843 drivers/remoteproc/remoteproc_core.c static int rproc_release_carveout(struct rproc *rproc, rproc 846 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 871 drivers/remoteproc/remoteproc_core.c static int rproc_handle_carveout(struct rproc *rproc, rproc 876 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 896 drivers/remoteproc/remoteproc_core.c carveout = rproc_find_carveout_by_name(rproc, rsc->name); rproc 905 drivers/remoteproc/remoteproc_core.c if (rproc_check_carveout_da(rproc, carveout, rsc->da, rsc->len)) rproc 926 drivers/remoteproc/remoteproc_core.c rproc_add_carveout(rproc, carveout); rproc 939 drivers/remoteproc/remoteproc_core.c void rproc_add_carveout(struct rproc *rproc, struct rproc_mem_entry *mem) rproc 941 drivers/remoteproc/remoteproc_core.c list_add_tail(&mem->node, &rproc->carveouts); rproc 962 drivers/remoteproc/remoteproc_core.c int (*alloc)(struct rproc *, struct rproc_mem_entry *), rproc 963 drivers/remoteproc/remoteproc_core.c int (*release)(struct rproc *, struct rproc_mem_entry *), rproc 1038 drivers/remoteproc/remoteproc_core.c static int rproc_handle_resources(struct rproc *rproc, rproc 1041 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1045 drivers/remoteproc/remoteproc_core.c if (!rproc->table_ptr) rproc 1048 drivers/remoteproc/remoteproc_core.c for (i = 0; i < rproc->table_ptr->num; i++) { rproc 1049 drivers/remoteproc/remoteproc_core.c int offset = rproc->table_ptr->offset[i]; rproc 1050 drivers/remoteproc/remoteproc_core.c struct fw_rsc_hdr *hdr = (void *)rproc->table_ptr + offset; rproc 1051 drivers/remoteproc/remoteproc_core.c int avail = rproc->table_sz - offset - sizeof(*hdr); rproc 1064 drivers/remoteproc/remoteproc_core.c ret = rproc_handle_rsc(rproc, hdr->type, rsc, rproc 1085 drivers/remoteproc/remoteproc_core.c ret = handler(rproc, rsc, offset + sizeof(*hdr), avail); rproc 1093 drivers/remoteproc/remoteproc_core.c static int rproc_prepare_subdevices(struct rproc *rproc) rproc 1098 drivers/remoteproc/remoteproc_core.c list_for_each_entry(subdev, &rproc->subdevs, node) { rproc 1109 drivers/remoteproc/remoteproc_core.c list_for_each_entry_continue_reverse(subdev, &rproc->subdevs, node) { rproc 1117 drivers/remoteproc/remoteproc_core.c static int rproc_start_subdevices(struct rproc *rproc) rproc 1122 drivers/remoteproc/remoteproc_core.c list_for_each_entry(subdev, &rproc->subdevs, node) { rproc 1133 drivers/remoteproc/remoteproc_core.c list_for_each_entry_continue_reverse(subdev, &rproc->subdevs, node) { rproc 1141 drivers/remoteproc/remoteproc_core.c static void rproc_stop_subdevices(struct rproc *rproc, bool crashed) rproc 1145 drivers/remoteproc/remoteproc_core.c list_for_each_entry_reverse(subdev, &rproc->subdevs, node) { rproc 1151 drivers/remoteproc/remoteproc_core.c static void rproc_unprepare_subdevices(struct rproc *rproc) rproc 1155 drivers/remoteproc/remoteproc_core.c list_for_each_entry_reverse(subdev, &rproc->subdevs, node) { rproc 1172 drivers/remoteproc/remoteproc_core.c static int rproc_alloc_registered_carveouts(struct rproc *rproc) rproc 1176 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1180 drivers/remoteproc/remoteproc_core.c list_for_each_entry_safe(entry, tmp, &rproc->carveouts, node) { rproc 1182 drivers/remoteproc/remoteproc_core.c ret = entry->alloc(rproc, entry); rproc 1192 drivers/remoteproc/remoteproc_core.c rsc = (void *)rproc->table_ptr + entry->rsc_offset; rproc 1235 drivers/remoteproc/remoteproc_core.c static void rproc_coredump_cleanup(struct rproc *rproc) rproc 1239 drivers/remoteproc/remoteproc_core.c list_for_each_entry_safe(entry, tmp, &rproc->dump_segments, node) { rproc 1252 drivers/remoteproc/remoteproc_core.c static void rproc_resource_cleanup(struct rproc *rproc) rproc 1257 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1260 drivers/remoteproc/remoteproc_core.c list_for_each_entry_safe(trace, ttmp, &rproc->traces, node) { rproc 1262 drivers/remoteproc/remoteproc_core.c rproc->num_traces--; rproc 1268 drivers/remoteproc/remoteproc_core.c list_for_each_entry_safe(entry, tmp, &rproc->mappings, node) { rproc 1271 drivers/remoteproc/remoteproc_core.c unmapped = iommu_unmap(rproc->domain, entry->da, entry->len); rproc 1283 drivers/remoteproc/remoteproc_core.c list_for_each_entry_safe(entry, tmp, &rproc->carveouts, node) { rproc 1285 drivers/remoteproc/remoteproc_core.c entry->release(rproc, entry); rproc 1291 drivers/remoteproc/remoteproc_core.c list_for_each_entry_safe(rvdev, rvtmp, &rproc->rvdevs, node) rproc 1294 drivers/remoteproc/remoteproc_core.c rproc_coredump_cleanup(rproc); rproc 1297 drivers/remoteproc/remoteproc_core.c static int rproc_start(struct rproc *rproc, const struct firmware *fw) rproc 1300 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1304 drivers/remoteproc/remoteproc_core.c ret = rproc_load_segments(rproc, fw); rproc 1318 drivers/remoteproc/remoteproc_core.c loaded_table = rproc_find_loaded_rsc_table(rproc, fw); rproc 1320 drivers/remoteproc/remoteproc_core.c memcpy(loaded_table, rproc->cached_table, rproc->table_sz); rproc 1321 drivers/remoteproc/remoteproc_core.c rproc->table_ptr = loaded_table; rproc 1324 drivers/remoteproc/remoteproc_core.c ret = rproc_prepare_subdevices(rproc); rproc 1327 drivers/remoteproc/remoteproc_core.c rproc->name, ret); rproc 1332 drivers/remoteproc/remoteproc_core.c ret = rproc->ops->start(rproc); rproc 1334 drivers/remoteproc/remoteproc_core.c dev_err(dev, "can't start rproc %s: %d\n", rproc->name, ret); rproc 1339 drivers/remoteproc/remoteproc_core.c ret = rproc_start_subdevices(rproc); rproc 1342 drivers/remoteproc/remoteproc_core.c rproc->name, ret); rproc 1346 drivers/remoteproc/remoteproc_core.c rproc->state = RPROC_RUNNING; rproc 1348 drivers/remoteproc/remoteproc_core.c dev_info(dev, "remote processor %s is now up\n", rproc->name); rproc 1353 drivers/remoteproc/remoteproc_core.c rproc->ops->stop(rproc); rproc 1355 drivers/remoteproc/remoteproc_core.c rproc_unprepare_subdevices(rproc); rproc 1357 drivers/remoteproc/remoteproc_core.c rproc->table_ptr = rproc->cached_table; rproc 1365 drivers/remoteproc/remoteproc_core.c static int rproc_fw_boot(struct rproc *rproc, const struct firmware *fw) rproc 1367 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1368 drivers/remoteproc/remoteproc_core.c const char *name = rproc->firmware; rproc 1371 drivers/remoteproc/remoteproc_core.c ret = rproc_fw_sanity_check(rproc, fw); rproc 1381 drivers/remoteproc/remoteproc_core.c ret = rproc_enable_iommu(rproc); rproc 1387 drivers/remoteproc/remoteproc_core.c rproc->bootaddr = rproc_get_boot_addr(rproc, fw); rproc 1390 drivers/remoteproc/remoteproc_core.c ret = rproc_parse_fw(rproc, fw); rproc 1395 drivers/remoteproc/remoteproc_core.c rproc->max_notifyid = -1; rproc 1398 drivers/remoteproc/remoteproc_core.c rproc->nb_vdev = 0; rproc 1401 drivers/remoteproc/remoteproc_core.c ret = rproc_handle_resources(rproc, rproc_loading_handlers); rproc 1408 drivers/remoteproc/remoteproc_core.c ret = rproc_alloc_registered_carveouts(rproc); rproc 1415 drivers/remoteproc/remoteproc_core.c ret = rproc_start(rproc, fw); rproc 1422 drivers/remoteproc/remoteproc_core.c rproc_resource_cleanup(rproc); rproc 1423 drivers/remoteproc/remoteproc_core.c kfree(rproc->cached_table); rproc 1424 drivers/remoteproc/remoteproc_core.c rproc->cached_table = NULL; rproc 1425 drivers/remoteproc/remoteproc_core.c rproc->table_ptr = NULL; rproc 1427 drivers/remoteproc/remoteproc_core.c rproc_disable_iommu(rproc); rproc 1441 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = context; rproc 1443 drivers/remoteproc/remoteproc_core.c rproc_boot(rproc); rproc 1448 drivers/remoteproc/remoteproc_core.c static int rproc_trigger_auto_boot(struct rproc *rproc) rproc 1457 drivers/remoteproc/remoteproc_core.c rproc->firmware, &rproc->dev, GFP_KERNEL, rproc 1458 drivers/remoteproc/remoteproc_core.c rproc, rproc_auto_boot_callback); rproc 1460 drivers/remoteproc/remoteproc_core.c dev_err(&rproc->dev, "request_firmware_nowait err: %d\n", ret); rproc 1465 drivers/remoteproc/remoteproc_core.c static int rproc_stop(struct rproc *rproc, bool crashed) rproc 1467 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1471 drivers/remoteproc/remoteproc_core.c rproc_stop_subdevices(rproc, crashed); rproc 1474 drivers/remoteproc/remoteproc_core.c rproc->table_ptr = rproc->cached_table; rproc 1477 drivers/remoteproc/remoteproc_core.c ret = rproc->ops->stop(rproc); rproc 1483 drivers/remoteproc/remoteproc_core.c rproc_unprepare_subdevices(rproc); rproc 1485 drivers/remoteproc/remoteproc_core.c rproc->state = RPROC_OFFLINE; rproc 1487 drivers/remoteproc/remoteproc_core.c dev_info(dev, "stopped remote processor %s\n", rproc->name); rproc 1503 drivers/remoteproc/remoteproc_core.c int rproc_coredump_add_segment(struct rproc *rproc, dma_addr_t da, size_t size) rproc 1514 drivers/remoteproc/remoteproc_core.c list_add_tail(&segment->node, &rproc->dump_segments); rproc 1534 drivers/remoteproc/remoteproc_core.c int rproc_coredump_add_custom_segment(struct rproc *rproc, rproc 1536 drivers/remoteproc/remoteproc_core.c void (*dumpfn)(struct rproc *rproc, rproc 1552 drivers/remoteproc/remoteproc_core.c list_add_tail(&segment->node, &rproc->dump_segments); rproc 1565 drivers/remoteproc/remoteproc_core.c static void rproc_coredump(struct rproc *rproc) rproc 1576 drivers/remoteproc/remoteproc_core.c if (list_empty(&rproc->dump_segments)) rproc 1580 drivers/remoteproc/remoteproc_core.c list_for_each_entry(segment, &rproc->dump_segments, node) { rproc 1601 drivers/remoteproc/remoteproc_core.c ehdr->e_entry = rproc->bootaddr; rproc 1609 drivers/remoteproc/remoteproc_core.c list_for_each_entry(segment, &rproc->dump_segments, node) { rproc 1621 drivers/remoteproc/remoteproc_core.c segment->dump(rproc, segment, data + offset); rproc 1623 drivers/remoteproc/remoteproc_core.c ptr = rproc_da_to_va(rproc, segment->da, segment->size); rproc 1625 drivers/remoteproc/remoteproc_core.c dev_err(&rproc->dev, rproc 1638 drivers/remoteproc/remoteproc_core.c dev_coredumpv(&rproc->dev, data, data_size, GFP_KERNEL); rproc 1651 drivers/remoteproc/remoteproc_core.c int rproc_trigger_recovery(struct rproc *rproc) rproc 1654 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1657 drivers/remoteproc/remoteproc_core.c dev_err(dev, "recovering %s\n", rproc->name); rproc 1659 drivers/remoteproc/remoteproc_core.c ret = mutex_lock_interruptible(&rproc->lock); rproc 1663 drivers/remoteproc/remoteproc_core.c ret = rproc_stop(rproc, true); rproc 1668 drivers/remoteproc/remoteproc_core.c rproc_coredump(rproc); rproc 1671 drivers/remoteproc/remoteproc_core.c ret = request_firmware(&firmware_p, rproc->firmware, dev); rproc 1678 drivers/remoteproc/remoteproc_core.c ret = rproc_start(rproc, firmware_p); rproc 1683 drivers/remoteproc/remoteproc_core.c mutex_unlock(&rproc->lock); rproc 1695 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = container_of(work, struct rproc, crash_handler); rproc 1696 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1700 drivers/remoteproc/remoteproc_core.c mutex_lock(&rproc->lock); rproc 1702 drivers/remoteproc/remoteproc_core.c if (rproc->state == RPROC_CRASHED || rproc->state == RPROC_OFFLINE) { rproc 1704 drivers/remoteproc/remoteproc_core.c mutex_unlock(&rproc->lock); rproc 1708 drivers/remoteproc/remoteproc_core.c rproc->state = RPROC_CRASHED; rproc 1709 drivers/remoteproc/remoteproc_core.c dev_err(dev, "handling crash #%u in %s\n", ++rproc->crash_cnt, rproc 1710 drivers/remoteproc/remoteproc_core.c rproc->name); rproc 1712 drivers/remoteproc/remoteproc_core.c mutex_unlock(&rproc->lock); rproc 1714 drivers/remoteproc/remoteproc_core.c if (!rproc->recovery_disabled) rproc 1715 drivers/remoteproc/remoteproc_core.c rproc_trigger_recovery(rproc); rproc 1729 drivers/remoteproc/remoteproc_core.c int rproc_boot(struct rproc *rproc) rproc 1735 drivers/remoteproc/remoteproc_core.c if (!rproc) { rproc 1740 drivers/remoteproc/remoteproc_core.c dev = &rproc->dev; rproc 1742 drivers/remoteproc/remoteproc_core.c ret = mutex_lock_interruptible(&rproc->lock); rproc 1744 drivers/remoteproc/remoteproc_core.c dev_err(dev, "can't lock rproc %s: %d\n", rproc->name, ret); rproc 1748 drivers/remoteproc/remoteproc_core.c if (rproc->state == RPROC_DELETED) { rproc 1750 drivers/remoteproc/remoteproc_core.c dev_err(dev, "can't boot deleted rproc %s\n", rproc->name); rproc 1755 drivers/remoteproc/remoteproc_core.c if (atomic_inc_return(&rproc->power) > 1) { rproc 1760 drivers/remoteproc/remoteproc_core.c dev_info(dev, "powering up %s\n", rproc->name); rproc 1763 drivers/remoteproc/remoteproc_core.c ret = request_firmware(&firmware_p, rproc->firmware, dev); rproc 1769 drivers/remoteproc/remoteproc_core.c ret = rproc_fw_boot(rproc, firmware_p); rproc 1775 drivers/remoteproc/remoteproc_core.c atomic_dec(&rproc->power); rproc 1777 drivers/remoteproc/remoteproc_core.c mutex_unlock(&rproc->lock); rproc 1801 drivers/remoteproc/remoteproc_core.c void rproc_shutdown(struct rproc *rproc) rproc 1803 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1806 drivers/remoteproc/remoteproc_core.c ret = mutex_lock_interruptible(&rproc->lock); rproc 1808 drivers/remoteproc/remoteproc_core.c dev_err(dev, "can't lock rproc %s: %d\n", rproc->name, ret); rproc 1813 drivers/remoteproc/remoteproc_core.c if (!atomic_dec_and_test(&rproc->power)) rproc 1816 drivers/remoteproc/remoteproc_core.c ret = rproc_stop(rproc, false); rproc 1818 drivers/remoteproc/remoteproc_core.c atomic_inc(&rproc->power); rproc 1823 drivers/remoteproc/remoteproc_core.c rproc_resource_cleanup(rproc); rproc 1825 drivers/remoteproc/remoteproc_core.c rproc_disable_iommu(rproc); rproc 1828 drivers/remoteproc/remoteproc_core.c kfree(rproc->cached_table); rproc 1829 drivers/remoteproc/remoteproc_core.c rproc->cached_table = NULL; rproc 1830 drivers/remoteproc/remoteproc_core.c rproc->table_ptr = NULL; rproc 1832 drivers/remoteproc/remoteproc_core.c mutex_unlock(&rproc->lock); rproc 1849 drivers/remoteproc/remoteproc_core.c struct rproc *rproc_get_by_phandle(phandle phandle) rproc 1851 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = NULL, *r; rproc 1867 drivers/remoteproc/remoteproc_core.c rproc = r; rproc 1868 drivers/remoteproc/remoteproc_core.c get_device(&rproc->dev); rproc 1876 drivers/remoteproc/remoteproc_core.c return rproc; rproc 1879 drivers/remoteproc/remoteproc_core.c struct rproc *rproc_get_by_phandle(phandle phandle) rproc 1906 drivers/remoteproc/remoteproc_core.c int rproc_add(struct rproc *rproc) rproc 1908 drivers/remoteproc/remoteproc_core.c struct device *dev = &rproc->dev; rproc 1915 drivers/remoteproc/remoteproc_core.c dev_info(dev, "%s is available\n", rproc->name); rproc 1918 drivers/remoteproc/remoteproc_core.c rproc_create_debug_dir(rproc); rproc 1921 drivers/remoteproc/remoteproc_core.c if (rproc->auto_boot) { rproc 1922 drivers/remoteproc/remoteproc_core.c ret = rproc_trigger_auto_boot(rproc); rproc 1929 drivers/remoteproc/remoteproc_core.c list_add(&rproc->node, &rproc_list); rproc 1947 drivers/remoteproc/remoteproc_core.c struct rproc *rproc = container_of(dev, struct rproc, dev); rproc 1949 drivers/remoteproc/remoteproc_core.c dev_info(&rproc->dev, "releasing %s\n", rproc->name); rproc 1951 drivers/remoteproc/remoteproc_core.c idr_destroy(&rproc->notifyids); rproc 1953 drivers/remoteproc/remoteproc_core.c if (rproc->index >= 0) rproc 1954 drivers/remoteproc/remoteproc_core.c ida_simple_remove(&rproc_dev_index, rproc->index); rproc 1956 drivers/remoteproc/remoteproc_core.c kfree(rproc->firmware); rproc 1957 drivers/remoteproc/remoteproc_core.c kfree(rproc->ops); rproc 1958 drivers/remoteproc/remoteproc_core.c kfree(rproc); rproc 1989 drivers/remoteproc/remoteproc_core.c struct rproc *rproc_alloc(struct device *dev, const char *name, rproc 1993 drivers/remoteproc/remoteproc_core.c struct rproc *rproc; rproc 2016 drivers/remoteproc/remoteproc_core.c rproc = kzalloc(sizeof(struct rproc) + len, GFP_KERNEL); rproc 2017 drivers/remoteproc/remoteproc_core.c if (!rproc) { rproc 2022 drivers/remoteproc/remoteproc_core.c rproc->ops = kmemdup(ops, sizeof(*ops), GFP_KERNEL); rproc 2023 drivers/remoteproc/remoteproc_core.c if (!rproc->ops) { rproc 2025 drivers/remoteproc/remoteproc_core.c kfree(rproc); rproc 2029 drivers/remoteproc/remoteproc_core.c rproc->firmware = p; rproc 2030 drivers/remoteproc/remoteproc_core.c rproc->name = name; rproc 2031 drivers/remoteproc/remoteproc_core.c rproc->priv = &rproc[1]; rproc 2032 drivers/remoteproc/remoteproc_core.c rproc->auto_boot = true; rproc 2034 drivers/remoteproc/remoteproc_core.c device_initialize(&rproc->dev); rproc 2035 drivers/remoteproc/remoteproc_core.c rproc->dev.parent = dev; rproc 2036 drivers/remoteproc/remoteproc_core.c rproc->dev.type = &rproc_type; rproc 2037 drivers/remoteproc/remoteproc_core.c rproc->dev.class = &rproc_class; rproc 2038 drivers/remoteproc/remoteproc_core.c rproc->dev.driver_data = rproc; rproc 2041 drivers/remoteproc/remoteproc_core.c rproc->index = ida_simple_get(&rproc_dev_index, 0, 0, GFP_KERNEL); rproc 2042 drivers/remoteproc/remoteproc_core.c if (rproc->index < 0) { rproc 2043 drivers/remoteproc/remoteproc_core.c dev_err(dev, "ida_simple_get failed: %d\n", rproc->index); rproc 2044 drivers/remoteproc/remoteproc_core.c put_device(&rproc->dev); rproc 2048 drivers/remoteproc/remoteproc_core.c dev_set_name(&rproc->dev, "remoteproc%d", rproc->index); rproc 2050 drivers/remoteproc/remoteproc_core.c atomic_set(&rproc->power, 0); rproc 2053 drivers/remoteproc/remoteproc_core.c if (!rproc->ops->load) { rproc 2054 drivers/remoteproc/remoteproc_core.c rproc->ops->load = rproc_elf_load_segments; rproc 2055 drivers/remoteproc/remoteproc_core.c rproc->ops->parse_fw = rproc_elf_load_rsc_table; rproc 2056 drivers/remoteproc/remoteproc_core.c rproc->ops->find_loaded_rsc_table = rproc_elf_find_loaded_rsc_table; rproc 2057 drivers/remoteproc/remoteproc_core.c rproc->ops->sanity_check = rproc_elf_sanity_check; rproc 2058 drivers/remoteproc/remoteproc_core.c rproc->ops->get_boot_addr = rproc_elf_get_boot_addr; rproc 2061 drivers/remoteproc/remoteproc_core.c mutex_init(&rproc->lock); rproc 2063 drivers/remoteproc/remoteproc_core.c idr_init(&rproc->notifyids); rproc 2065 drivers/remoteproc/remoteproc_core.c INIT_LIST_HEAD(&rproc->carveouts); rproc 2066 drivers/remoteproc/remoteproc_core.c INIT_LIST_HEAD(&rproc->mappings); rproc 2067 drivers/remoteproc/remoteproc_core.c INIT_LIST_HEAD(&rproc->traces); rproc 2068 drivers/remoteproc/remoteproc_core.c INIT_LIST_HEAD(&rproc->rvdevs); rproc 2069 drivers/remoteproc/remoteproc_core.c INIT_LIST_HEAD(&rproc->subdevs); rproc 2070 drivers/remoteproc/remoteproc_core.c INIT_LIST_HEAD(&rproc->dump_segments); rproc 2072 drivers/remoteproc/remoteproc_core.c INIT_WORK(&rproc->crash_handler, rproc_crash_handler_work); rproc 2074 drivers/remoteproc/remoteproc_core.c rproc->state = RPROC_OFFLINE; rproc 2076 drivers/remoteproc/remoteproc_core.c return rproc; rproc 2089 drivers/remoteproc/remoteproc_core.c void rproc_free(struct rproc *rproc) rproc 2091 drivers/remoteproc/remoteproc_core.c put_device(&rproc->dev); rproc 2104 drivers/remoteproc/remoteproc_core.c void rproc_put(struct rproc *rproc) rproc 2106 drivers/remoteproc/remoteproc_core.c module_put(rproc->dev.parent->driver->owner); rproc 2107 drivers/remoteproc/remoteproc_core.c put_device(&rproc->dev); rproc 2126 drivers/remoteproc/remoteproc_core.c int rproc_del(struct rproc *rproc) rproc 2128 drivers/remoteproc/remoteproc_core.c if (!rproc) rproc 2133 drivers/remoteproc/remoteproc_core.c if (rproc->auto_boot) rproc 2134 drivers/remoteproc/remoteproc_core.c rproc_shutdown(rproc); rproc 2136 drivers/remoteproc/remoteproc_core.c mutex_lock(&rproc->lock); rproc 2137 drivers/remoteproc/remoteproc_core.c rproc->state = RPROC_DELETED; rproc 2138 drivers/remoteproc/remoteproc_core.c mutex_unlock(&rproc->lock); rproc 2140 drivers/remoteproc/remoteproc_core.c rproc_delete_debug_dir(rproc); rproc 2144 drivers/remoteproc/remoteproc_core.c list_del(&rproc->node); rproc 2147 drivers/remoteproc/remoteproc_core.c device_del(&rproc->dev); rproc 2160 drivers/remoteproc/remoteproc_core.c void rproc_add_subdev(struct rproc *rproc, struct rproc_subdev *subdev) rproc 2162 drivers/remoteproc/remoteproc_core.c list_add_tail(&subdev->node, &rproc->subdevs); rproc 2171 drivers/remoteproc/remoteproc_core.c void rproc_remove_subdev(struct rproc *rproc, struct rproc_subdev *subdev) rproc 2183 drivers/remoteproc/remoteproc_core.c struct rproc *rproc_get_by_child(struct device *dev) rproc 2205 drivers/remoteproc/remoteproc_core.c void rproc_report_crash(struct rproc *rproc, enum rproc_crash_type type) rproc 2207 drivers/remoteproc/remoteproc_core.c if (!rproc) { rproc 2212 drivers/remoteproc/remoteproc_core.c dev_err(&rproc->dev, "crash detected in %s: type %s\n", rproc 2213 drivers/remoteproc/remoteproc_core.c rproc->name, rproc_crash_to_string(type)); rproc 2216 drivers/remoteproc/remoteproc_core.c schedule_work(&rproc->crash_handler); rproc 48 drivers/remoteproc/remoteproc_debugfs.c va = rproc_da_to_va(data->rproc, trace->da, trace->len); rproc 71 drivers/remoteproc/remoteproc_debugfs.c struct rproc *rproc = filp->private_data; rproc 76 drivers/remoteproc/remoteproc_debugfs.c i = scnprintf(buf, sizeof(buf), "%.98s\n", rproc->name); rproc 91 drivers/remoteproc/remoteproc_debugfs.c struct rproc *rproc = filp->private_data; rproc 92 drivers/remoteproc/remoteproc_debugfs.c char *buf = rproc->recovery_disabled ? "disabled\n" : "enabled\n"; rproc 125 drivers/remoteproc/remoteproc_debugfs.c struct rproc *rproc = filp->private_data; rproc 141 drivers/remoteproc/remoteproc_debugfs.c rproc->recovery_disabled = false; rproc 143 drivers/remoteproc/remoteproc_debugfs.c if (rproc->state == RPROC_CRASHED) rproc 144 drivers/remoteproc/remoteproc_debugfs.c rproc_trigger_recovery(rproc); rproc 146 drivers/remoteproc/remoteproc_debugfs.c rproc->recovery_disabled = true; rproc 149 drivers/remoteproc/remoteproc_debugfs.c if (rproc->state == RPROC_CRASHED) rproc 150 drivers/remoteproc/remoteproc_debugfs.c rproc_trigger_recovery(rproc); rproc 168 drivers/remoteproc/remoteproc_debugfs.c struct rproc *rproc = filp->private_data; rproc 176 drivers/remoteproc/remoteproc_debugfs.c rproc_report_crash(rproc, type); rproc 191 drivers/remoteproc/remoteproc_debugfs.c struct rproc *rproc = seq->private; rproc 192 drivers/remoteproc/remoteproc_debugfs.c struct resource_table *table = rproc->table_ptr; rproc 287 drivers/remoteproc/remoteproc_debugfs.c struct rproc *rproc = seq->private; rproc 290 drivers/remoteproc/remoteproc_debugfs.c list_for_each_entry(carveout, &rproc->carveouts, node) { rproc 319 drivers/remoteproc/remoteproc_debugfs.c struct dentry *rproc_create_trace_file(const char *name, struct rproc *rproc, rproc 324 drivers/remoteproc/remoteproc_debugfs.c tfile = debugfs_create_file(name, 0400, rproc->dbg_dir, trace, rproc 327 drivers/remoteproc/remoteproc_debugfs.c dev_err(&rproc->dev, "failed to create debugfs trace entry\n"); rproc 334 drivers/remoteproc/remoteproc_debugfs.c void rproc_delete_debug_dir(struct rproc *rproc) rproc 336 drivers/remoteproc/remoteproc_debugfs.c if (!rproc->dbg_dir) rproc 339 drivers/remoteproc/remoteproc_debugfs.c debugfs_remove_recursive(rproc->dbg_dir); rproc 342 drivers/remoteproc/remoteproc_debugfs.c void rproc_create_debug_dir(struct rproc *rproc) rproc 344 drivers/remoteproc/remoteproc_debugfs.c struct device *dev = &rproc->dev; rproc 349 drivers/remoteproc/remoteproc_debugfs.c rproc->dbg_dir = debugfs_create_dir(dev_name(dev), rproc_dbg); rproc 350 drivers/remoteproc/remoteproc_debugfs.c if (!rproc->dbg_dir) rproc 353 drivers/remoteproc/remoteproc_debugfs.c debugfs_create_file("name", 0400, rproc->dbg_dir, rproc 354 drivers/remoteproc/remoteproc_debugfs.c rproc, &rproc_name_ops); rproc 355 drivers/remoteproc/remoteproc_debugfs.c debugfs_create_file("recovery", 0400, rproc->dbg_dir, rproc 356 drivers/remoteproc/remoteproc_debugfs.c rproc, &rproc_recovery_ops); rproc 357 drivers/remoteproc/remoteproc_debugfs.c debugfs_create_file("crash", 0200, rproc->dbg_dir, rproc 358 drivers/remoteproc/remoteproc_debugfs.c rproc, &rproc_crash_ops); rproc 359 drivers/remoteproc/remoteproc_debugfs.c debugfs_create_file("resource_table", 0400, rproc->dbg_dir, rproc 360 drivers/remoteproc/remoteproc_debugfs.c rproc, &rproc_rsc_table_ops); rproc 361 drivers/remoteproc/remoteproc_debugfs.c debugfs_create_file("carveout_memories", 0400, rproc->dbg_dir, rproc 362 drivers/remoteproc/remoteproc_debugfs.c rproc, &rproc_carveouts_ops); rproc 34 drivers/remoteproc/remoteproc_elf_loader.c int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw) rproc 36 drivers/remoteproc/remoteproc_elf_loader.c const char *name = rproc->firmware; rproc 37 drivers/remoteproc/remoteproc_elf_loader.c struct device *dev = &rproc->dev; rproc 105 drivers/remoteproc/remoteproc_elf_loader.c u32 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw) rproc 137 drivers/remoteproc/remoteproc_elf_loader.c int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw) rproc 139 drivers/remoteproc/remoteproc_elf_loader.c struct device *dev = &rproc->dev; rproc 177 drivers/remoteproc/remoteproc_elf_loader.c ptr = rproc_da_to_va(rproc, da, memsz); rproc 271 drivers/remoteproc/remoteproc_elf_loader.c int rproc_elf_load_rsc_table(struct rproc *rproc, const struct firmware *fw) rproc 275 drivers/remoteproc/remoteproc_elf_loader.c struct device *dev = &rproc->dev; rproc 295 drivers/remoteproc/remoteproc_elf_loader.c rproc->cached_table = kmemdup(table, tablesz, GFP_KERNEL); rproc 296 drivers/remoteproc/remoteproc_elf_loader.c if (!rproc->cached_table) rproc 299 drivers/remoteproc/remoteproc_elf_loader.c rproc->table_ptr = rproc->cached_table; rproc 300 drivers/remoteproc/remoteproc_elf_loader.c rproc->table_sz = tablesz; rproc 317 drivers/remoteproc/remoteproc_elf_loader.c struct resource_table *rproc_elf_find_loaded_rsc_table(struct rproc *rproc, rproc 323 drivers/remoteproc/remoteproc_elf_loader.c shdr = find_table(&rproc->dev, ehdr, fw->size); rproc 327 drivers/remoteproc/remoteproc_elf_loader.c return rproc_da_to_va(rproc, shdr->sh_addr, shdr->sh_size); rproc 18 drivers/remoteproc/remoteproc_internal.h struct rproc; rproc 21 drivers/remoteproc/remoteproc_internal.h struct rproc *rproc; rproc 29 drivers/remoteproc/remoteproc_internal.h irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int vq_id); rproc 38 drivers/remoteproc/remoteproc_internal.h struct dentry *rproc_create_trace_file(const char *name, struct rproc *rproc, rproc 40 drivers/remoteproc/remoteproc_internal.h void rproc_delete_debug_dir(struct rproc *rproc); rproc 41 drivers/remoteproc/remoteproc_internal.h void rproc_create_debug_dir(struct rproc *rproc); rproc 53 drivers/remoteproc/remoteproc_internal.h void *rproc_da_to_va(struct rproc *rproc, u64 da, int len); rproc 55 drivers/remoteproc/remoteproc_internal.h int rproc_trigger_recovery(struct rproc *rproc); rproc 57 drivers/remoteproc/remoteproc_internal.h int rproc_elf_sanity_check(struct rproc *rproc, const struct firmware *fw); rproc 58 drivers/remoteproc/remoteproc_internal.h u32 rproc_elf_get_boot_addr(struct rproc *rproc, const struct firmware *fw); rproc 59 drivers/remoteproc/remoteproc_internal.h int rproc_elf_load_segments(struct rproc *rproc, const struct firmware *fw); rproc 60 drivers/remoteproc/remoteproc_internal.h int rproc_elf_load_rsc_table(struct rproc *rproc, const struct firmware *fw); rproc 61 drivers/remoteproc/remoteproc_internal.h struct resource_table *rproc_elf_find_loaded_rsc_table(struct rproc *rproc, rproc 64 drivers/remoteproc/remoteproc_internal.h rproc_find_carveout_by_name(struct rproc *rproc, const char *name, ...); rproc 67 drivers/remoteproc/remoteproc_internal.h int rproc_fw_sanity_check(struct rproc *rproc, const struct firmware *fw) rproc 69 drivers/remoteproc/remoteproc_internal.h if (rproc->ops->sanity_check) rproc 70 drivers/remoteproc/remoteproc_internal.h return rproc->ops->sanity_check(rproc, fw); rproc 76 drivers/remoteproc/remoteproc_internal.h u32 rproc_get_boot_addr(struct rproc *rproc, const struct firmware *fw) rproc 78 drivers/remoteproc/remoteproc_internal.h if (rproc->ops->get_boot_addr) rproc 79 drivers/remoteproc/remoteproc_internal.h return rproc->ops->get_boot_addr(rproc, fw); rproc 85 drivers/remoteproc/remoteproc_internal.h int rproc_load_segments(struct rproc *rproc, const struct firmware *fw) rproc 87 drivers/remoteproc/remoteproc_internal.h if (rproc->ops->load) rproc 88 drivers/remoteproc/remoteproc_internal.h return rproc->ops->load(rproc, fw); rproc 93 drivers/remoteproc/remoteproc_internal.h static inline int rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) rproc 95 drivers/remoteproc/remoteproc_internal.h if (rproc->ops->parse_fw) rproc 96 drivers/remoteproc/remoteproc_internal.h return rproc->ops->parse_fw(rproc, fw); rproc 102 drivers/remoteproc/remoteproc_internal.h int rproc_handle_rsc(struct rproc *rproc, u32 rsc_type, void *rsc, int offset, rproc 105 drivers/remoteproc/remoteproc_internal.h if (rproc->ops->handle_rsc) rproc 106 drivers/remoteproc/remoteproc_internal.h return rproc->ops->handle_rsc(rproc, rsc_type, rsc, offset, rproc 113 drivers/remoteproc/remoteproc_internal.h struct resource_table *rproc_find_loaded_rsc_table(struct rproc *rproc, rproc 116 drivers/remoteproc/remoteproc_internal.h if (rproc->ops->find_loaded_rsc_table) rproc 117 drivers/remoteproc/remoteproc_internal.h return rproc->ops->find_loaded_rsc_table(rproc, fw); rproc 10 drivers/remoteproc/remoteproc_sysfs.c #define to_rproc(d) container_of(d, struct rproc, dev) rproc 16 drivers/remoteproc/remoteproc_sysfs.c struct rproc *rproc = to_rproc(dev); rproc 18 drivers/remoteproc/remoteproc_sysfs.c return sprintf(buf, "%s\n", rproc->firmware); rproc 26 drivers/remoteproc/remoteproc_sysfs.c struct rproc *rproc = to_rproc(dev); rproc 30 drivers/remoteproc/remoteproc_sysfs.c err = mutex_lock_interruptible(&rproc->lock); rproc 32 drivers/remoteproc/remoteproc_sysfs.c dev_err(dev, "can't lock rproc %s: %d\n", rproc->name, err); rproc 36 drivers/remoteproc/remoteproc_sysfs.c if (rproc->state != RPROC_OFFLINE) { rproc 55 drivers/remoteproc/remoteproc_sysfs.c kfree(rproc->firmware); rproc 56 drivers/remoteproc/remoteproc_sysfs.c rproc->firmware = p; rproc 58 drivers/remoteproc/remoteproc_sysfs.c mutex_unlock(&rproc->lock); rproc 81 drivers/remoteproc/remoteproc_sysfs.c struct rproc *rproc = to_rproc(dev); rproc 84 drivers/remoteproc/remoteproc_sysfs.c state = rproc->state > RPROC_LAST ? RPROC_LAST : rproc->state; rproc 93 drivers/remoteproc/remoteproc_sysfs.c struct rproc *rproc = to_rproc(dev); rproc 97 drivers/remoteproc/remoteproc_sysfs.c if (rproc->state == RPROC_RUNNING) rproc 100 drivers/remoteproc/remoteproc_sysfs.c ret = rproc_boot(rproc); rproc 102 drivers/remoteproc/remoteproc_sysfs.c dev_err(&rproc->dev, "Boot failed: %d\n", ret); rproc 104 drivers/remoteproc/remoteproc_sysfs.c if (rproc->state != RPROC_RUNNING) rproc 107 drivers/remoteproc/remoteproc_sysfs.c rproc_shutdown(rproc); rproc 109 drivers/remoteproc/remoteproc_sysfs.c dev_err(&rproc->dev, "Unrecognised option: %s\n", buf); rproc 120 drivers/remoteproc/remoteproc_sysfs.c struct rproc *rproc = to_rproc(dev); rproc 122 drivers/remoteproc/remoteproc_sysfs.c return sprintf(buf, "%s\n", rproc->name); rproc 30 drivers/remoteproc/remoteproc_virtio.c struct rproc *rproc = rvring->rvdev->rproc; rproc 33 drivers/remoteproc/remoteproc_virtio.c dev_dbg(&rproc->dev, "kicking vq index: %d\n", notifyid); rproc 35 drivers/remoteproc/remoteproc_virtio.c rproc->ops->kick(rproc, notifyid); rproc 51 drivers/remoteproc/remoteproc_virtio.c irqreturn_t rproc_vq_interrupt(struct rproc *rproc, int notifyid) rproc 55 drivers/remoteproc/remoteproc_virtio.c dev_dbg(&rproc->dev, "vq index %d is interrupted\n", notifyid); rproc 57 drivers/remoteproc/remoteproc_virtio.c rvring = idr_find(&rproc->notifyids, notifyid); rproc 71 drivers/remoteproc/remoteproc_virtio.c struct rproc *rproc = vdev_to_rproc(vdev); rproc 72 drivers/remoteproc/remoteproc_virtio.c struct device *dev = &rproc->dev; rproc 88 drivers/remoteproc/remoteproc_virtio.c mem = rproc_find_carveout_by_name(rproc, "vdev%dvring%d", rvdev->index, rproc 120 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rproc->table_ptr + rvdev->rsc_offset; rproc 178 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 188 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 199 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 211 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 231 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 258 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 276 drivers/remoteproc/remoteproc_virtio.c rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset; rproc 311 drivers/remoteproc/remoteproc_virtio.c struct rproc *rproc = vdev_to_rproc(vdev); rproc 317 drivers/remoteproc/remoteproc_virtio.c put_device(&rproc->dev); rproc 331 drivers/remoteproc/remoteproc_virtio.c struct rproc *rproc = rvdev->rproc; rproc 337 drivers/remoteproc/remoteproc_virtio.c if (rproc->ops->kick == NULL) { rproc 340 drivers/remoteproc/remoteproc_virtio.c rproc->name); rproc 345 drivers/remoteproc/remoteproc_virtio.c mem = rproc_find_carveout_by_name(rproc, "vdev%dbuffer", rvdev->index); rproc 350 drivers/remoteproc/remoteproc_virtio.c struct device_node *np = rproc->dev.parent->of_node; rproc 379 drivers/remoteproc/remoteproc_virtio.c struct device_node *np = rproc->dev.parent->of_node; rproc 411 drivers/remoteproc/remoteproc_virtio.c get_device(&rproc->dev); rproc 58 drivers/remoteproc/st_remoteproc.c struct rproc *rproc = dev_get_drvdata(dev); rproc 60 drivers/remoteproc/st_remoteproc.c if (rproc_vq_interrupt(rproc, msg) == IRQ_NONE) rproc 76 drivers/remoteproc/st_remoteproc.c static void st_rproc_kick(struct rproc *rproc, int vqid) rproc 78 drivers/remoteproc/st_remoteproc.c struct st_rproc *ddata = rproc->priv; rproc 79 drivers/remoteproc/st_remoteproc.c struct device *dev = rproc->dev.parent; rproc 92 drivers/remoteproc/st_remoteproc.c static int st_rproc_mem_alloc(struct rproc *rproc, rproc 95 drivers/remoteproc/st_remoteproc.c struct device *dev = rproc->dev.parent; rproc 111 drivers/remoteproc/st_remoteproc.c static int st_rproc_mem_release(struct rproc *rproc, rproc 119 drivers/remoteproc/st_remoteproc.c static int st_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) rproc 121 drivers/remoteproc/st_remoteproc.c struct device *dev = rproc->dev.parent; rproc 156 drivers/remoteproc/st_remoteproc.c rproc_add_carveout(rproc, mem); rproc 160 drivers/remoteproc/st_remoteproc.c return rproc_elf_load_rsc_table(rproc, fw); rproc 163 drivers/remoteproc/st_remoteproc.c static int st_rproc_start(struct rproc *rproc) rproc 165 drivers/remoteproc/st_remoteproc.c struct st_rproc *ddata = rproc->priv; rproc 169 drivers/remoteproc/st_remoteproc.c ddata->config->bootaddr_mask, rproc->bootaddr); rproc 173 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "Failed to enable clock\n"); rproc 180 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "Failed to deassert S/W Reset\n"); rproc 188 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "Failed to deassert Power Reset\n"); rproc 193 drivers/remoteproc/st_remoteproc.c dev_info(&rproc->dev, "Started from 0x%x\n", rproc->bootaddr); rproc 207 drivers/remoteproc/st_remoteproc.c static int st_rproc_stop(struct rproc *rproc) rproc 209 drivers/remoteproc/st_remoteproc.c struct st_rproc *ddata = rproc->priv; rproc 215 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "Failed to assert S/W Reset\n"); rproc 221 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "Failed to assert Power Reset\n"); rproc 245 drivers/remoteproc/st_remoteproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 246 drivers/remoteproc/st_remoteproc.c struct st_rproc *ddata = rproc->priv; rproc 283 drivers/remoteproc/st_remoteproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 284 drivers/remoteproc/st_remoteproc.c struct st_rproc *ddata = rproc->priv; rproc 344 drivers/remoteproc/st_remoteproc.c struct rproc *rproc; rproc 355 drivers/remoteproc/st_remoteproc.c rproc = rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata)); rproc 356 drivers/remoteproc/st_remoteproc.c if (!rproc) rproc 359 drivers/remoteproc/st_remoteproc.c rproc->has_iommu = false; rproc 360 drivers/remoteproc/st_remoteproc.c ddata = rproc->priv; rproc 363 drivers/remoteproc/st_remoteproc.c platform_set_drvdata(pdev, rproc); rproc 376 drivers/remoteproc/st_remoteproc.c atomic_inc(&rproc->power); rproc 377 drivers/remoteproc/st_remoteproc.c rproc->state = RPROC_RUNNING; rproc 401 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "failed to request mbox chan 0\n"); rproc 409 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "failed to request mbox chan 0\n"); rproc 417 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "failed to request mbox chan 1\n"); rproc 425 drivers/remoteproc/st_remoteproc.c dev_err(&rproc->dev, "failed to request mbox chan 1\n"); rproc 432 drivers/remoteproc/st_remoteproc.c ret = rproc_add(rproc); rproc 444 drivers/remoteproc/st_remoteproc.c rproc_free(rproc); rproc 450 drivers/remoteproc/st_remoteproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 451 drivers/remoteproc/st_remoteproc.c struct st_rproc *ddata = rproc->priv; rproc 454 drivers/remoteproc/st_remoteproc.c rproc_del(rproc); rproc 461 drivers/remoteproc/st_remoteproc.c rproc_free(rproc); rproc 112 drivers/remoteproc/st_slim_rproc.c static int slim_rproc_start(struct rproc *rproc) rproc 114 drivers/remoteproc/st_slim_rproc.c struct device *dev = &rproc->dev; rproc 115 drivers/remoteproc/st_slim_rproc.c struct st_slim_rproc *slim_rproc = rproc->priv; rproc 154 drivers/remoteproc/st_slim_rproc.c static int slim_rproc_stop(struct rproc *rproc) rproc 156 drivers/remoteproc/st_slim_rproc.c struct st_slim_rproc *slim_rproc = rproc->priv; rproc 170 drivers/remoteproc/st_slim_rproc.c dev_warn(&rproc->dev, "Failed to disable SLIM"); rproc 172 drivers/remoteproc/st_slim_rproc.c dev_dbg(&rproc->dev, "slim stopped\n"); rproc 177 drivers/remoteproc/st_slim_rproc.c static void *slim_rproc_da_to_va(struct rproc *rproc, u64 da, int len) rproc 179 drivers/remoteproc/st_slim_rproc.c struct st_slim_rproc *slim_rproc = rproc->priv; rproc 194 drivers/remoteproc/st_slim_rproc.c dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%x va = 0x%pK\n", rproc 228 drivers/remoteproc/st_slim_rproc.c struct rproc *rproc; rproc 238 drivers/remoteproc/st_slim_rproc.c rproc = rproc_alloc(dev, np->name, &slim_rproc_ops, rproc 240 drivers/remoteproc/st_slim_rproc.c if (!rproc) rproc 243 drivers/remoteproc/st_slim_rproc.c rproc->has_iommu = false; rproc 245 drivers/remoteproc/st_slim_rproc.c slim_rproc = rproc->priv; rproc 246 drivers/remoteproc/st_slim_rproc.c slim_rproc->rproc = rproc; rproc 290 drivers/remoteproc/st_slim_rproc.c err = rproc_add(rproc); rproc 304 drivers/remoteproc/st_slim_rproc.c rproc_free(rproc); rproc 328 drivers/remoteproc/st_slim_rproc.c rproc_del(slim_rproc->rproc); rproc 329 drivers/remoteproc/st_slim_rproc.c rproc_free(slim_rproc->rproc); rproc 74 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_pa_to_da(struct rproc *rproc, phys_addr_t pa, u64 *da) rproc 77 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 87 drivers/remoteproc/stm32_rproc.c dev_dbg(rproc->dev.parent, "pa %pa to da %llx\n", &pa, *da); rproc 94 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_mem_alloc(struct rproc *rproc, rproc 97 drivers/remoteproc/stm32_rproc.c struct device *dev = rproc->dev.parent; rproc 114 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_mem_release(struct rproc *rproc, rproc 117 drivers/remoteproc/stm32_rproc.c dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); rproc 123 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_of_memory_translations(struct rproc *rproc) rproc 125 drivers/remoteproc/stm32_rproc.c struct device *parent, *dev = rproc->dev.parent; rproc 126 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 176 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_mbox_idx(struct rproc *rproc, const unsigned char *name) rproc 178 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 185 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "mailbox %s not found\n", name); rproc 190 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_elf_load_rsc_table(struct rproc *rproc, rproc 193 drivers/remoteproc/stm32_rproc.c if (rproc_elf_load_rsc_table(rproc, fw)) rproc 194 drivers/remoteproc/stm32_rproc.c dev_warn(&rproc->dev, "no resource table found for this firmware\n"); rproc 199 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw) rproc 201 drivers/remoteproc/stm32_rproc.c struct device *dev = rproc->dev.parent; rproc 218 drivers/remoteproc/stm32_rproc.c if (stm32_rproc_pa_to_da(rproc, rmem->base, &da) < 0) { rproc 235 drivers/remoteproc/stm32_rproc.c rproc_coredump_add_segment(rproc, da, rproc 248 drivers/remoteproc/stm32_rproc.c rproc_add_carveout(rproc, mem); rproc 252 drivers/remoteproc/stm32_rproc.c return stm32_rproc_elf_load_rsc_table(rproc, fw); rproc 257 drivers/remoteproc/stm32_rproc.c struct rproc *rproc = data; rproc 259 drivers/remoteproc/stm32_rproc.c rproc_report_crash(rproc, RPROC_WATCHDOG); rproc 266 drivers/remoteproc/stm32_rproc.c struct rproc *rproc = dev_get_drvdata(cl->dev); rproc 269 drivers/remoteproc/stm32_rproc.c if (rproc_vq_interrupt(rproc, mb->vq_id) == IRQ_NONE) rproc 270 drivers/remoteproc/stm32_rproc.c dev_dbg(&rproc->dev, "no message found in vq%d\n", mb->vq_id); rproc 273 drivers/remoteproc/stm32_rproc.c static void stm32_rproc_free_mbox(struct rproc *rproc) rproc 275 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 313 drivers/remoteproc/stm32_rproc.c static void stm32_rproc_request_mbox(struct rproc *rproc) rproc 315 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 316 drivers/remoteproc/stm32_rproc.c struct device *dev = &rproc->dev; rproc 338 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_set_hold_boot(struct rproc *rproc, bool hold) rproc 340 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 357 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "failed to set hold boot\n"); rproc 362 drivers/remoteproc/stm32_rproc.c static void stm32_rproc_add_coredump_trace(struct rproc *rproc) rproc 368 drivers/remoteproc/stm32_rproc.c list_for_each_entry(trace, &rproc->traces, node) { rproc 371 drivers/remoteproc/stm32_rproc.c list_for_each_entry(segment, &rproc->dump_segments, node) { rproc 379 drivers/remoteproc/stm32_rproc.c rproc_coredump_add_segment(rproc, trace->trace_mem.da, rproc 384 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_start(struct rproc *rproc) rproc 386 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 389 drivers/remoteproc/stm32_rproc.c stm32_rproc_add_coredump_trace(rproc); rproc 396 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "failed to clear pdds\n"); rproc 401 drivers/remoteproc/stm32_rproc.c err = stm32_rproc_set_hold_boot(rproc, false); rproc 405 drivers/remoteproc/stm32_rproc.c return stm32_rproc_set_hold_boot(rproc, true); rproc 408 drivers/remoteproc/stm32_rproc.c static int stm32_rproc_stop(struct rproc *rproc) rproc 410 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 414 drivers/remoteproc/stm32_rproc.c if (rproc->state != RPROC_OFFLINE) { rproc 415 drivers/remoteproc/stm32_rproc.c idx = stm32_rproc_mbox_idx(rproc, STM32_MBX_SHUTDOWN); rproc 421 drivers/remoteproc/stm32_rproc.c dev_warn(&rproc->dev, "warning: remote FW shutdown without ack\n"); rproc 425 drivers/remoteproc/stm32_rproc.c err = stm32_rproc_set_hold_boot(rproc, true); rproc 431 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "failed to assert the reset\n"); rproc 440 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "failed to set pdds\n"); rproc 448 drivers/remoteproc/stm32_rproc.c static void stm32_rproc_kick(struct rproc *rproc, int vqid) rproc 450 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 464 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "%s: failed (%s, err:%d)\n", rproc 513 drivers/remoteproc/stm32_rproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 514 drivers/remoteproc/stm32_rproc.c struct stm32_rproc *ddata = rproc->priv; rproc 525 drivers/remoteproc/stm32_rproc.c dev_name(dev), rproc); rproc 553 drivers/remoteproc/stm32_rproc.c dev_err(&rproc->dev, "failed to read tzen\n"); rproc 569 drivers/remoteproc/stm32_rproc.c rproc->auto_boot = of_property_read_bool(np, "st,auto-boot"); rproc 571 drivers/remoteproc/stm32_rproc.c return stm32_rproc_of_memory_translations(rproc); rproc 579 drivers/remoteproc/stm32_rproc.c struct rproc *rproc; rproc 586 drivers/remoteproc/stm32_rproc.c rproc = rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata)); rproc 587 drivers/remoteproc/stm32_rproc.c if (!rproc) rproc 590 drivers/remoteproc/stm32_rproc.c rproc->has_iommu = false; rproc 591 drivers/remoteproc/stm32_rproc.c ddata = rproc->priv; rproc 593 drivers/remoteproc/stm32_rproc.c platform_set_drvdata(pdev, rproc); rproc 599 drivers/remoteproc/stm32_rproc.c stm32_rproc_request_mbox(rproc); rproc 601 drivers/remoteproc/stm32_rproc.c ret = rproc_add(rproc); rproc 608 drivers/remoteproc/stm32_rproc.c stm32_rproc_free_mbox(rproc); rproc 610 drivers/remoteproc/stm32_rproc.c rproc_free(rproc); rproc 616 drivers/remoteproc/stm32_rproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 618 drivers/remoteproc/stm32_rproc.c if (atomic_read(&rproc->power) > 0) rproc 619 drivers/remoteproc/stm32_rproc.c rproc_shutdown(rproc); rproc 621 drivers/remoteproc/stm32_rproc.c rproc_del(rproc); rproc 622 drivers/remoteproc/stm32_rproc.c stm32_rproc_free_mbox(rproc); rproc 623 drivers/remoteproc/stm32_rproc.c rproc_free(rproc); rproc 48 drivers/remoteproc/wkup_m3_rproc.c struct rproc *rproc; rproc 53 drivers/remoteproc/wkup_m3_rproc.c static int wkup_m3_rproc_start(struct rproc *rproc) rproc 55 drivers/remoteproc/wkup_m3_rproc.c struct wkup_m3_rproc *wkupm3 = rproc->priv; rproc 68 drivers/remoteproc/wkup_m3_rproc.c static int wkup_m3_rproc_stop(struct rproc *rproc) rproc 70 drivers/remoteproc/wkup_m3_rproc.c struct wkup_m3_rproc *wkupm3 = rproc->priv; rproc 83 drivers/remoteproc/wkup_m3_rproc.c static void *wkup_m3_rproc_da_to_va(struct rproc *rproc, u64 da, int len) rproc 85 drivers/remoteproc/wkup_m3_rproc.c struct wkup_m3_rproc *wkupm3 = rproc->priv; rproc 127 drivers/remoteproc/wkup_m3_rproc.c struct rproc *rproc; rproc 155 drivers/remoteproc/wkup_m3_rproc.c rproc = rproc_alloc(dev, "wkup_m3", &wkup_m3_rproc_ops, rproc 157 drivers/remoteproc/wkup_m3_rproc.c if (!rproc) { rproc 162 drivers/remoteproc/wkup_m3_rproc.c rproc->auto_boot = false; rproc 164 drivers/remoteproc/wkup_m3_rproc.c wkupm3 = rproc->priv; rproc 165 drivers/remoteproc/wkup_m3_rproc.c wkupm3->rproc = rproc; rproc 192 drivers/remoteproc/wkup_m3_rproc.c dev_set_drvdata(dev, rproc); rproc 194 drivers/remoteproc/wkup_m3_rproc.c ret = rproc_add(rproc); rproc 203 drivers/remoteproc/wkup_m3_rproc.c rproc_free(rproc); rproc 212 drivers/remoteproc/wkup_m3_rproc.c struct rproc *rproc = platform_get_drvdata(pdev); rproc 214 drivers/remoteproc/wkup_m3_rproc.c rproc_del(rproc); rproc 215 drivers/remoteproc/wkup_m3_rproc.c rproc_free(rproc); rproc 419 drivers/soc/ti/wkup_m3_ipc.c ret = rproc_boot(m3_ipc->rproc); rproc 433 drivers/soc/ti/wkup_m3_ipc.c struct rproc *m3_rproc; rproc 490 drivers/soc/ti/wkup_m3_ipc.c m3_ipc->rproc = m3_rproc; rproc 523 drivers/soc/ti/wkup_m3_ipc.c rproc_shutdown(m3_ipc_state->rproc); rproc 524 drivers/soc/ti/wkup_m3_ipc.c rproc_put(m3_ipc_state->rproc); rproc 542 drivers/soc/ti/wkup_m3_ipc.c rproc_shutdown(m3_ipc_state->rproc); rproc 543 drivers/soc/ti/wkup_m3_ipc.c rproc_boot(m3_ipc_state->rproc); rproc 312 include/linux/remoteproc.h struct rproc; rproc 340 include/linux/remoteproc.h int (*alloc)(struct rproc *rproc, struct rproc_mem_entry *mem); rproc 341 include/linux/remoteproc.h int (*release)(struct rproc *rproc, struct rproc_mem_entry *mem); rproc 374 include/linux/remoteproc.h int (*start)(struct rproc *rproc); rproc 375 include/linux/remoteproc.h int (*stop)(struct rproc *rproc); rproc 376 include/linux/remoteproc.h void (*kick)(struct rproc *rproc, int vqid); rproc 377 include/linux/remoteproc.h void * (*da_to_va)(struct rproc *rproc, u64 da, int len); rproc 378 include/linux/remoteproc.h int (*parse_fw)(struct rproc *rproc, const struct firmware *fw); rproc 379 include/linux/remoteproc.h int (*handle_rsc)(struct rproc *rproc, u32 rsc_type, void *rsc, rproc 382 include/linux/remoteproc.h struct rproc *rproc, const struct firmware *fw); rproc 383 include/linux/remoteproc.h int (*load)(struct rproc *rproc, const struct firmware *fw); rproc 384 include/linux/remoteproc.h int (*sanity_check)(struct rproc *rproc, const struct firmware *fw); rproc 385 include/linux/remoteproc.h u32 (*get_boot_addr)(struct rproc *rproc, const struct firmware *fw); rproc 446 include/linux/remoteproc.h void (*dump)(struct rproc *rproc, struct rproc_dump_segment *segment, rproc 581 include/linux/remoteproc.h struct rproc *rproc; rproc 587 include/linux/remoteproc.h struct rproc *rproc_get_by_phandle(phandle phandle); rproc 588 include/linux/remoteproc.h struct rproc *rproc_get_by_child(struct device *dev); rproc 590 include/linux/remoteproc.h struct rproc *rproc_alloc(struct device *dev, const char *name, rproc 593 include/linux/remoteproc.h void rproc_put(struct rproc *rproc); rproc 594 include/linux/remoteproc.h int rproc_add(struct rproc *rproc); rproc 595 include/linux/remoteproc.h int rproc_del(struct rproc *rproc); rproc 596 include/linux/remoteproc.h void rproc_free(struct rproc *rproc); rproc 598 include/linux/remoteproc.h void rproc_add_carveout(struct rproc *rproc, struct rproc_mem_entry *mem); rproc 603 include/linux/remoteproc.h int (*alloc)(struct rproc *, struct rproc_mem_entry *), rproc 604 include/linux/remoteproc.h int (*release)(struct rproc *, struct rproc_mem_entry *), rproc 611 include/linux/remoteproc.h int rproc_boot(struct rproc *rproc); rproc 612 include/linux/remoteproc.h void rproc_shutdown(struct rproc *rproc); rproc 613 include/linux/remoteproc.h void rproc_report_crash(struct rproc *rproc, enum rproc_crash_type type); rproc 614 include/linux/remoteproc.h int rproc_coredump_add_segment(struct rproc *rproc, dma_addr_t da, size_t size); rproc 615 include/linux/remoteproc.h int rproc_coredump_add_custom_segment(struct rproc *rproc, rproc 617 include/linux/remoteproc.h void (*dumpfn)(struct rproc *rproc, rproc 627 include/linux/remoteproc.h static inline struct rproc *vdev_to_rproc(struct virtio_device *vdev) rproc 631 include/linux/remoteproc.h return rvdev->rproc; rproc 634 include/linux/remoteproc.h void rproc_add_subdev(struct rproc *rproc, struct rproc_subdev *subdev); rproc 636 include/linux/remoteproc.h void rproc_remove_subdev(struct rproc *rproc, struct rproc_subdev *subdev); rproc 41 include/linux/remoteproc/st_slim_rproc.h struct rproc *rproc; rproc 29 include/linux/wkup_m3_ipc.h struct rproc *rproc;