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:
133
fw/htt.h
133
fw/htt.h
@@ -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.
|
||||
|
Reference in New Issue
Block a user