Symbol: q6v5
drivers/remoteproc/qcom_q6v5.c
103
msg = qcom_smem_get(QCOM_SMEM_HOST_ANY, q6v5->crash_reason, &len);
drivers/remoteproc/qcom_q6v5.c
105
dev_err(q6v5->dev, "watchdog received: %s\n", msg);
drivers/remoteproc/qcom_q6v5.c
107
dev_err(q6v5->dev, "watchdog without message\n");
drivers/remoteproc/qcom_q6v5.c
109
q6v5->running = false;
drivers/remoteproc/qcom_q6v5.c
110
rproc_report_crash(q6v5->rproc, RPROC_WATCHDOG);
drivers/remoteproc/qcom_q6v5.c
117
struct qcom_q6v5 *q6v5 = data;
drivers/remoteproc/qcom_q6v5.c
121
if (!q6v5->running)
drivers/remoteproc/qcom_q6v5.c
124
msg = qcom_smem_get(QCOM_SMEM_HOST_ANY, q6v5->crash_reason, &len);
drivers/remoteproc/qcom_q6v5.c
126
dev_err(q6v5->dev, "fatal error received: %s\n", msg);
drivers/remoteproc/qcom_q6v5.c
128
dev_err(q6v5->dev, "fatal error without message\n");
drivers/remoteproc/qcom_q6v5.c
130
q6v5->running = false;
drivers/remoteproc/qcom_q6v5.c
131
rproc_report_crash(q6v5->rproc, RPROC_FATAL_ERROR);
drivers/remoteproc/qcom_q6v5.c
138
struct qcom_q6v5 *q6v5 = data;
drivers/remoteproc/qcom_q6v5.c
140
complete(&q6v5->start_done);
drivers/remoteproc/qcom_q6v5.c
154
int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout)
drivers/remoteproc/qcom_q6v5.c
158
ret = wait_for_completion_timeout(&q6v5->start_done, timeout);
drivers/remoteproc/qcom_q6v5.c
165
struct qcom_q6v5 *q6v5 = data;
drivers/remoteproc/qcom_q6v5.c
167
if (q6v5->handover_issued) {
drivers/remoteproc/qcom_q6v5.c
168
dev_err(q6v5->dev, "Handover signaled, but it already happened\n");
drivers/remoteproc/qcom_q6v5.c
172
if (q6v5->handover)
drivers/remoteproc/qcom_q6v5.c
173
q6v5->handover(q6v5);
drivers/remoteproc/qcom_q6v5.c
175
icc_set_bw(q6v5->path, 0, 0);
drivers/remoteproc/qcom_q6v5.c
177
q6v5->handover_issued = true;
drivers/remoteproc/qcom_q6v5.c
184
struct qcom_q6v5 *q6v5 = data;
drivers/remoteproc/qcom_q6v5.c
186
complete(&q6v5->stop_done);
drivers/remoteproc/qcom_q6v5.c
198
int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sysmon)
drivers/remoteproc/qcom_q6v5.c
202
q6v5->running = false;
drivers/remoteproc/qcom_q6v5.c
205
if (q6v5->rproc->state != RPROC_RUNNING || qcom_sysmon_shutdown_acked(sysmon))
drivers/remoteproc/qcom_q6v5.c
208
qcom_smem_state_update_bits(q6v5->state,
drivers/remoteproc/qcom_q6v5.c
209
BIT(q6v5->stop_bit), BIT(q6v5->stop_bit));
drivers/remoteproc/qcom_q6v5.c
211
ret = wait_for_completion_timeout(&q6v5->stop_done, 5 * HZ);
drivers/remoteproc/qcom_q6v5.c
213
qcom_smem_state_update_bits(q6v5->state, BIT(q6v5->stop_bit), 0);
drivers/remoteproc/qcom_q6v5.c
228
unsigned long qcom_q6v5_panic(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5.c
230
qcom_smem_state_update_bits(q6v5->state,
drivers/remoteproc/qcom_q6v5.c
231
BIT(q6v5->stop_bit), BIT(q6v5->stop_bit));
drivers/remoteproc/qcom_q6v5.c
24
static int q6v5_load_state_toggle(struct qcom_q6v5 *q6v5, bool enable)
drivers/remoteproc/qcom_q6v5.c
248
int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev,
drivers/remoteproc/qcom_q6v5.c
250
void (*handover)(struct qcom_q6v5 *q6v5))
drivers/remoteproc/qcom_q6v5.c
254
q6v5->rproc = rproc;
drivers/remoteproc/qcom_q6v5.c
255
q6v5->dev = &pdev->dev;
drivers/remoteproc/qcom_q6v5.c
256
q6v5->crash_reason = crash_reason;
drivers/remoteproc/qcom_q6v5.c
257
q6v5->handover = handover;
drivers/remoteproc/qcom_q6v5.c
259
init_completion(&q6v5->start_done);
drivers/remoteproc/qcom_q6v5.c
260
init_completion(&q6v5->stop_done);
drivers/remoteproc/qcom_q6v5.c
262
q6v5->wdog_irq = platform_get_irq_byname(pdev, "wdog");
drivers/remoteproc/qcom_q6v5.c
263
if (q6v5->wdog_irq < 0)
drivers/remoteproc/qcom_q6v5.c
264
return q6v5->wdog_irq;
drivers/remoteproc/qcom_q6v5.c
266
ret = devm_request_threaded_irq(&pdev->dev, q6v5->wdog_irq,
drivers/remoteproc/qcom_q6v5.c
269
"q6v5 wdog", q6v5);
drivers/remoteproc/qcom_q6v5.c
275
q6v5->fatal_irq = platform_get_irq_byname(pdev, "fatal");
drivers/remoteproc/qcom_q6v5.c
276
if (q6v5->fatal_irq < 0)
drivers/remoteproc/qcom_q6v5.c
277
return q6v5->fatal_irq;
drivers/remoteproc/qcom_q6v5.c
279
ret = devm_request_threaded_irq(&pdev->dev, q6v5->fatal_irq,
drivers/remoteproc/qcom_q6v5.c
28
if (!q6v5->qmp)
drivers/remoteproc/qcom_q6v5.c
282
"q6v5 fatal", q6v5);
drivers/remoteproc/qcom_q6v5.c
288
q6v5->ready_irq = platform_get_irq_byname(pdev, "ready");
drivers/remoteproc/qcom_q6v5.c
289
if (q6v5->ready_irq < 0)
drivers/remoteproc/qcom_q6v5.c
290
return q6v5->ready_irq;
drivers/remoteproc/qcom_q6v5.c
292
ret = devm_request_threaded_irq(&pdev->dev, q6v5->ready_irq,
drivers/remoteproc/qcom_q6v5.c
295
"q6v5 ready", q6v5);
drivers/remoteproc/qcom_q6v5.c
301
q6v5->handover_irq = platform_get_irq_byname(pdev, "handover");
drivers/remoteproc/qcom_q6v5.c
302
if (q6v5->handover_irq < 0)
drivers/remoteproc/qcom_q6v5.c
303
return q6v5->handover_irq;
drivers/remoteproc/qcom_q6v5.c
305
ret = devm_request_threaded_irq(&pdev->dev, q6v5->handover_irq,
drivers/remoteproc/qcom_q6v5.c
308
"q6v5 handover", q6v5);
drivers/remoteproc/qcom_q6v5.c
31
ret = qmp_send(q6v5->qmp, "{class: image, res: load_state, name: %s, val: %s}",
drivers/remoteproc/qcom_q6v5.c
313
disable_irq(q6v5->handover_irq);
drivers/remoteproc/qcom_q6v5.c
315
q6v5->stop_irq = platform_get_irq_byname(pdev, "stop-ack");
drivers/remoteproc/qcom_q6v5.c
316
if (q6v5->stop_irq < 0)
drivers/remoteproc/qcom_q6v5.c
317
return q6v5->stop_irq;
drivers/remoteproc/qcom_q6v5.c
319
ret = devm_request_threaded_irq(&pdev->dev, q6v5->stop_irq,
drivers/remoteproc/qcom_q6v5.c
32
q6v5->load_state, enable ? "on" : "off");
drivers/remoteproc/qcom_q6v5.c
322
"q6v5 stop", q6v5);
drivers/remoteproc/qcom_q6v5.c
328
q6v5->state = devm_qcom_smem_state_get(&pdev->dev, "stop", &q6v5->stop_bit);
drivers/remoteproc/qcom_q6v5.c
329
if (IS_ERR(q6v5->state)) {
drivers/remoteproc/qcom_q6v5.c
331
return PTR_ERR(q6v5->state);
drivers/remoteproc/qcom_q6v5.c
334
q6v5->load_state = devm_kstrdup_const(&pdev->dev, load_state, GFP_KERNEL);
drivers/remoteproc/qcom_q6v5.c
335
q6v5->qmp = qmp_get(&pdev->dev);
drivers/remoteproc/qcom_q6v5.c
336
if (IS_ERR(q6v5->qmp)) {
drivers/remoteproc/qcom_q6v5.c
337
if (PTR_ERR(q6v5->qmp) != -ENODEV)
drivers/remoteproc/qcom_q6v5.c
338
return dev_err_probe(&pdev->dev, PTR_ERR(q6v5->qmp),
drivers/remoteproc/qcom_q6v5.c
34
dev_err(q6v5->dev, "failed to toggle load state\n");
drivers/remoteproc/qcom_q6v5.c
340
q6v5->qmp = NULL;
drivers/remoteproc/qcom_q6v5.c
341
} else if (!q6v5->load_state) {
drivers/remoteproc/qcom_q6v5.c
345
qmp_put(q6v5->qmp);
drivers/remoteproc/qcom_q6v5.c
349
q6v5->path = devm_of_icc_get(&pdev->dev, NULL);
drivers/remoteproc/qcom_q6v5.c
350
if (IS_ERR(q6v5->path))
drivers/remoteproc/qcom_q6v5.c
351
return dev_err_probe(&pdev->dev, PTR_ERR(q6v5->path),
drivers/remoteproc/qcom_q6v5.c
362
void qcom_q6v5_deinit(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5.c
364
qmp_put(q6v5->qmp);
drivers/remoteproc/qcom_q6v5.c
45
int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5.c
49
ret = icc_set_bw(q6v5->path, 0, UINT_MAX);
drivers/remoteproc/qcom_q6v5.c
51
dev_err(q6v5->dev, "failed to set bandwidth request\n");
drivers/remoteproc/qcom_q6v5.c
55
ret = q6v5_load_state_toggle(q6v5, true);
drivers/remoteproc/qcom_q6v5.c
57
icc_set_bw(q6v5->path, 0, 0);
drivers/remoteproc/qcom_q6v5.c
61
reinit_completion(&q6v5->start_done);
drivers/remoteproc/qcom_q6v5.c
62
reinit_completion(&q6v5->stop_done);
drivers/remoteproc/qcom_q6v5.c
64
q6v5->running = true;
drivers/remoteproc/qcom_q6v5.c
65
q6v5->handover_issued = false;
drivers/remoteproc/qcom_q6v5.c
67
enable_irq(q6v5->handover_irq);
drivers/remoteproc/qcom_q6v5.c
79
int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5.c
81
disable_irq(q6v5->handover_irq);
drivers/remoteproc/qcom_q6v5.c
82
q6v5_load_state_toggle(q6v5, false);
drivers/remoteproc/qcom_q6v5.c
85
icc_set_bw(q6v5->path, 0, 0);
drivers/remoteproc/qcom_q6v5.c
87
return !q6v5->handover_issued;
drivers/remoteproc/qcom_q6v5.c
93
struct qcom_q6v5 *q6v5 = data;
drivers/remoteproc/qcom_q6v5.c
98
if (!q6v5->running) {
drivers/remoteproc/qcom_q6v5.c
99
complete(&q6v5->stop_done);
drivers/remoteproc/qcom_q6v5.h
42
void (*handover)(struct qcom_q6v5 *q6v5);
drivers/remoteproc/qcom_q6v5.h
45
int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev,
drivers/remoteproc/qcom_q6v5.h
47
void (*handover)(struct qcom_q6v5 *q6v5));
drivers/remoteproc/qcom_q6v5.h
48
void qcom_q6v5_deinit(struct qcom_q6v5 *q6v5);
drivers/remoteproc/qcom_q6v5.h
50
int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5);
drivers/remoteproc/qcom_q6v5.h
51
int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5);
drivers/remoteproc/qcom_q6v5.h
52
int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sysmon);
drivers/remoteproc/qcom_q6v5.h
53
int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout);
drivers/remoteproc/qcom_q6v5.h
54
unsigned long qcom_q6v5_panic(struct qcom_q6v5 *q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
379
ret = qcom_q6v5_prepare(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
432
ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5 * HZ));
drivers/remoteproc/qcom_q6v5_adsp.c
449
qcom_q6v5_unprepare(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
454
static void qcom_adsp_pil_handover(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5_adsp.c
456
struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
468
ret = qcom_q6v5_request_stop(&adsp->q6v5, adsp->sysmon);
drivers/remoteproc/qcom_q6v5_adsp.c
478
handover = qcom_q6v5_unprepare(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
480
qcom_adsp_pil_handover(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
522
return qcom_q6v5_panic(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
714
ret = qcom_q6v5_init(&adsp->q6v5, pdev, rproc, desc->crash_reason_smem,
drivers/remoteproc/qcom_q6v5_adsp.c
739
qcom_q6v5_deinit(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
755
qcom_q6v5_deinit(&adsp->q6v5);
drivers/remoteproc/qcom_q6v5_adsp.c
84
struct qcom_q6v5 q6v5;
drivers/remoteproc/qcom_q6v5_mss.c
1023
static int q6v5_mpss_init_image(struct q6v5 *qproc, const struct firmware *fw,
drivers/remoteproc/qcom_q6v5_mss.c
1118
static int q6v5_mba_load(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
1124
ret = qcom_q6v5_prepare(&qproc->q6v5);
drivers/remoteproc/qcom_q6v5_mss.c
1288
qcom_q6v5_unprepare(&qproc->q6v5);
drivers/remoteproc/qcom_q6v5_mss.c
1293
static void q6v5_mba_reclaim(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
1353
ret = qcom_q6v5_unprepare(&qproc->q6v5);
drivers/remoteproc/qcom_q6v5_mss.c
1368
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
1383
static int q6v5_mpss_load(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
1592
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
1635
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
1650
ret = qcom_q6v5_wait_for_start(&qproc->q6v5, msecs_to_jiffies(5000));
drivers/remoteproc/qcom_q6v5_mss.c
1677
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
1680
ret = qcom_q6v5_request_stop(&qproc->q6v5, qproc->sysmon);
drivers/remoteproc/qcom_q6v5_mss.c
1696
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
1735
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
1737
return qcom_q6v5_panic(&qproc->q6v5);
drivers/remoteproc/qcom_q6v5_mss.c
1748
static void qcom_msa_handover(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5_mss.c
1750
struct q6v5 *qproc = container_of(q6v5, struct q6v5, q6v5);
drivers/remoteproc/qcom_q6v5_mss.c
1761
static int q6v5_init_mem(struct q6v5 *qproc, struct platform_device *pdev)
drivers/remoteproc/qcom_q6v5_mss.c
1933
static void q6v5_pds_detach(struct q6v5 *qproc, struct device **pds,
drivers/remoteproc/qcom_q6v5_mss.c
1949
static int q6v5_init_reset(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
1970
static int q6v5_alloc_memory_region(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
203
struct qcom_q6v5 q6v5;
drivers/remoteproc/qcom_q6v5_mss.c
2033
struct q6v5 *qproc;
drivers/remoteproc/qcom_q6v5_mss.c
2145
ret = qcom_q6v5_init(&qproc->q6v5, pdev, rproc, MPSS_CRASH_REASON_SMEM, "modem",
drivers/remoteproc/qcom_q6v5_mss.c
2186
struct q6v5 *qproc = platform_get_drvdata(pdev);
drivers/remoteproc/qcom_q6v5_mss.c
2193
qcom_q6v5_deinit(&qproc->q6v5);
drivers/remoteproc/qcom_q6v5_mss.c
293
static int q6v5_regulator_enable(struct q6v5 *qproc,
drivers/remoteproc/qcom_q6v5_mss.c
343
static void q6v5_regulator_disable(struct q6v5 *qproc,
drivers/remoteproc/qcom_q6v5_mss.c
390
static int q6v5_pds_enable(struct q6v5 *qproc, struct device **pds,
drivers/remoteproc/qcom_q6v5_mss.c
417
static void q6v5_pds_disable(struct q6v5 *qproc, struct device **pds,
drivers/remoteproc/qcom_q6v5_mss.c
428
static int q6v5_external_bhs_enable(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
451
static void q6v5_external_bhs_disable(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
456
static int q6v5_xfer_mem_ownership(struct q6v5 *qproc, u64 *current_perm,
drivers/remoteproc/qcom_q6v5_mss.c
486
static void q6v5_debug_policy_load(struct q6v5 *qproc, void *mba_region)
drivers/remoteproc/qcom_q6v5_mss.c
505
struct q6v5 *qproc = rproc->priv;
drivers/remoteproc/qcom_q6v5_mss.c
535
static int q6v5_reset_assert(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
574
static int q6v5_reset_deassert(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
593
static int q6v5_rmb_pbl_wait(struct q6v5 *qproc, int ms)
drivers/remoteproc/qcom_q6v5_mss.c
613
static int q6v5_rmb_mba_wait(struct q6v5 *qproc, u32 status, int ms)
drivers/remoteproc/qcom_q6v5_mss.c
639
static void q6v5_dump_mba_logs(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
664
static int q6v5proc_reset(struct q6v5 *qproc)
drivers/remoteproc/qcom_q6v5_mss.c
913
static int q6v5proc_enable_qchannel(struct q6v5 *qproc, struct regmap *map, u32 offset)
drivers/remoteproc/qcom_q6v5_mss.c
946
static void q6v5proc_disable_qchannel(struct q6v5 *qproc, struct regmap *map, u32 offset)
drivers/remoteproc/qcom_q6v5_mss.c
996
static void q6v5proc_halt_axi_port(struct q6v5 *qproc,
drivers/remoteproc/qcom_q6v5_pas.c
280
ret = qcom_q6v5_prepare(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
339
ret = qcom_q6v5_wait_for_start(&pas->q6v5, msecs_to_jiffies(5000));
drivers/remoteproc/qcom_q6v5_pas.c
378
qcom_q6v5_unprepare(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
386
static void qcom_pas_handover(struct qcom_q6v5 *q6v5)
drivers/remoteproc/qcom_q6v5_pas.c
388
struct qcom_pas *pas = container_of(q6v5, struct qcom_pas, q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
405
ret = qcom_q6v5_request_stop(&pas->q6v5, pas->sysmon);
drivers/remoteproc/qcom_q6v5_pas.c
426
handover = qcom_q6v5_unprepare(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
428
qcom_pas_handover(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
510
return qcom_q6v5_panic(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
69
struct qcom_q6v5 q6v5;
drivers/remoteproc/qcom_q6v5_pas.c
825
ret = qcom_q6v5_init(&pas->q6v5, pdev, rproc, desc->crash_reason_smem,
drivers/remoteproc/qcom_q6v5_pas.c
871
qcom_q6v5_deinit(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_pas.c
888
qcom_q6v5_deinit(&pas->q6v5);
drivers/remoteproc/qcom_q6v5_wcss.c
1014
ret = qcom_q6v5_init(&wcss->q6v5, pdev, rproc, desc->crash_reason_smem, NULL, NULL);
drivers/remoteproc/qcom_q6v5_wcss.c
1044
qcom_q6v5_deinit(&wcss->q6v5);
drivers/remoteproc/qcom_q6v5_wcss.c
1056
qcom_q6v5_deinit(&wcss->q6v5);
drivers/remoteproc/qcom_q6v5_wcss.c
139
struct qcom_q6v5 q6v5;
drivers/remoteproc/qcom_q6v5_wcss.c
244
qcom_q6v5_prepare(&wcss->q6v5);
drivers/remoteproc/qcom_q6v5_wcss.c
280
ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
drivers/remoteproc/qcom_q6v5_wcss.c
469
qcom_q6v5_prepare(&wcss->q6v5);
drivers/remoteproc/qcom_q6v5_wcss.c
481
ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ);
drivers/remoteproc/qcom_q6v5_wcss.c
715
ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL);
drivers/remoteproc/qcom_q6v5_wcss.c
737
qcom_q6v5_unprepare(&wcss->q6v5);