184369fbeSSuman Anna /* SPDX-License-Identifier: GPL-2.0 */ 2835764ddSBjorn Andersson /* 3835764ddSBjorn Andersson * Copyright (c) 2016-2017, Linaro Ltd 4835764ddSBjorn Andersson */ 5835764ddSBjorn Andersson 6835764ddSBjorn Andersson #ifndef __QCOM_GLINK_NATIVE_H__ 7835764ddSBjorn Andersson #define __QCOM_GLINK_NATIVE_H__ 8835764ddSBjorn Andersson 9f014eda5SBjorn Andersson #include <linux/types.h> 10f014eda5SBjorn Andersson 11d31ad615SSricharan R #define GLINK_FEATURE_INTENT_REUSE BIT(0) 12d31ad615SSricharan R #define GLINK_FEATURE_MIGRATION BIT(1) 13d31ad615SSricharan R #define GLINK_FEATURE_TRACER_PKT BIT(2) 14d31ad615SSricharan R 15835764ddSBjorn Andersson struct qcom_glink_pipe { 16835764ddSBjorn Andersson size_t length; 17835764ddSBjorn Andersson 18835764ddSBjorn Andersson size_t (*avail)(struct qcom_glink_pipe *glink_pipe); 19835764ddSBjorn Andersson 20*a8f500c6SBjorn Andersson void (*peek)(struct qcom_glink_pipe *glink_pipe, void *data, 21b88eee97SBjorn Andersson unsigned int offset, size_t count); 22835764ddSBjorn Andersson void (*advance)(struct qcom_glink_pipe *glink_pipe, size_t count); 23835764ddSBjorn Andersson 24835764ddSBjorn Andersson void (*write)(struct qcom_glink_pipe *glink_pipe, 25835764ddSBjorn Andersson const void *hdr, size_t hlen, 26835764ddSBjorn Andersson const void *data, size_t dlen); 27f424d1cbSBjorn Andersson void (*kick)(struct qcom_glink_pipe *glink_pipe); 28835764ddSBjorn Andersson }; 29835764ddSBjorn Andersson 30f014eda5SBjorn Andersson struct device; 31835764ddSBjorn Andersson struct qcom_glink; 32835764ddSBjorn Andersson 33835764ddSBjorn Andersson struct qcom_glink *qcom_glink_native_probe(struct device *dev, 34d31ad615SSricharan R unsigned long features, 35835764ddSBjorn Andersson struct qcom_glink_pipe *rx, 36933b45daSSricharan R struct qcom_glink_pipe *tx, 37933b45daSSricharan R bool intentless); 38835764ddSBjorn Andersson void qcom_glink_native_remove(struct qcom_glink *glink); 39f424d1cbSBjorn Andersson void qcom_glink_native_rx(struct qcom_glink *glink); 40835764ddSBjorn Andersson 41835764ddSBjorn Andersson #endif 42