Lines Matching full:rproc

82 	struct rproc *rproc;  member
315 static int adsp_load(struct rproc *rproc, const struct firmware *fw) in adsp_load() argument
317 struct qcom_adsp *adsp = rproc->priv; in adsp_load()
320 ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0, in adsp_load()
331 static void adsp_unmap_carveout(struct rproc *rproc) in adsp_unmap_carveout() argument
333 struct qcom_adsp *adsp = rproc->priv; in adsp_unmap_carveout()
336 iommu_unmap(rproc->domain, adsp->mem_phys, adsp->mem_size); in adsp_unmap_carveout()
339 static int adsp_map_carveout(struct rproc *rproc) in adsp_map_carveout() argument
341 struct qcom_adsp *adsp = rproc->priv; in adsp_map_carveout()
350 if (!rproc->domain) in adsp_map_carveout()
362 ret = iommu_map(rproc->domain, iova, adsp->mem_phys, in adsp_map_carveout()
373 static int adsp_start(struct rproc *rproc) in adsp_start() argument
375 struct qcom_adsp *adsp = rproc->priv; in adsp_start()
383 ret = adsp_map_carveout(rproc); in adsp_start()
447 adsp_unmap_carveout(rproc); in adsp_start()
462 static int adsp_stop(struct rproc *rproc) in adsp_stop() argument
464 struct qcom_adsp *adsp = rproc->priv; in adsp_stop()
476 adsp_unmap_carveout(rproc); in adsp_stop()
485 static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) in adsp_da_to_va() argument
487 struct qcom_adsp *adsp = rproc->priv; in adsp_da_to_va()
497 static int adsp_parse_firmware(struct rproc *rproc, const struct firmware *fw) in adsp_parse_firmware() argument
499 struct qcom_adsp *adsp = rproc->priv; in adsp_parse_firmware()
502 ret = qcom_register_dump_segments(rproc, fw); in adsp_parse_firmware()
504 dev_err(&rproc->dev, "Error in registering dump segments\n"); in adsp_parse_firmware()
509 ret = rproc_elf_load_rsc_table(rproc, fw); in adsp_parse_firmware()
511 dev_err(&rproc->dev, "Error in loading resource table\n"); in adsp_parse_firmware()
518 static unsigned long adsp_panic(struct rproc *rproc) in adsp_panic() argument
520 struct qcom_adsp *adsp = rproc->priv; in adsp_panic()
659 struct rproc *rproc; in adsp_probe() local
674 rproc = devm_rproc_alloc(&pdev->dev, pdev->name, &adsp_ops, in adsp_probe()
676 if (!rproc) { in adsp_probe()
681 rproc->auto_boot = desc->auto_boot; in adsp_probe()
682 rproc->has_iommu = desc->has_iommu; in adsp_probe()
683 rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); in adsp_probe()
685 adsp = rproc->priv; in adsp_probe()
687 adsp->rproc = rproc; in adsp_probe()
719 ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, in adsp_probe()
724 qcom_add_glink_subdev(rproc, &adsp->glink_subdev, desc->ssr_name); in adsp_probe()
725 qcom_add_pdm_subdev(rproc, &adsp->pdm_subdev); in adsp_probe()
726 qcom_add_ssr_subdev(rproc, &adsp->ssr_subdev, desc->ssr_name); in adsp_probe()
727 adsp->sysmon = qcom_add_sysmon_subdev(rproc, in adsp_probe()
735 ret = rproc_add(rproc); in adsp_probe()
745 qcom_remove_glink_subdev(rproc, &adsp->glink_subdev); in adsp_probe()
746 qcom_remove_pdm_subdev(rproc, &adsp->pdm_subdev); in adsp_probe()
747 qcom_remove_ssr_subdev(rproc, &adsp->ssr_subdev); in adsp_probe()
758 rproc_del(adsp->rproc); in adsp_remove()
761 qcom_remove_glink_subdev(adsp->rproc, &adsp->glink_subdev); in adsp_remove()
762 qcom_remove_pdm_subdev(adsp->rproc, &adsp->pdm_subdev); in adsp_remove()
764 qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); in adsp_remove()