root/drivers/rpmsg/qcom_glink_native.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Copyright (c) 2016-2017, Linaro Ltd
   4  */
   5 
   6 #ifndef __QCOM_GLINK_NATIVE_H__
   7 #define __QCOM_GLINK_NATIVE_H__
   8 
   9 #define GLINK_FEATURE_INTENT_REUSE      BIT(0)
  10 #define GLINK_FEATURE_MIGRATION         BIT(1)
  11 #define GLINK_FEATURE_TRACER_PKT        BIT(2)
  12 
  13 struct qcom_glink_pipe {
  14         size_t length;
  15 
  16         size_t (*avail)(struct qcom_glink_pipe *glink_pipe);
  17 
  18         void (*peak)(struct qcom_glink_pipe *glink_pipe, void *data,
  19                      unsigned int offset, size_t count);
  20         void (*advance)(struct qcom_glink_pipe *glink_pipe, size_t count);
  21 
  22         void (*write)(struct qcom_glink_pipe *glink_pipe,
  23                       const void *hdr, size_t hlen,
  24                       const void *data, size_t dlen);
  25 };
  26 
  27 struct qcom_glink;
  28 
  29 struct qcom_glink *qcom_glink_native_probe(struct device *dev,
  30                                            unsigned long features,
  31                                            struct qcom_glink_pipe *rx,
  32                                            struct qcom_glink_pipe *tx,
  33                                            bool intentless);
  34 void qcom_glink_native_remove(struct qcom_glink *glink);
  35 
  36 void qcom_glink_native_unregister(struct qcom_glink *glink);
  37 #endif

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