fw-api: CL 9551049 - update fw common interface files

Change-Id: I531d38ff23c5f90f3e5000701f3d9a047977086e
HTT: add H2T_MSG_TYPE_RX_FULL_MONITOR_MODE msg def
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2020-02-12 06:00:41 -08:00
committed by nshrivas
parent 7f3f4b95ca
commit a4384019d0

133
fw/htt.h
View File

@@ -198,9 +198,10 @@
* 3.74 Add HTT_T2H_MSG_TYPE_RX_FISA_CFG msg.
* 3.75 Add fp_ndp and mo_ndp flags in HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG.
* 3.76 Add HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG msg.
* 3.77 Add HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE msg.
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 76
#define HTT_CURRENT_VERSION_MINOR 77
#define HTT_NUM_TX_FRAG_DESC 1024
@@ -544,6 +545,7 @@ enum htt_h2t_msg_type {
HTT_H2T_MSG_TYPE_CHAN_CALDATA = 0x14,
HTT_H2T_MSG_TYPE_RX_FISA_CFG = 0x15,
HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG = 0x16,
HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE = 0x17,
/* keep this last */
HTT_H2T_NUM_MSGS
@@ -6512,6 +6514,135 @@ PREPACK struct htt_h2t_msg_rx_fse_operation_t {
reserved:24;
} POSTPACK;
/**
* @brief Host-->target HTT RX Full monitor mode register configuration message
* @details
* The host will send this Full monitor mode register configuration message.
* This message can be sent per SOC or per PDEV which is differentiated
* by pdev id values.
*
* |31 16|15 11|10 8|7 3|2|1|0|
* |-------------------------------------------------------------|
* | reserved | pdev_id | MSG_TYPE |
* |-------------------------------------------------------------|
* | reserved |Release Ring |N|Z|E|
* |-------------------------------------------------------------|
*
* where E is 1-bit full monitor mode enable/disable.
* Z is 1-bit additional descriptor for zero mpdu enable/disable
* N is 1-bit additional descriptor for non zero mdpu enable/disable
*
* The following field definitions describe the format of the full monitor
* mode configuration message sent from the host to target for each pdev.
*
* Header fields:
* dword0 - b'7:0 - msg_type: This will be set to
* HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE.
* b'15:8 - pdev_id: 0 indicates msg is for all LMAC rings, i.e. soc
* 1, 2, 3 indicates pdev_id 0,1,2 and the msg is for the
* specified pdev's LMAC ring.
* b'31:16 - reserved : Reserved for future use.
* dword1 - b'0 - full_monitor_mode enable: This indicates that the full
* monitor mode rxdma register is to be enabled or disabled.
* b'1 - addnl_descs_zero_mpdus_end: This indicates that the
* additional descriptors at ppdu end for zero mpdus
* enabled or disabled.
* b'2 - addnl_descs_non_zero_mpdus_end: This indicates that the
* additional descriptors at ppdu end for non zero mpdus
* enabled or disabled.
* b'10:3 - release_ring: This indicates the destination ring
* selection for the descriptor at the end of PPDU
* 0 - REO ring select
* 1 - FW ring select
* 2 - SW ring select
* 3 - Release ring select
* Refer to htt_rx_full_mon_release_ring.
* b'31:11 - reserved for future use
*/
PREPACK struct htt_h2t_msg_rx_full_monitor_mode_t {
A_UINT32 msg_type:8,
pdev_id:8,
reserved0:16;
A_UINT32 full_monitor_mode_enable:1,
addnl_descs_zero_mpdus_end:1,
addnl_descs_non_zero_mpdus_end:1,
release_ring:8,
reserved1:21;
} POSTPACK;
/**
* Enumeration for full monitor mode destination ring select
* 0 - REO destination ring select
* 1 - FW destination ring select
* 2 - SW destination ring select
* 3 - Release destination ring select
*/
enum htt_rx_full_mon_release_ring {
HTT_RX_MON_RING_REO,
HTT_RX_MON_RING_FW,
HTT_RX_MON_RING_SW,
HTT_RX_MON_RING_RELEASE,
};
#define HTT_RX_FULL_MONITOR_MODE_SETUP_SZ (sizeof(struct htt_h2t_msg_rx_full_monitor_mode_t))
/* DWORD 0: Pdev ID */
#define HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_M 0x0000ff00
#define HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_S 8
#define HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_GET(_var) \
(((_var) & HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_M) >> \
HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_S)
#define HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID, _val); \
((_var) |= ((_val) << HTT_RX_FULL_MONITOR_MODE_OPERATION_PDEV_ID_S)); \
} while (0)
/* DWORD 1:ENABLE */
#define HTT_RX_FULL_MONITOR_MODE_ENABLE_M 0x00000001
#define HTT_RX_FULL_MONITOR_MODE_ENABLE_S 0
#define HTT_RX_FULL_MONITOR_MODE_ENABLE_SET(word, enable) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_FULL_MONITOR_MODE_ENABLE, enable); \
(word) |= ((enable) << HTT_RX_FULL_MONITOR_MODE_ENABLE_S); \
} while (0)
#define HTT_RX_FULL_MONITOR_MODE_ENABLE_GET(word) \
(((word) & HTT_RX_FULL_MONITOR_MODE_ENABLE_M) >> HTT_RX_FULL_MONITOR_MODE_ENABLE_S)
/* DWORD 1:ZERO_MPDU */
#define HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_M 0x00000002
#define HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_S 1
#define HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_SET(word, zerompdu) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU, zerompdu); \
(word) |= ((zerompdu) << HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_S); \
} while (0)
#define HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_GET(word) \
(((word) & HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_M) >> HTT_RX_FULL_MONITOR_MODE_ZERO_MPDU_S)
/* DWORD 1:NON_ZERO_MPDU */
#define HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_M 0x00000004
#define HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_S 2
#define HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_SET(word, nonzerompdu) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU, nonzerompdu); \
(word) |= ((nonzerompdu) << HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_S); \
} while (0)
#define HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_GET(word) \
(((word) & HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_M) >> HTT_RX_FULL_MONITOR_MODE_NON_ZERO_MPDU_S)
/* DWORD 1:RELEASE_RINGS */
#define HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_M 0x000007f8
#define HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_S 3
#define HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_SET(word, releaserings) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS, releaserings); \
(word) |= ((releaserings) << HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_S); \
} while (0)
#define HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_GET(word) \
(((word) & HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_M) >> HTT_RX_FULL_MONITOR_MODE_RELEASE_RINGS_S)
/**
* Enumeration for IP Protocol or IPSEC Protocol
* IPsec describes the framework for providing security at IP layer.