/kernel/linux/linux-6.6/drivers/remoteproc/ |
H A D | qcom_q6v5.c | 24 static int q6v5_load_state_toggle(struct qcom_q6v5 *q6v5, bool enable) in q6v5_load_state_toggle() argument 28 if (!q6v5->qmp) in q6v5_load_state_toggle() 31 ret = qmp_send(q6v5->qmp, "{class: image, res: load_state, name: %s, val: %s}", in q6v5_load_state_toggle() 32 q6v5->load_state, enable ? "on" : "off"); in q6v5_load_state_toggle() 34 dev_err(q6v5->dev, "failed to toggle load state\n"); in q6v5_load_state_toggle() 41 * @q6v5: reference to qcom_q6v5 context to be reinitialized 45 int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5) in qcom_q6v5_prepare() argument 49 ret = icc_set_bw(q6v5->path, 0, UINT_MAX); in qcom_q6v5_prepare() 51 dev_err(q6v5->dev, "failed to set bandwidth request\n"); in qcom_q6v5_prepare() 55 ret = q6v5_load_state_toggle(q6v5, tru in qcom_q6v5_prepare() 79 qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5) qcom_q6v5_unprepare() argument 93 struct qcom_q6v5 *q6v5 = data; q6v5_wdog_interrupt() local 117 struct qcom_q6v5 *q6v5 = data; q6v5_fatal_interrupt() local 138 struct qcom_q6v5 *q6v5 = data; q6v5_ready_interrupt() local 154 qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout) qcom_q6v5_wait_for_start() argument 168 struct qcom_q6v5 *q6v5 = data; q6v5_handover_interrupt() local 182 struct qcom_q6v5 *q6v5 = data; q6v5_stop_interrupt() local 196 qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sysmon) qcom_q6v5_request_stop() argument 226 qcom_q6v5_panic(struct qcom_q6v5 *q6v5) qcom_q6v5_panic() argument 246 qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, struct rproc *rproc, int crash_reason, const char *load_state, void (*handover)(struct qcom_q6v5 *q6v5)) qcom_q6v5_init() argument 360 qcom_q6v5_deinit(struct qcom_q6v5 *q6v5) qcom_q6v5_deinit() argument [all...] |
H A D | qcom_q6v5.h | 42 void (*handover)(struct qcom_q6v5 *q6v5); 45 int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, 47 void (*handover)(struct qcom_q6v5 *q6v5)); 48 void qcom_q6v5_deinit(struct qcom_q6v5 *q6v5); 50 int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5); 51 int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5); 52 int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5, struct qcom_sysmon *sysmon); 53 int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout); 54 unsigned long qcom_q6v5_panic(struct qcom_q6v5 *q6v5);
|
H A D | qcom_q6v5_mss.c | 168 struct q6v5 { struct 196 struct qcom_q6v5 q6v5; member 286 static int q6v5_regulator_enable(struct q6v5 *qproc, in q6v5_regulator_enable() 336 static void q6v5_regulator_disable(struct q6v5 *qproc, in q6v5_regulator_disable() 383 static int q6v5_pds_enable(struct q6v5 *qproc, struct device **pds, in q6v5_pds_enable() 410 static void q6v5_pds_disable(struct q6v5 *qproc, struct device **pds, in q6v5_pds_disable() 421 static int q6v5_xfer_mem_ownership(struct q6v5 *qproc, u64 *current_perm, in q6v5_xfer_mem_ownership() 451 static void q6v5_debug_policy_load(struct q6v5 *qproc, void *mba_region) in q6v5_debug_policy_load() 468 struct q6v5 *qproc = rproc->priv; in q6v5_load() 491 static int q6v5_reset_assert(struct q6v5 *qpro 1693 qcom_msa_handover(struct qcom_q6v5 *q6v5) qcom_msa_handover() argument [all...] |
H A D | qcom_q6v5_pas.c | 60 struct qcom_q6v5 q6v5; member 251 ret = qcom_q6v5_prepare(&adsp->q6v5); in adsp_start() 308 ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5000)); in adsp_start() 341 qcom_q6v5_unprepare(&adsp->q6v5); in adsp_start() 349 static void qcom_pas_handover(struct qcom_q6v5 *q6v5) in qcom_pas_handover() argument 351 struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); in qcom_pas_handover() 368 ret = qcom_q6v5_request_stop(&adsp->q6v5, adsp->sysmon); in adsp_stop() 385 handover = qcom_q6v5_unprepare(&adsp->q6v5); in adsp_stop() 387 qcom_pas_handover(&adsp->q6v5); in adsp_stop() [all...] |
H A D | qcom_q6v5_adsp.c | 85 struct qcom_q6v5 q6v5; member 386 ret = qcom_q6v5_prepare(&adsp->q6v5); in adsp_start() 440 ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5 * HZ)); in adsp_start() 457 qcom_q6v5_unprepare(&adsp->q6v5); in adsp_start() 462 static void qcom_adsp_pil_handover(struct qcom_q6v5 *q6v5) in qcom_adsp_pil_handover() argument 464 struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); in qcom_adsp_pil_handover() 476 ret = qcom_q6v5_request_stop(&adsp->q6v5, adsp->sysmon); in adsp_stop() 486 handover = qcom_q6v5_unprepare(&adsp->q6v5); in adsp_stop() 488 qcom_adsp_pil_handover(&adsp->q6v5); in adsp_stop() [all...] |
H A D | qcom_q6v5_wcss.c | 139 struct qcom_q6v5 q6v5; member 243 qcom_q6v5_prepare(&wcss->q6v5); in q6v5_wcss_start() 279 ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ); in q6v5_wcss_start() 468 qcom_q6v5_prepare(&wcss->q6v5); in q6v5_qcs404_wcss_start() 480 ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ); in q6v5_qcs404_wcss_start() 714 ret = qcom_q6v5_request_stop(&wcss->q6v5, NULL); in q6v5_wcss_stop() 736 qcom_q6v5_unprepare(&wcss->q6v5); in q6v5_wcss_stop() 1050 ret = qcom_q6v5_init(&wcss->q6v5, pdev, rproc, desc->crash_reason_smem, NULL, NULL); in q6v5_wcss_probe() 1081 qcom_q6v5_deinit(&wcss->q6v5); in q6v5_wcss_remove() 1119 .name = "qcom-q6v5 [all...] |
/kernel/linux/linux-5.10/drivers/remoteproc/ |
H A D | qcom_q6v5.c | 22 * @q6v5: reference to qcom_q6v5 context to be reinitialized 26 int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5) in qcom_q6v5_prepare() argument 28 reinit_completion(&q6v5->start_done); in qcom_q6v5_prepare() 29 reinit_completion(&q6v5->stop_done); in qcom_q6v5_prepare() 31 q6v5->running = true; in qcom_q6v5_prepare() 32 q6v5->handover_issued = false; in qcom_q6v5_prepare() 34 enable_irq(q6v5->handover_irq); in qcom_q6v5_prepare() 42 * @q6v5: reference to qcom_q6v5 context to be unprepared 46 int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5) in qcom_q6v5_unprepare() argument 48 disable_irq(q6v5 in qcom_q6v5_unprepare() 56 struct qcom_q6v5 *q6v5 = data; q6v5_wdog_interrupt() local 79 struct qcom_q6v5 *q6v5 = data; q6v5_fatal_interrupt() local 97 struct qcom_q6v5 *q6v5 = data; q6v5_ready_interrupt() local 113 qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout) qcom_q6v5_wait_for_start() argument 127 struct qcom_q6v5 *q6v5 = data; q6v5_handover_interrupt() local 139 struct qcom_q6v5 *q6v5 = data; q6v5_stop_interrupt() local 152 qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5) qcom_q6v5_request_stop() argument 178 qcom_q6v5_panic(struct qcom_q6v5 *q6v5) qcom_q6v5_panic() argument 197 qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, struct rproc *rproc, int crash_reason, void (*handover)(struct qcom_q6v5 *q6v5)) qcom_q6v5_init() argument [all...] |
H A D | qcom_q6v5.h | 34 void (*handover)(struct qcom_q6v5 *q6v5); 37 int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev, 39 void (*handover)(struct qcom_q6v5 *q6v5)); 41 int qcom_q6v5_prepare(struct qcom_q6v5 *q6v5); 42 int qcom_q6v5_unprepare(struct qcom_q6v5 *q6v5); 43 int qcom_q6v5_request_stop(struct qcom_q6v5 *q6v5); 44 int qcom_q6v5_wait_for_start(struct qcom_q6v5 *q6v5, int timeout); 45 unsigned long qcom_q6v5_panic(struct qcom_q6v5 *q6v5);
|
H A D | qcom_q6v5_mss.c | 149 struct q6v5 { struct 167 struct qcom_q6v5 q6v5; member 250 static int q6v5_regulator_enable(struct q6v5 *qproc, in q6v5_regulator_enable() 300 static void q6v5_regulator_disable(struct q6v5 *qproc, in q6v5_regulator_disable() 347 static int q6v5_pds_enable(struct q6v5 *qproc, struct device **pds, in q6v5_pds_enable() 374 static void q6v5_pds_disable(struct q6v5 *qproc, struct device **pds, in q6v5_pds_disable() 385 static int q6v5_xfer_mem_ownership(struct q6v5 *qproc, int *current_perm, in q6v5_xfer_mem_ownership() 415 static void q6v5_debug_policy_load(struct q6v5 *qproc) in q6v5_debug_policy_load() 432 struct q6v5 *qproc = rproc->priv; in q6v5_load() 446 static int q6v5_reset_assert(struct q6v5 *qpro 1465 qcom_msa_handover(struct qcom_q6v5 *q6v5) qcom_msa_handover() argument [all...] |
H A D | qcom_q6v5_adsp.c | 70 struct qcom_q6v5 q6v5; member 188 qcom_q6v5_prepare(&adsp->q6v5); in adsp_start() 233 ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5 * HZ)); in adsp_start() 249 qcom_q6v5_unprepare(&adsp->q6v5); in adsp_start() 254 static void qcom_adsp_pil_handover(struct qcom_q6v5 *q6v5) in qcom_adsp_pil_handover() argument 256 struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); in qcom_adsp_pil_handover() 269 ret = qcom_q6v5_request_stop(&adsp->q6v5); in adsp_stop() 277 handover = qcom_q6v5_unprepare(&adsp->q6v5); in adsp_stop() 279 qcom_adsp_pil_handover(&adsp->q6v5); in adsp_stop() [all...] |
H A D | qcom_q6v5_pas.c | 51 struct qcom_q6v5 q6v5; member 143 qcom_q6v5_prepare(&adsp->q6v5); in adsp_start() 176 ret = qcom_q6v5_wait_for_start(&adsp->q6v5, msecs_to_jiffies(5000)); in adsp_start() 198 qcom_q6v5_unprepare(&adsp->q6v5); in adsp_start() 203 static void qcom_pas_handover(struct qcom_q6v5 *q6v5) in qcom_pas_handover() argument 205 struct qcom_adsp *adsp = container_of(q6v5, struct qcom_adsp, q6v5); in qcom_pas_handover() 220 ret = qcom_q6v5_request_stop(&adsp->q6v5); in adsp_stop() 229 handover = qcom_q6v5_unprepare(&adsp->q6v5); in adsp_stop() 231 qcom_pas_handover(&adsp->q6v5); in adsp_stop() [all...] |
H A D | qcom_q6v5_wcss.c | 89 struct qcom_q6v5 q6v5; member 189 qcom_q6v5_prepare(&wcss->q6v5); in q6v5_wcss_start() 225 ret = qcom_q6v5_wait_for_start(&wcss->q6v5, 5 * HZ); in q6v5_wcss_start() 393 ret = qcom_q6v5_request_stop(&wcss->q6v5); in q6v5_wcss_stop() 408 qcom_q6v5_unprepare(&wcss->q6v5); in q6v5_wcss_stop() 567 ret = qcom_q6v5_init(&wcss->q6v5, pdev, rproc, WCSS_CRASH_REASON, NULL); in q6v5_wcss_probe() 608 .name = "qcom-q6v5-wcss-pil",
|