cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mtk_rpmsg.h (1231B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright 2019 Google LLC.
      4 */
      5
      6#ifndef __LINUX_RPMSG_MTK_RPMSG_H
      7#define __LINUX_RPMSG_MTK_RPMSG_H
      8
      9#include <linux/platform_device.h>
     10#include <linux/remoteproc.h>
     11
     12typedef void (*ipi_handler_t)(void *data, unsigned int len, void *priv);
     13
     14/*
     15 * struct mtk_rpmsg_info - IPI functions tied to the rpmsg device.
     16 * @register_ipi: register IPI handler for an IPI id.
     17 * @unregister_ipi: unregister IPI handler for a registered IPI id.
     18 * @send_ipi: send IPI to an IPI id. wait is the timeout (in msecs) to wait
     19 *            until response, or 0 if there's no timeout.
     20 * @ns_ipi_id: the IPI id used for name service, or -1 if name service isn't
     21 *             supported.
     22 */
     23struct mtk_rpmsg_info {
     24	int (*register_ipi)(struct platform_device *pdev, u32 id,
     25			    ipi_handler_t handler, void *priv);
     26	void (*unregister_ipi)(struct platform_device *pdev, u32 id);
     27	int (*send_ipi)(struct platform_device *pdev, u32 id,
     28			void *buf, unsigned int len, unsigned int wait);
     29	int ns_ipi_id;
     30};
     31
     32struct rproc_subdev *
     33mtk_rpmsg_create_rproc_subdev(struct platform_device *pdev,
     34			      struct mtk_rpmsg_info *info);
     35
     36void mtk_rpmsg_destroy_rproc_subdev(struct rproc_subdev *subdev);
     37
     38#endif