Commit | Line | Data |
---|---|---|
84369fbe | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
835764dd BA |
2 | /* |
3 | * Copyright (c) 2016-2017, Linaro Ltd | |
835764dd BA |
4 | */ |
5 | ||
6 | #ifndef __QCOM_GLINK_NATIVE_H__ | |
7 | #define __QCOM_GLINK_NATIVE_H__ | |
8 | ||
f014eda5 BA |
9 | #include <linux/types.h> |
10 | ||
d31ad615 S |
11 | #define GLINK_FEATURE_INTENT_REUSE BIT(0) |
12 | #define GLINK_FEATURE_MIGRATION BIT(1) | |
13 | #define GLINK_FEATURE_TRACER_PKT BIT(2) | |
14 | ||
835764dd BA |
15 | struct qcom_glink_pipe { |
16 | size_t length; | |
17 | ||
18 | size_t (*avail)(struct qcom_glink_pipe *glink_pipe); | |
19 | ||
a8f500c6 | 20 | void (*peek)(struct qcom_glink_pipe *glink_pipe, void *data, |
b88eee97 | 21 | unsigned int offset, size_t count); |
835764dd BA |
22 | void (*advance)(struct qcom_glink_pipe *glink_pipe, size_t count); |
23 | ||
24 | void (*write)(struct qcom_glink_pipe *glink_pipe, | |
25 | const void *hdr, size_t hlen, | |
26 | const void *data, size_t dlen); | |
f424d1cb | 27 | void (*kick)(struct qcom_glink_pipe *glink_pipe); |
835764dd BA |
28 | }; |
29 | ||
f014eda5 | 30 | struct device; |
835764dd BA |
31 | struct qcom_glink; |
32 | ||
33 | struct qcom_glink *qcom_glink_native_probe(struct device *dev, | |
d31ad615 | 34 | unsigned long features, |
835764dd | 35 | struct qcom_glink_pipe *rx, |
933b45da S |
36 | struct qcom_glink_pipe *tx, |
37 | bool intentless); | |
835764dd | 38 | void qcom_glink_native_remove(struct qcom_glink *glink); |
f424d1cb | 39 | void qcom_glink_native_rx(struct qcom_glink *glink); |
835764dd BA |
40 | |
41 | #endif |