root/drivers/remoteproc/qcom_q6v5.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 
   3 #ifndef __QCOM_Q6V5_H__
   4 #define __QCOM_Q6V5_H__
   5 
   6 #include <linux/kernel.h>
   7 #include <linux/completion.h>
   8 
   9 struct rproc;
  10 struct qcom_smem_state;
  11 
  12 struct qcom_q6v5 {
  13         struct device *dev;
  14         struct rproc *rproc;
  15 
  16         struct qcom_smem_state *state;
  17         unsigned stop_bit;
  18 
  19         int wdog_irq;
  20         int fatal_irq;
  21         int ready_irq;
  22         int handover_irq;
  23         int stop_irq;
  24 
  25         bool handover_issued;
  26 
  27         struct completion start_done;
  28         struct completion stop_done;
  29 
  30         int crash_reason;
  31 
  32         bool running;
  33 
  34         void (*handover)(struct qcom_q6v5 *q6v5);
  35 };
  36 
  37 int qcom_q6v5_init(struct qcom_q6v5 *q6v5, struct platform_device *pdev,
  38                    struct rproc *rproc, int crash_reason,
  39                    void (*handover)(struct qcom_q6v5 *q6v5));
  40 
  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 
  46 #endif

/* [<][>][^][v][top][bottom][index][help] */