Server IP : 15.235.198.142 / Your IP : 216.73.216.149 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/modules/6.8.0-60-generic/build/include/linux/firmware/mediatek/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2022 MediaTek Inc. */ #ifndef MTK_ADSP_IPC_H #define MTK_ADSP_IPC_H #include <linux/device.h> #include <linux/types.h> #include <linux/mailbox_controller.h> #include <linux/mailbox_client.h> #define MTK_ADSP_IPC_REQ 0 #define MTK_ADSP_IPC_RSP 1 #define MTK_ADSP_IPC_OP_REQ 0x1 #define MTK_ADSP_IPC_OP_RSP 0x2 enum { MTK_ADSP_MBOX_REPLY, MTK_ADSP_MBOX_REQUEST, MTK_ADSP_MBOX_NUM, }; struct mtk_adsp_ipc; struct mtk_adsp_ipc_ops { void (*handle_reply)(struct mtk_adsp_ipc *ipc); void (*handle_request)(struct mtk_adsp_ipc *ipc); }; struct mtk_adsp_chan { struct mtk_adsp_ipc *ipc; struct mbox_client cl; struct mbox_chan *ch; char *name; int idx; }; struct mtk_adsp_ipc { struct mtk_adsp_chan chans[MTK_ADSP_MBOX_NUM]; struct device *dev; struct mtk_adsp_ipc_ops *ops; void *private_data; }; static inline void mtk_adsp_ipc_set_data(struct mtk_adsp_ipc *ipc, void *data) { ipc->private_data = data; } static inline void *mtk_adsp_ipc_get_data(struct mtk_adsp_ipc *ipc) { return ipc->private_data; } int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op); #endif /* MTK_ADSP_IPC_H */