linux/drivers/rpmsg/qcom_glink_native.h
<<
>>
Prefs
   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
  13struct 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
  27struct qcom_glink;
  28
  29struct 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);
  34void qcom_glink_native_remove(struct qcom_glink *glink);
  35
  36void qcom_glink_native_unregister(struct qcom_glink *glink);
  37#endif
  38