summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fw/htt.h51
-rw-r--r--fw/htt_ppdu_stats.h4
-rwxr-xr-xfw/wmi_unified.h20
-rwxr-xr-xfw/wmi_version.h2
4 files changed, 72 insertions, 5 deletions
diff --git a/fw/htt.h b/fw/htt.h
index e56ca9d38ff4..d0beca2ff3b6 100644
--- a/fw/htt.h
+++ b/fw/htt.h
@@ -165,9 +165,10 @@
* HTT_T2H_MSG_TYPE_PKTLOG
* 3.49 Add HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND def
* 3.50 Add learning_frame flag to htt_tx_msdu_desc_ext2_t
+ * 3.51 Add SW peer ID and TID num to HTT TX WBM COMPLETION
*/
#define HTT_CURRENT_VERSION_MAJOR 3
-#define HTT_CURRENT_VERSION_MINOR 50
+#define HTT_CURRENT_VERSION_MINOR 51
#define HTT_NUM_TX_FRAG_DESC 1024
@@ -2331,7 +2332,14 @@ PREPACK struct htt_tx_wbm_transmit_status {
* Units: dB w.r.t noise floor
*/
A_UINT32
- reserved0: 32;
+ sw_peer_id: 16,
+ tid_num: 5,
+ valid: 1, /* If this "valid" flag is set, the sw_peer_id
+ * and tid_num fields contain valid data.
+ * If this "valid" flag is not set, the
+ * sw_peer_id and tid_num fields must be ignored.
+ */
+ reserved0: 10;
A_UINT32
reserved1: 32;
} POSTPACK;
@@ -2342,6 +2350,14 @@ PREPACK struct htt_tx_wbm_transmit_status {
#define HTT_TX_WBM_COMPLETION_V2_ACK_FRAME_RSSI_M 0xff000000
#define HTT_TX_WBM_COMPLETION_V2_ACK_FRAME_RSSI_S 24
+/* DWORD 5 */
+#define HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_M 0x0000ffff
+#define HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_S 0
+#define HTT_TX_WBM_COMPLETION_V2_TID_NUM_M 0x001f0000
+#define HTT_TX_WBM_COMPLETION_V2_TID_NUM_S 16
+#define HTT_TX_WBM_COMPLETION_V2_VALID_M 0x00200000
+#define HTT_TX_WBM_COMPLETION_V2_VALID_S 21
+
/* DWORD 4 */
#define HTT_TX_WBM_COMPLETION_V2_SCH_CMD_ID_GET(_var) \
(((_var) & HTT_TX_WBM_COMPLETION_V2_SCH_CMD_ID_M) >> \
@@ -2363,6 +2379,37 @@ PREPACK struct htt_tx_wbm_transmit_status {
((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_ACK_FRAME_RSSI_S)); \
} while (0)
+/* DWORD 5 */
+#define HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_GET(_var) \
+ (((_var) & HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_M) >> \
+ HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_S)
+
+#define HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_SET(_var, _val) \
+ do { \
+ HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID, _val); \
+ ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_SW_PEER_ID_S)); \
+ } while (0)
+
+#define HTT_TX_WBM_COMPLETION_V2_TID_NUM_GET(_var) \
+ (((_var) & HTT_TX_WBM_COMPLETION_V2_TID_NUM_M) >> \
+ HTT_TX_WBM_COMPLETION_V2_TID_NUM_S)
+
+#define HTT_TX_WBM_COMPLETION_V2_TID_NUM_SET(_var, _val) \
+ do { \
+ HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V2_TID_NUM, _val); \
+ ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_TID_NUM_S)); \
+ } while (0)
+
+#define HTT_TX_WBM_COMPLETION_V2_VALID_GET(_var) \
+ (((_var) & HTT_TX_WBM_COMPLETION_V2_VALID_M) >> \
+ HTT_TX_WBM_COMPLETION_V2_VALID_S)
+
+#define HTT_TX_WBM_COMPLETION_V2_VALID_SET(_var, _val) \
+ do { \
+ HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V2_VALID, _val); \
+ ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_VALID_S)); \
+ } while (0)
+
/**
* @brief HTT TX WBM reinject status from firmware to host
* @details
diff --git a/fw/htt_ppdu_stats.h b/fw/htt_ppdu_stats.h
index 7499827dd978..a3eaa25f983b 100644
--- a/fw/htt_ppdu_stats.h
+++ b/fw/htt_ppdu_stats.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -1477,7 +1477,7 @@ typedef struct {
((_var) |= ((_val) << HTT_PPDU_STATS_FLUSH_TLV_NUM_MPDU_S)); \
} while (0)
-#define HTT_PPDU_STATS_FLUSH_TLV_NUM_MSDU_M 0x01fe0000
+#define HTT_PPDU_STATS_FLUSH_TLV_NUM_MSDU_M 0x7ffe0000
#define HTT_PPDU_STATS_FLUSH_TLV_NUM_MSDU_S 17
#define HTT_PPDU_STATS_FLUSH_TLV_NUM_MSDU_GET(_var) \
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index ea97d6e01ae0..dbec74e69ac8 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -2757,6 +2757,9 @@ typedef struct {
#define WMI_RSRC_CFG_FLAG_TIM_V2_SUPPORT_ENABLE_S 13
#define WMI_RSRC_CFG_FLAG_TIM_V2_SUPPORT_ENABLE_M 0x2000
+ #define WMI_RSRC_CFG_FLAG_EAPOL_REKEY_MINRATE_SUPPORT_ENABLE_S 14
+ #define WMI_RSRC_CFG_FLAG_EAPOL_REKEY_MINRATE_SUPPORT_ENABLE_M 0x4000
+
A_UINT32 flag1;
/** @brief smart_ant_cap - Smart Antenna capabilities information
@@ -2954,6 +2957,11 @@ typedef struct {
#define WMI_RSRC_CFG_FLAG_TIM_V2_SUPPORT_ENABLE_GET(word32) \
WMI_RSRC_CFG_FLAG_GET((word32), TIM_V2_SUPPORT_ENABLE)
+#define WMI_RSRC_CFG_FLAG_EAPOL_REKEY_MINRATE_SUPPORT_ENABLE_SET(word32, value) \
+ WMI_RSRC_CFG_FLAG_SET((word32), EAPOL_REKEY_MINRATE_SUPPORT_ENABLE, (value))
+#define WMI_RSRC_CFG_FLAG_EAPOL_REKEY_MINRATE_SUPPORT_ENABLE_GET(word32) \
+ WMI_RSRC_CFG_FLAG_GET((word32), EAPOL_REKEY_MINRATE_SUPPORT_ENABLE)
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */
@@ -8475,6 +8483,18 @@ typedef enum {
*/
WMI_VDEV_PARAM_AMSDU_AGGREGATION_SIZE_OPTIMIZATION, /* 0x83 */
+ /**
+ * In RAW mode, FW will not know whether the encryption is enabled
+ * on this vdev or not.
+ * Because of this, FW will not program the right info into the
+ * RawNwifi TLV resulting in the connection failure in RAW mode.
+ * So to program the right info, FW should know whether the security
+ * is enabled on this VDEV.
+ * Host will send this VDEV param command (With Value = 1) in case of
+ * RAW secure mode.
+ */
+ WMI_VDEV_PARAM_RAW_IS_ENCRYPTED, /* 0x84 */
+
/*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
* The below vdev param types are used for prototyping, and are
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 82a0019fceb4..48ca20de9552 100755
--- a/fw/wmi_version.h
+++ b/fw/wmi_version.h
@@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility. */
-#define __WMI_REVISION_ 536
+#define __WMI_REVISION_ 538
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work