mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 23:14:31 +08:00
caf989c350
The glink protocol supports different types of transports (shared memory). With the core protocol remaining the same, the way the transport's memory is probed and accessed is different. So add support for glink's smem based transports. Adding a new smem transport register function and the fifo accessors for the same. Acked-by: Arun Kumar Neelakantam <aneela@codeaurora.org> Signed-off-by: Sricharan R <sricharan@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2016-2017, Linaro Ltd
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef __QCOM_GLINK_NATIVE_H__
|
|
#define __QCOM_GLINK_NATIVE_H__
|
|
|
|
struct qcom_glink_pipe {
|
|
size_t length;
|
|
|
|
size_t (*avail)(struct qcom_glink_pipe *glink_pipe);
|
|
|
|
void (*peak)(struct qcom_glink_pipe *glink_pipe, void *data,
|
|
size_t count);
|
|
void (*advance)(struct qcom_glink_pipe *glink_pipe, size_t count);
|
|
|
|
void (*write)(struct qcom_glink_pipe *glink_pipe,
|
|
const void *hdr, size_t hlen,
|
|
const void *data, size_t dlen);
|
|
};
|
|
|
|
struct qcom_glink;
|
|
|
|
struct qcom_glink *qcom_glink_native_probe(struct device *dev,
|
|
struct qcom_glink_pipe *rx,
|
|
struct qcom_glink_pipe *tx);
|
|
void qcom_glink_native_remove(struct qcom_glink *glink);
|
|
|
|
void qcom_glink_native_unregister(struct qcom_glink *glink);
|
|
#endif
|