~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/firmware/mediatek/mtk-adsp-ipc.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/firmware/mediatek/mtk-adsp-ipc.h (Architecture m68k) and /include/linux/firmware/mediatek/mtk-adsp-ipc.h (Architecture mips)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*                                                  2 /*
  3  * Copyright (c) 2022 MediaTek Inc.                 3  * Copyright (c) 2022 MediaTek Inc.
  4  */                                                 4  */
  5                                                     5 
  6 #ifndef MTK_ADSP_IPC_H                              6 #ifndef MTK_ADSP_IPC_H
  7 #define MTK_ADSP_IPC_H                              7 #define MTK_ADSP_IPC_H
  8                                                     8 
  9 #include <linux/device.h>                           9 #include <linux/device.h>
 10 #include <linux/types.h>                           10 #include <linux/types.h>
 11 #include <linux/mailbox_controller.h>              11 #include <linux/mailbox_controller.h>
 12 #include <linux/mailbox_client.h>                  12 #include <linux/mailbox_client.h>
 13                                                    13 
 14 #define MTK_ADSP_IPC_REQ 0                         14 #define MTK_ADSP_IPC_REQ 0
 15 #define MTK_ADSP_IPC_RSP 1                         15 #define MTK_ADSP_IPC_RSP 1
 16 #define MTK_ADSP_IPC_OP_REQ 0x1                    16 #define MTK_ADSP_IPC_OP_REQ 0x1
 17 #define MTK_ADSP_IPC_OP_RSP 0x2                    17 #define MTK_ADSP_IPC_OP_RSP 0x2
 18                                                    18 
 19 enum {                                             19 enum {
 20         MTK_ADSP_MBOX_REPLY,                       20         MTK_ADSP_MBOX_REPLY,
 21         MTK_ADSP_MBOX_REQUEST,                     21         MTK_ADSP_MBOX_REQUEST,
 22         MTK_ADSP_MBOX_NUM,                         22         MTK_ADSP_MBOX_NUM,
 23 };                                                 23 };
 24                                                    24 
 25 struct mtk_adsp_ipc;                               25 struct mtk_adsp_ipc;
 26                                                    26 
 27 struct mtk_adsp_ipc_ops {                          27 struct mtk_adsp_ipc_ops {
 28         void (*handle_reply)(struct mtk_adsp_i     28         void (*handle_reply)(struct mtk_adsp_ipc *ipc);
 29         void (*handle_request)(struct mtk_adsp     29         void (*handle_request)(struct mtk_adsp_ipc *ipc);
 30 };                                                 30 };
 31                                                    31 
 32 struct mtk_adsp_chan {                             32 struct mtk_adsp_chan {
 33         struct mtk_adsp_ipc *ipc;                  33         struct mtk_adsp_ipc *ipc;
 34         struct mbox_client cl;                     34         struct mbox_client cl;
 35         struct mbox_chan *ch;                      35         struct mbox_chan *ch;
 36         char *name;                                36         char *name;
 37         int idx;                                   37         int idx;
 38 };                                                 38 };
 39                                                    39 
 40 struct mtk_adsp_ipc {                              40 struct mtk_adsp_ipc {
 41         struct mtk_adsp_chan chans[MTK_ADSP_MB     41         struct mtk_adsp_chan chans[MTK_ADSP_MBOX_NUM];
 42         struct device *dev;                        42         struct device *dev;
 43         const struct mtk_adsp_ipc_ops *ops;        43         const struct mtk_adsp_ipc_ops *ops;
 44         void *private_data;                        44         void *private_data;
 45 };                                                 45 };
 46                                                    46 
 47 static inline void mtk_adsp_ipc_set_data(struc     47 static inline void mtk_adsp_ipc_set_data(struct mtk_adsp_ipc *ipc, void *data)
 48 {                                                  48 {
 49         ipc->private_data = data;                  49         ipc->private_data = data;
 50 }                                                  50 }
 51                                                    51 
 52 static inline void *mtk_adsp_ipc_get_data(stru     52 static inline void *mtk_adsp_ipc_get_data(struct mtk_adsp_ipc *ipc)
 53 {                                                  53 {
 54         return ipc->private_data;                  54         return ipc->private_data;
 55 }                                                  55 }
 56                                                    56 
 57 int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc     57 int mtk_adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op);
 58                                                    58 
 59 #endif /* MTK_ADSP_IPC_H */                        59 #endif /* MTK_ADSP_IPC_H */
 60                                                    60 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php