q6v5 24 drivers/remoteproc/qcom_q6v5.c int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5) q6v5 26 drivers/remoteproc/qcom_q6v5.c reinit_completion(&q6v5->start_done); q6v5 27 drivers/remoteproc/qcom_q6v5.c reinit_completion(&q6v5->stop_done); q6v5 29 drivers/remoteproc/qcom_q6v5.c q6v5->running = true; q6v5 30 drivers/remoteproc/qcom_q6v5.c q6v5->handover_issued = false; q6v5 32 drivers/remoteproc/qcom_q6v5.c enable_irq(q6v5->handover_irq); q6v5 44 drivers/remoteproc/qcom_q6v5.c int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5) q6v5 46 drivers/remoteproc/qcom_q6v5.c disable_irq(q6v5->handover_irq); q6v5 48 drivers/remoteproc/qcom_q6v5.c return !q6v5->handover_issued; q6v5 54 drivers/remoteproc/qcom_q6v5.c struct qcom_q6v5 *q6v5 = data; q6v5 59 drivers/remoteproc/qcom_q6v5.c if (!q6v5->running) { q6v5 60 drivers/remoteproc/qcom_q6v5.c complete(&q6v5->stop_done); q6v5 64 drivers/remoteproc/qcom_q6v5.c msg = qcom_smem_get(QCOM_SMEM_HOST_ANY, q6v5->crash_reason, &len); q6v5 66 drivers/remoteproc/qcom_q6v5.c dev_err(q6v5->dev, "watchdog received: %s\n", msg); q6v5 68 drivers/remoteproc/qcom_q6v5.c dev_err(q6v5->dev, "watchdog without message\n"); q6v5 70 drivers/remoteproc/qcom_q6v5.c rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG); q6v5 77 drivers/remoteproc/qcom_q6v5.c struct qcom_q6v5 *q6v5 = data; q6v5 81 drivers/remoteproc/qcom_q6v5.c msg = qcom_smem_get(QCOM_SMEM_HOST_ANY, q6v5->crash_reason, &len); q6v5 83 drivers/remoteproc/qcom_q6v5.c dev_err(q6v5->dev, "fatal error received: %s\n", msg); q6v5 85 drivers/remoteproc/qcom_q6v5.c dev_err(q6v5->dev, "fatal error without message\n"); q6v5 87 drivers/remoteproc/qcom_q6v5.c q6v5->running = false; q6v5 88 drivers/remoteproc/qcom_q6v5.c rproc_report_crash(q6v5->rproc, RPROC_FATAL_ERROR); q6v5 95 drivers/remoteproc/qcom_q6v5.c struct qcom_q6v5 *q6v5 = data; q6v5 97 drivers/remoteproc/qcom_q6v5.c complete(&q6v5->start_done); q6v5 111 drivers/remoteproc/qcom_q6v5.c int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout) q6v5 115 drivers/remoteproc/qcom_q6v5.c ret = wait_for_completion_timeout(&q6v5->start_done, timeout); q6v5 117 drivers/remoteproc/qcom_q6v5.c disable_irq(q6v5->handover_irq); q6v5 125 drivers/remoteproc/qcom_q6v5.c struct qcom_q6v5 *q6v5 = data; q6v5 127 drivers/remoteproc/qcom_q6v5.c if (q6v5->handover) q6v5 128 drivers/remoteproc/qcom_q6v5.c q6v5->handover(q6v5); q6v5 130 drivers/remoteproc/qcom_q6v5.c q6v5->handover_issued = true; q6v5 137 drivers/remoteproc/qcom_q6v5.c struct qcom_q6v5 *q6v5 = data; q6v5 139 drivers/remoteproc/qcom_q6v5.c complete(&q6v5->stop_done); q6v5 150 drivers/remoteproc/qcom_q6v5.c int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5) q6v5 154 drivers/remoteproc/qcom_q6v5.c qcom_smem_state_update_bits(q6v5->state, q6v5 155 drivers/remoteproc/qcom_q6v5.c BIT(q6v5->stop_bit), BIT(q6v5->stop_bit)); q6v5 157 drivers/remoteproc/qcom_q6v5.c ret = wait_for_completion_timeout(&q6v5->stop_done, 5 * HZ); q6v5 159 drivers/remoteproc/qcom_q6v5.c qcom_smem_state_update_bits(q6v5->state, BIT(q6v5->stop_bit), 0); q6v5 175 drivers/remoteproc/qcom_q6v5.c int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, q6v5 177 drivers/remoteproc/qcom_q6v5.c void (*handover)(struct qcom_q6v5 *q6v5)) q6v5 181 drivers/remoteproc/qcom_q6v5.c q6v5->rproc = rproc; q6v5 182 drivers/remoteproc/qcom_q6v5.c q6v5->dev = &pdev->dev; q6v5 183 drivers/remoteproc/qcom_q6v5.c q6v5->crash_reason = crash_reason; q6v5 184 drivers/remoteproc/qcom_q6v5.c q6v5->handover = handover; q6v5 186 drivers/remoteproc/qcom_q6v5.c init_completion(&q6v5->start_done); q6v5 187 drivers/remoteproc/qcom_q6v5.c init_completion(&q6v5->stop_done); q6v5 189 drivers/remoteproc/qcom_q6v5.c q6v5->wdog_irq = platform_get_irq_byname(pdev, "wdog"); q6v5 190 drivers/remoteproc/qcom_q6v5.c if (q6v5->wdog_irq < 0) q6v5 191 drivers/remoteproc/qcom_q6v5.c return q6v5->wdog_irq; q6v5 193 drivers/remoteproc/qcom_q6v5.c ret = devm_request_threaded_irq(&pdev->dev, q6v5->wdog_irq, q6v5 196 drivers/remoteproc/qcom_q6v5.c "q6v5 wdog", q6v5); q6v5 202 drivers/remoteproc/qcom_q6v5.c q6v5->fatal_irq = platform_get_irq_byname(pdev, "fatal"); q6v5 203 drivers/remoteproc/qcom_q6v5.c if (q6v5->fatal_irq < 0) q6v5 204 drivers/remoteproc/qcom_q6v5.c return q6v5->fatal_irq; q6v5 206 drivers/remoteproc/qcom_q6v5.c ret = devm_request_threaded_irq(&pdev->dev, q6v5->fatal_irq, q6v5 209 drivers/remoteproc/qcom_q6v5.c "q6v5 fatal", q6v5); q6v5 215 drivers/remoteproc/qcom_q6v5.c q6v5->ready_irq = platform_get_irq_byname(pdev, "ready"); q6v5 216 drivers/remoteproc/qcom_q6v5.c if (q6v5->ready_irq < 0) q6v5 217 drivers/remoteproc/qcom_q6v5.c return q6v5->ready_irq; q6v5 219 drivers/remoteproc/qcom_q6v5.c ret = devm_request_threaded_irq(&pdev->dev, q6v5->ready_irq, q6v5 222 drivers/remoteproc/qcom_q6v5.c "q6v5 ready", q6v5); q6v5 228 drivers/remoteproc/qcom_q6v5.c q6v5->handover_irq = platform_get_irq_byname(pdev, "handover"); q6v5 229 drivers/remoteproc/qcom_q6v5.c if (q6v5->handover_irq < 0) q6v5 230 drivers/remoteproc/qcom_q6v5.c return q6v5->handover_irq; q6v5 232 drivers/remoteproc/qcom_q6v5.c ret = devm_request_threaded_irq(&pdev->dev, q6v5->handover_irq, q6v5 235 drivers/remoteproc/qcom_q6v5.c "q6v5 handover", q6v5); q6v5 240 drivers/remoteproc/qcom_q6v5.c disable_irq(q6v5->handover_irq); q6v5 242 drivers/remoteproc/qcom_q6v5.c q6v5->stop_irq = platform_get_irq_byname(pdev, "stop-ack"); q6v5 243 drivers/remoteproc/qcom_q6v5.c if (q6v5->stop_irq < 0) q6v5 244 drivers/remoteproc/qcom_q6v5.c return q6v5->stop_irq; q6v5 246 drivers/remoteproc/qcom_q6v5.c ret = devm_request_threaded_irq(&pdev->dev, q6v5->stop_irq, q6v5 249 drivers/remoteproc/qcom_q6v5.c "q6v5 stop", q6v5); q6v5 255 drivers/remoteproc/qcom_q6v5.c q6v5->state = qcom_smem_state_get(&pdev->dev, "stop", &q6v5->stop_bit); q6v5 256 drivers/remoteproc/qcom_q6v5.c if (IS_ERR(q6v5->state)) { q6v5 258 drivers/remoteproc/qcom_q6v5.c return PTR_ERR(q6v5->state); q6v5 34 drivers/remoteproc/qcom_q6v5.h void (*handover)(struct qcom_q6v5 *q6v5); q6v5 37 drivers/remoteproc/qcom_q6v5.h int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, q6v5 39 drivers/remoteproc/qcom_q6v5.h void (*handover)(struct qcom_q6v5 *q6v5)); q6v5 41 drivers/remoteproc/qcom_q6v5.h int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5); q6v5 42 drivers/remoteproc/qcom_q6v5.h int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5); q6v5 43 drivers/remoteproc/qcom_q6v5.h int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5); q6v5 44 drivers/remoteproc/qcom_q6v5.h int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout); q6v5 69 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_q6v5 q6v5; q6v5 179 drivers/remoteproc/qcom_q6v5_adsp.c qcom_q6v5_prepare(&adsp->q6v5); q6v5 222 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5 * HZ)); q6v5 238 drivers/remoteproc/qcom_q6v5_adsp.c qcom_q6v5_unprepare(&adsp->q6v5); q6v5 243 drivers/remoteproc/qcom_q6v5_adsp.c static void qcom_adsp_pil_handover(struct qcom_q6v5 *q6v5) q6v5 245 drivers/remoteproc/qcom_q6v5_adsp.c struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); q6v5 258 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_request_stop(&adsp->q6v5); q6v5 266 drivers/remoteproc/qcom_q6v5_adsp.c handover = qcom_q6v5_unprepare(&adsp->q6v5); q6v5 268 drivers/remoteproc/qcom_q6v5_adsp.c qcom_adsp_pil_handover(&adsp->q6v5); q6v5 450 drivers/remoteproc/qcom_q6v5_adsp.c ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, q6v5 150 drivers/remoteproc/qcom_q6v5_mss.c struct qcom_q6v5 q6v5; q6v5 228 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_regulator_enable(struct q6v5 *qproc, q6v5 278 drivers/remoteproc/qcom_q6v5_mss.c static void q6v5_regulator_disable(struct q6v5 *qproc, q6v5 325 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_pds_enable(struct q6v5 *qproc, struct device **pds, q6v5 349 drivers/remoteproc/qcom_q6v5_mss.c static void q6v5_pds_disable(struct q6v5 *qproc, struct device **pds, q6v5 360 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_xfer_mem_ownership(struct q6v5 *qproc, int *current_perm, q6v5 382 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; q6v5 389 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_reset_assert(struct q6v5 *qproc) q6v5 404 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_reset_deassert(struct q6v5 *qproc) q6v5 421 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_rmb_pbl_wait(struct q6v5 *qproc, int ms) q6v5 441 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_rmb_mba_wait(struct q6v5 *qproc, u32 status, int ms) q6v5 467 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5proc_reset(struct q6v5 *qproc) q6v5 624 drivers/remoteproc/qcom_q6v5_mss.c static void q6v5proc_halt_axi_port(struct q6v5 *qproc, q6v5 658 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_mpss_init_image(struct q6v5 *qproc, const struct firmware *fw) q6v5 728 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_mba_load(struct q6v5 *qproc) q6v5 733 drivers/remoteproc/qcom_q6v5_mss.c qcom_q6v5_prepare(&qproc->q6v5); q6v5 853 drivers/remoteproc/qcom_q6v5_mss.c qcom_q6v5_unprepare(&qproc->q6v5); q6v5 858 drivers/remoteproc/qcom_q6v5_mss.c static void q6v5_mba_reclaim(struct q6v5 *qproc) q6v5 896 drivers/remoteproc/qcom_q6v5_mss.c ret = qcom_q6v5_unprepare(&qproc->q6v5); q6v5 909 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; q6v5 924 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_mpss_load(struct q6v5 *qproc) q6v5 1076 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; q6v5 1114 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = (struct q6v5 *)rproc->priv; q6v5 1128 drivers/remoteproc/qcom_q6v5_mss.c ret = qcom_q6v5_wait_for_start(&qproc->q6v5, msecs_to_jiffies(5000)); q6v5 1155 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = (struct q6v5 *)rproc->priv; q6v5 1160 drivers/remoteproc/qcom_q6v5_mss.c ret = qcom_q6v5_request_stop(&qproc->q6v5); q6v5 1171 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; q6v5 1188 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = rproc->priv; q6v5 1231 drivers/remoteproc/qcom_q6v5_mss.c static void qcom_msa_handover(struct qcom_q6v5 *q6v5) q6v5 1233 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = container_of(q6v5, struct q6v5, q6v5); q6v5 1242 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_init_mem(struct q6v5 *qproc, struct platform_device *pdev) q6v5 1330 drivers/remoteproc/qcom_q6v5_mss.c static void q6v5_pds_detach(struct q6v5 *qproc, struct device **pds, q6v5 1339 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_init_reset(struct q6v5 *qproc) q6v5 1360 drivers/remoteproc/qcom_q6v5_mss.c static int q6v5_alloc_memory_region(struct q6v5 *qproc) q6v5 1409 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc; q6v5 1436 drivers/remoteproc/qcom_q6v5_mss.c qproc = (struct q6v5 *)rproc->priv; q6v5 1519 drivers/remoteproc/qcom_q6v5_mss.c ret = qcom_q6v5_init(&qproc->q6v5, pdev, rproc, MPSS_CRASH_REASON_SMEM, q6v5 1553 drivers/remoteproc/qcom_q6v5_mss.c struct q6v5 *qproc = platform_get_drvdata(pdev); q6v5 44 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_q6v5 q6v5; q6v5 85 drivers/remoteproc/qcom_q6v5_pas.c qcom_q6v5_prepare(&adsp->q6v5); q6v5 110 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5000)); q6v5 131 drivers/remoteproc/qcom_q6v5_pas.c static void qcom_pas_handover(struct qcom_q6v5 *q6v5) q6v5 133 drivers/remoteproc/qcom_q6v5_pas.c struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); q6v5 147 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_request_stop(&adsp->q6v5); q6v5 155 drivers/remoteproc/qcom_q6v5_pas.c handover = qcom_q6v5_unprepare(&adsp->q6v5); q6v5 157 drivers/remoteproc/qcom_q6v5_pas.c qcom_pas_handover(&adsp->q6v5); q6v5 295 drivers/remoteproc/qcom_q6v5_pas.c ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem, q6v5 88 drivers/remoteproc/qcom_q6v5_wcss.c struct qcom_q6v5 q6v5; q6v5 185 drivers/remoteproc/qcom_q6v5_wcss.c qcom_q6v5_prepare(&wcss->q6v5); q6v5 221 drivers/remoteproc/qcom_q6v5_wcss.c ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ); q6v5 389 drivers/remoteproc/qcom_q6v5_wcss.c ret = qcom_q6v5_request_stop(&wcss->q6v5); q6v5 404 drivers/remoteproc/qcom_q6v5_wcss.c qcom_q6v5_unprepare(&wcss->q6v5); q6v5 556 drivers/remoteproc/qcom_q6v5_wcss.c ret = qcom_q6v5_init(&wcss->q6v5, pdev, rproc, WCSS_CRASH_REASON, NULL);