Linux Audio

Check our new training course

Embedded Linux training

Mar 31-Apr 8, 2025
Register
Loading...
v6.8
 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#include <linux/types.h>
10
11#define GLINK_FEATURE_INTENT_REUSE	BIT(0)
12#define GLINK_FEATURE_MIGRATION		BIT(1)
13#define GLINK_FEATURE_TRACER_PKT	BIT(2)
14
15struct qcom_glink_pipe {
16	size_t length;
17
18	size_t (*avail)(struct qcom_glink_pipe *glink_pipe);
19
20	void (*peek)(struct qcom_glink_pipe *glink_pipe, void *data,
21		     unsigned int offset, size_t count);
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);
27	void (*kick)(struct qcom_glink_pipe *glink_pipe);
28};
29
30struct device;
31struct qcom_glink;
32
33struct qcom_glink *qcom_glink_native_probe(struct device *dev,
34					   unsigned long features,
35					   struct qcom_glink_pipe *rx,
36					   struct qcom_glink_pipe *tx,
37					   bool intentless);
38void qcom_glink_native_remove(struct qcom_glink *glink);
39void qcom_glink_native_rx(struct qcom_glink *glink);
40
 
41#endif
v4.17
 
 1/*
 2 * Copyright (c) 2016-2017, Linaro Ltd
 3 *
 4 * This program is free software; you can redistribute it and/or modify
 5 * it under the terms of the GNU General Public License version 2 and
 6 * only version 2 as published by the Free Software Foundation.
 7 *
 8 * This program is distributed in the hope that it will be useful,
 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * GNU General Public License for more details.
12 */
13
14#ifndef __QCOM_GLINK_NATIVE_H__
15#define __QCOM_GLINK_NATIVE_H__
16
 
 
17#define GLINK_FEATURE_INTENT_REUSE	BIT(0)
18#define GLINK_FEATURE_MIGRATION		BIT(1)
19#define GLINK_FEATURE_TRACER_PKT	BIT(2)
20
21struct qcom_glink_pipe {
22	size_t length;
23
24	size_t (*avail)(struct qcom_glink_pipe *glink_pipe);
25
26	void (*peak)(struct qcom_glink_pipe *glink_pipe, void *data,
27		     unsigned int offset, size_t count);
28	void (*advance)(struct qcom_glink_pipe *glink_pipe, size_t count);
29
30	void (*write)(struct qcom_glink_pipe *glink_pipe,
31		      const void *hdr, size_t hlen,
32		      const void *data, size_t dlen);
 
33};
34
 
35struct qcom_glink;
36
37struct qcom_glink *qcom_glink_native_probe(struct device *dev,
38					   unsigned long features,
39					   struct qcom_glink_pipe *rx,
40					   struct qcom_glink_pipe *tx,
41					   bool intentless);
42void qcom_glink_native_remove(struct qcom_glink *glink);
 
43
44void qcom_glink_native_unregister(struct qcom_glink *glink);
45#endif