Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /* Copyright (c) 2015-2016 Quantenna Communications. All rights reserved. */
0003 
0004 #ifndef _QTN_FMAC_SHM_IPC_DEFS_H_
0005 #define _QTN_FMAC_SHM_IPC_DEFS_H_
0006 
0007 #include <linux/types.h>
0008 
0009 #define QTN_IPC_REG_HDR_SZ  (32)
0010 #define QTN_IPC_REG_SZ      (4096)
0011 #define QTN_IPC_MAX_DATA_SZ (QTN_IPC_REG_SZ - QTN_IPC_REG_HDR_SZ)
0012 
0013 enum qtnf_shm_ipc_region_flags {
0014     QTNF_SHM_IPC_NEW_DATA       = BIT(0),
0015     QTNF_SHM_IPC_ACK        = BIT(1),
0016 };
0017 
0018 struct qtnf_shm_ipc_region_header {
0019     __le32 flags;
0020     __le16 data_len;
0021 } __packed;
0022 
0023 union qtnf_shm_ipc_region_headroom {
0024     struct qtnf_shm_ipc_region_header hdr;
0025     u8 headroom[QTN_IPC_REG_HDR_SZ];
0026 } __packed;
0027 
0028 struct qtnf_shm_ipc_region {
0029     union qtnf_shm_ipc_region_headroom headroom;
0030     u8 data[QTN_IPC_MAX_DATA_SZ];
0031 } __packed;
0032 
0033 #endif /* _QTN_FMAC_SHM_IPC_DEFS_H_ */