diff options
| -rw-r--r-- | fw/htt.h | 51 | ||||
| -rw-r--r-- | fw/htt_ppdu_stats.h | 4 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 20 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
4 files changed, 72 insertions, 5 deletions
@@ -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 |
