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 | ||
d31ad615 S |
9 | #define GLINK_FEATURE_INTENT_REUSE BIT(0) |
10 | #define GLINK_FEATURE_MIGRATION BIT(1) | |
11 | #define GLINK_FEATURE_TRACER_PKT BIT(2) | |
12 | ||
835764dd BA |
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, | |
b88eee97 | 19 | unsigned int offset, size_t count); |
835764dd BA |
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, | |
d31ad615 | 30 | unsigned long features, |
835764dd | 31 | struct qcom_glink_pipe *rx, |
933b45da S |
32 | struct qcom_glink_pipe *tx, |
33 | bool intentless); | |
835764dd BA |
34 | void qcom_glink_native_remove(struct qcom_glink *glink); |
35 | ||
caf989c3 | 36 | void qcom_glink_native_unregister(struct qcom_glink *glink); |
835764dd | 37 | #endif |