1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /* Copyright (c) 2015-2016 Quantenna Communications. All rights reserved. */
4 #ifndef _QTN_FMAC_SHM_IPC_DEFS_H_
5 #define _QTN_FMAC_SHM_IPC_DEFS_H_
7 #include <linux/types.h>
9 #define QTN_IPC_REG_HDR_SZ (32)
10 #define QTN_IPC_REG_SZ (4096)
11 #define QTN_IPC_MAX_DATA_SZ (QTN_IPC_REG_SZ - QTN_IPC_REG_HDR_SZ)
13 enum qtnf_shm_ipc_region_flags
{
14 QTNF_SHM_IPC_NEW_DATA
= BIT(0),
15 QTNF_SHM_IPC_ACK
= BIT(1),
18 struct qtnf_shm_ipc_region_header
{
23 union qtnf_shm_ipc_region_headroom
{
24 struct qtnf_shm_ipc_region_header hdr
;
25 u8 headroom
[QTN_IPC_REG_HDR_SZ
];
28 struct qtnf_shm_ipc_region
{
29 union qtnf_shm_ipc_region_headroom headroom
;
30 u8 data
[QTN_IPC_MAX_DATA_SZ
];
33 #endif /* _QTN_FMAC_SHM_IPC_DEFS_H_ */