Loading drivers/staging/fw-api/fw/htt.h +66 −1 Original line number Diff line number Diff line Loading @@ -166,9 +166,10 @@ * 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 * 3.52 Add HTT_T2H FLOW_POOL_RESIZE msg def */ #define HTT_CURRENT_VERSION_MAJOR 3 #define HTT_CURRENT_VERSION_MINOR 51 #define HTT_CURRENT_VERSION_MINOR 52 #define HTT_NUM_TX_FRAG_DESC 1024 Loading Loading @@ -5564,6 +5565,7 @@ enum htt_t2h_msg_type { HTT_T2H_MSG_TYPE_PEER_MAP_V2 = 0x1e, HTT_T2H_MSG_TYPE_PEER_UNMAP_V2 = 0x1f, HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND = 0x20, HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE = 0x21, HTT_T2H_MSG_TYPE_TEST, /* keep this last */ Loading Loading @@ -10474,5 +10476,68 @@ typedef struct { (((word) & HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_M) >> \ HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_S) /** * @brief HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE Message * * @details * HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE message is sent by the target when * the flow pool associated with the specified ID is resized * * The message would appear as follows: * * |31 24|23 16|15 8|7 0| * |----------------+----------------+----------------+----------------| * | flow Pool ID | reserved0 | Msg type | * |-------------------------------------------------------------------| * | reserved1 | flow pool new size | * |-------------------------------------------------------------------| * * The message is interpreted as follows: * b'0:7 - msg_type: This will be set to * HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE * * b'8:15 - flow pool ID: Existing flow pool ID * * b'16:31 - flow pool new size: new pool size for exisiting flow pool ID * */ PREPACK struct htt_flow_pool_resize_t { A_UINT32 msg_type:8, reserved0:8, flow_pool_id:16; A_UINT32 flow_pool_new_size:16, reserved1:16; } POSTPACK; #define HTT_FLOW_POOL_RESIZE_SZ (sizeof(struct htt_flow_pool_resize_t)) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_M 0xffff0000 #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S 16 #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_M 0x0000ffff #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S 0 #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_GET(_var) \ (((_var) & HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_M) >> \ HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_SET(_var, _val) \ do { \ HTT_CHECK_SET_VAL(HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID, _val); \ ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S)); \ } while (0) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_GET(_var) \ (((_var) & HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_M) >> \ HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_SET(_var, _val) \ do { \ HTT_CHECK_SET_VAL(HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE, _val); \ ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S)); \ } while (0) #endif drivers/staging/fw-api/fw/wlan_module_ids.h +84 −73 Original line number Diff line number Diff line /* * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved. * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * Loading Loading @@ -100,6 +100,17 @@ typedef enum { WLAN_MODULE_P2P_LISTEN_OFFLOAD, /* 0x42 */ WLAN_MODULE_HALPHY, /* 0x43 */ WAL_MODULE_ENQ, /* 0x44 */ WLAN_MODULE_GNSS, /* 0x45 */ WLAN_MODULE_WAL_MEM, /* 0x46 */ WLAN_MODULE_SCHED_ALGO, /* 0x47 */ WLAN_MODULE_TX, /* 0x48 */ WLAN_MODULE_RX, /* 0x49 */ WLAN_MODULE_WLM, /* 0x4a */ WLAN_MODULE_RU_ALLOCATOR, /* 0x4b */ WLAN_MODULE_11K_OFFLOAD, /* 0x4c */ WLAN_MODULE_STA_TWT, /* 0x4d */ WLAN_MODULE_AP_TWT, /* 0x4e */ WLAN_MODULE_UL_OFDMA, /* 0x4f */ WLAN_MODULE_ID_MAX, WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX, Loading drivers/staging/fw-api/fw/wmi_services.h +1 −0 Original line number Diff line number Diff line Loading @@ -254,6 +254,7 @@ typedef enum { WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_SCC_SUPPORT=158, /* Support dual beacon on same channel on single MAC */ WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_MCC_SUPPORT=159, /* Support dual beacon on different channel on single MAC */ WMI_SERVICE_MOTION_DET=160, /* support for motion detection config */ WMI_SERVICE_INFRA_MBSSID=161, /* support infra multi-BSSID feature */ /******* ADD NEW SERVICES HERE *******/ Loading drivers/staging/fw-api/fw/wmi_unified.h +157 −2 Original line number Diff line number Diff line Loading @@ -2315,6 +2315,11 @@ typedef struct { * is equal to or less than the target capability limit reported here. */ A_UINT32 max_nlo_ssids; /* ref to section 8.4.2.48 Multiple BSSID element * The Max BSSID Indicator field contains a value assigned to n, * where 2^n is the maximum number of BSSIDs */ A_UINT32 max_bssid_indicator; } wmi_service_ready_ext_event_fixed_param; typedef enum { Loading Loading @@ -2880,6 +2885,12 @@ typedef struct { * 0 - fw chooses its default value: 'num_vdevs' of this structure. */ A_UINT32 num_max_sta_vdevs; /* ref to section 8.4.2.48 Multiple BSSID element * The Max BSSID Indicator field contains a value assigned to n, * where 2^n is the maximum number of BSSIDs */ A_UINT32 max_bssid_indicator; } wmi_resource_config; #define WMI_RSRC_CFG_FLAG_SET(word32, flag, value) \ Loading Loading @@ -3154,6 +3165,8 @@ typedef struct { A_UINT32 num_vendor_oui; /** Scan control flags extended **/ A_UINT32 scan_ctrl_flags_ext; /** dwell time in msec on active 2G channels, if it's not zero */ A_UINT32 dwell_time_active_2g; /** * TLV (tag length value) parameters follow the scan_cmd Loading Loading @@ -5060,6 +5073,12 @@ typedef enum { * Bit 3-5: "Xretry threshold" to use */ WMI_PDEV_PARAM_SECONDARY_RETRY_ENABLE, /* 0xA0 */ /** Set global uplink triggered PPDU duration limit (usec). */ WMI_PDEV_PARAM_SET_UL_PPDU_DURATION, /* 0xA1 */ /** Set target buffer status report trigger interval (ms) */ WMI_PDEV_PARAM_SET_UL_BSR_TRIG_INTERVAL, /* 0xA2 */ /** Use simplified equal RU allocation for DL and UL OFDMA */ WMI_PDEV_PARAM_EQUAL_RU_ALLOCATION_ENABLE, /* 0xA3 */ } WMI_PDEV_PARAM; typedef struct { Loading Loading @@ -7031,6 +7050,11 @@ typedef struct { */ } wmi_per_chain_rssi_stats; /* vdev control flags (per bits) */ #define VDEV_FLAGS_NON_MBSSID_AP 0x00000001 /* legacy AP */ #define VDEV_FLAGS_TRANSMIT_AP 0x00000002 /* indicate if this vdev is transmitting AP */ #define VDEV_FLAGS_NON_TRANSMIT_AP 0x00000004 /* explicitly indicate this vdev is non-transmitting AP */ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ Loading @@ -7048,6 +7072,10 @@ typedef struct { * See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; /** control flags for this vdev */ A_UINT32 flags; /** vdevid of transmitted AP (mbssid case) */ A_UINT32 vdevid_trans; /* This TLV is followed by another TLV of array of structures * wmi_vdev_txrx_streams cfg_txrx_streams[]; */ Loading Loading @@ -8496,6 +8524,104 @@ typedef enum { */ WMI_VDEV_PARAM_RAW_IS_ENCRYPTED, /* 0x84 */ /** * Dynamically enable/disable green tx (GTX) on supported rates. * Host will set this param to 1 for enabling GTX & 0 for disabling it. * Note: If GTX was already running (since the global GTX control * resides with default BDF setting) & host wants to disable GTX, * the VDEV does not exercise any more TPC changes on the GTX supported * rates & goes to a default GTX SM where all PPDU's sent on default TPC. * Whenever, host wants to reenable GTX, the enable command resumes the * GTX functionality & TPC convergence to lower power levels can be * attained as long as PER on GTX supported rates is within the pre-defined * PER margin configured through the BDF. */ WMI_VDEV_PARAM_GTX_ENABLE, /* 0x85 */ /* * Enable/Disable multicast buffer. * A FLAG to enable & disable buffering of multicast frames at AP * when stations are in Power Save mode. * Once AP disables buffering of multicast frame, * clients which goes into Power save mode will not receive these frames. * by default MCAST buffering will be enabled. * (CABQ = Content After Beacon Queue = multicast queue) * Host will send this VDEV param command, * With Value = 1 means fw will disable the MCAST buffering * With Value = 0 means fw will enable the MCAST buffering. */ WMI_VDEV_PARAM_DISABLE_CABQ, /* 0x86 */ /** * For SU and MU sounding * switch between su ac/ax sounding and mu ac/ax sounding * switch between triggered/ non-triggered on ax sounding enabled. * each bit toggles the corresponding modes by enabling/disabling * * Bit 1 doesn't carry any operation for now and may change later, * so reserved. * *----------------------- * bit(0) | mode *----------------------- * 0 | AC * 1 | AX *----------------------- * * bit(1) | Reserved * *----------------------- * bit(2) | mode *----------------------- * 0 | SU * 1 | MU *----------------------- * bit(3) | mode *----------------------- * 0 | non -triggered * 1 | triggered */ WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE, /* 0x87 */ /** Fixed rate setting used in UL Trigger * The top nibble is used to select which format to use for encoding * the rate specification: 0xVXXXXXXX, V must be 1 for the UL * format. * If V == 0b0001: format is: 0x1000RRRR. * This will be output of WMI_ASSEMBLE_RATECODE_V1 * * This parameter controls the UL OFDMA and UL MU-MIMO vdev fixed rate. */ WMI_VDEV_PARAM_UL_FIXED_RATE, /* 0x88 */ /** * Uplink MU-MIMO & OFDMA GI configuration used in UL Trigger * 11AX: GI = * WMI_GI_400_NS, WMI_GI_800_NS, WMI_GI_1600_NS, or WMI_GI_3200_NS * 11N: SGI=WMI_GI_400_NS */ WMI_VDEV_PARAM_UL_GI, /* 0x89 */ /** Enable/Disable LDPC in UL Trigger */ WMI_VDEV_PARAM_UL_LDPC, /* 0x8A */ /** Max NSS allowed in UL Trigger */ WMI_VDEV_PARAM_UL_NSS, /* 0x8B */ /** Enable/Disable STBC in UL Trigger */ WMI_VDEV_PARAM_UL_STBC, /* 0x8C */ /** specify the HE LTF setting that should be used for fixed rate * uplink transmissions. * * Expects values of WMI_HE_LTF_DEFAULT, WMI_HE_LTF_1X, WMI_HE_LTF_2X, * or WMI_HE_LTF_4X. */ WMI_VDEV_PARAM_UL_HE_LTF, /* 0x8D */ /** Uplink OFDMA PPDU bandwidth (0: 20MHz, 1: 40MHz, 2: 80Mhz, 3: 160MHz)*/ WMI_VDEV_PARAM_UL_PPDU_BW, /* 0x8E */ /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are Loading Loading @@ -8556,6 +8682,10 @@ typedef enum { #define WMI_VDEV_HE_ULMUMIMO_ENABLE(hemu_mode) WMI_SET_BITS(hemu_mode, 6, 1, 1) #define WMI_VDEV_HE_ULMUMIMO_DISABLE(hemu_mode) WMI_SET_BITS(hemu_mode, 6, 1, 0) #define WMI_VDEV_HE_AX_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 0, 1) #define WMI_VDEV_HE_MU_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 2, 1) #define WMI_VDEV_HE_AX_TRIG_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 3, 1) /* vdev capabilities bit mask */ #define WMI_VDEV_BEACON_SUPPORT 0x1 #define WMI_VDEV_WDS_LRN_ENABLED 0x2 Loading Loading @@ -8860,6 +8990,8 @@ typedef struct { * is 0, 1, 4 and 5, set the bitmap to (0X80000033) */ A_UINT32 csa_event_bitmap; /** offset (in octets/bytes) of MBSSID IE in beacon frame */ A_UINT32 mbssid_ie_offset; /* * The TLVs follows: Loading Loading @@ -9849,6 +9981,15 @@ typedef struct { #define WMI_PEER_PARAM_OFDMA_ENABLE 0x19 /* Per peer 11ax/11ac MU enable or disable */ #define WMI_PEER_PARAM_MU_ENABLE 0x1a /** Set peer fixed rate used in UL Trigger * The top nibble is used to select which format to use for encoding * the rate specification: 0xVXXXXXXX, V must be 1 for this parameter. * If V == 0b0001: format is: 0x1000RRRR. * This will be output of WMI_ASSEMBLE_RATECODE_V1 * * This parameter controls the UL OFDMA and UL MU-MIMO peer fixed rate. */ #define WMI_PEER_PARAM_UL_FIXED_RATE 0x1b /** mimo ps values for the parameter WMI_PEER_MIMO_PS_STATE */ #define WMI_PEER_MIMO_PS_NONE 0x0 Loading Loading @@ -10013,6 +10154,9 @@ typedef struct { #define WMI_PEER_DYN_MIMOPS 0x00020000 /* Dynamic MIMO PS Enabled */ #define WMI_PEER_STATIC_MIMOPS 0x00040000 /* Static MIMO PS enabled */ #define WMI_PEER_SPATIAL_MUX 0x00200000 /* SM Enabled */ #define WMI_PEER_TWT_REQ 0x00400000 /* TWT Requester Support bit in Extended Capabilities element */ #define WMI_PEER_TWT_RESP 0x00800000 /* TWT Responder Support bit in Extended Capabilities element */ #define WMI_PEER_MULTI_BSSID 0x01000000 /* Multiple BSSID Support bit in Extended Capabilities element */ #define WMI_PEER_VHT 0x02000000 /* VHT Enabled */ #define WMI_PEER_80MHZ 0x04000000 /* 80MHz enabld */ #define WMI_PEER_PMF 0x08000000 /* Robust Management Frame Protection enabled */ Loading Loading @@ -13230,6 +13374,12 @@ typedef enum WMI_VENDOR_OUI_ACTION_CCKM_1X1 = 2, /* TX (only) CCKM rates with 1 chain only */ WMI_VENDOR_OUI_ACTION_ALT_ITO = 3, /* inactivity time-out */ WMI_VENDOR_OUI_ACTION_SWITCH_TO_11N_MODE = 4, /* Switch from 11ac to 11n mode to avoid IOT issues with ONM frame */ /* WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1 * Connect in 1x1 only and Use only one chain for both Tx and Rx * to avoid IOT issues due to change in number of Tx and Rx chains */ WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1 = 5, /* Add any action before this line */ WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID } wmi_vendor_oui_action_id; Loading Loading @@ -22306,9 +22456,13 @@ typedef enum { #define WLM_FLAGS_ROAM_SUPPRESS 1 #define WLM_FLAGS_ALLOW_FINAL_BMISS_ROAM 2 /* bit 8-9: reserved for roaming */ /* bit 8: reserved for roaming */ /* bit 9-11 of flags is used for powersave operation */ /* bit 9: WLM_FLAGS_PS_DISABLE_BMPS, disable BMPS if bit is set */ #define WLM_FLAGS_PS_DISABLE_BMPS 1 /* disable BMPS */ /* bit 10-11 of flags is used for powersave operation */ /* bit 10: WLM_FLAGS_PS_DISABLE_CSS_COLLAPSE, disable css power collapse if bit is set */ #define WLM_FLAGS_PS_DISABLE_CSS_COLLAPSE 1 /* disable css power collapse */ Loading @@ -22328,6 +22482,7 @@ typedef enum { #define WLM_FLAGS_SCAN_SET_DWELL_TIME_POLICY(flag, val) WMI_SET_BITS(flag, 2, 2, val) #define WLM_FLAGS_ROAM_GET_POLICY(flag) WMI_GET_BITS(flag, 6, 2) #define WLM_FLAGS_ROAM_SET_POLICY(flag, val) WMI_SET_BITS(flag, 6, 2, val) #define WLM_FLAGS_PS_IS_BMPS_DISABLED(flag) WMI_GET_BITS(flag, 9, 1) #define WLM_FLAGS_PS_IS_CSS_CLPS_DISABLED(flag) WMI_GET_BITS(flag, 10, 1) #define WLM_FLAGS_PS_SET_CSS_CLPS_DISABLE(flag, val) WMI_SET_BITS(flag, 10, 1, val) #define WLM_FLAGS_PS_IS_SYS_SLP_DISABLED(flag) WMI_GET_BITS(flag, 11, 1) drivers/staging/fw-api/fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 542 #define __WMI_REVISION_ 551 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading Loading
drivers/staging/fw-api/fw/htt.h +66 −1 Original line number Diff line number Diff line Loading @@ -166,9 +166,10 @@ * 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 * 3.52 Add HTT_T2H FLOW_POOL_RESIZE msg def */ #define HTT_CURRENT_VERSION_MAJOR 3 #define HTT_CURRENT_VERSION_MINOR 51 #define HTT_CURRENT_VERSION_MINOR 52 #define HTT_NUM_TX_FRAG_DESC 1024 Loading Loading @@ -5564,6 +5565,7 @@ enum htt_t2h_msg_type { HTT_T2H_MSG_TYPE_PEER_MAP_V2 = 0x1e, HTT_T2H_MSG_TYPE_PEER_UNMAP_V2 = 0x1f, HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND = 0x20, HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE = 0x21, HTT_T2H_MSG_TYPE_TEST, /* keep this last */ Loading Loading @@ -10474,5 +10476,68 @@ typedef struct { (((word) & HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_M) >> \ HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_S) /** * @brief HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE Message * * @details * HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE message is sent by the target when * the flow pool associated with the specified ID is resized * * The message would appear as follows: * * |31 24|23 16|15 8|7 0| * |----------------+----------------+----------------+----------------| * | flow Pool ID | reserved0 | Msg type | * |-------------------------------------------------------------------| * | reserved1 | flow pool new size | * |-------------------------------------------------------------------| * * The message is interpreted as follows: * b'0:7 - msg_type: This will be set to * HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE * * b'8:15 - flow pool ID: Existing flow pool ID * * b'16:31 - flow pool new size: new pool size for exisiting flow pool ID * */ PREPACK struct htt_flow_pool_resize_t { A_UINT32 msg_type:8, reserved0:8, flow_pool_id:16; A_UINT32 flow_pool_new_size:16, reserved1:16; } POSTPACK; #define HTT_FLOW_POOL_RESIZE_SZ (sizeof(struct htt_flow_pool_resize_t)) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_M 0xffff0000 #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S 16 #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_M 0x0000ffff #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S 0 #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_GET(_var) \ (((_var) & HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_M) >> \ HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_SET(_var, _val) \ do { \ HTT_CHECK_SET_VAL(HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID, _val); \ ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S)); \ } while (0) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_GET(_var) \ (((_var) & HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_M) >> \ HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S) #define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_SET(_var, _val) \ do { \ HTT_CHECK_SET_VAL(HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE, _val); \ ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S)); \ } while (0) #endif
drivers/staging/fw-api/fw/wlan_module_ids.h +84 −73 Original line number Diff line number Diff line /* * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved. * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * Loading Loading @@ -100,6 +100,17 @@ typedef enum { WLAN_MODULE_P2P_LISTEN_OFFLOAD, /* 0x42 */ WLAN_MODULE_HALPHY, /* 0x43 */ WAL_MODULE_ENQ, /* 0x44 */ WLAN_MODULE_GNSS, /* 0x45 */ WLAN_MODULE_WAL_MEM, /* 0x46 */ WLAN_MODULE_SCHED_ALGO, /* 0x47 */ WLAN_MODULE_TX, /* 0x48 */ WLAN_MODULE_RX, /* 0x49 */ WLAN_MODULE_WLM, /* 0x4a */ WLAN_MODULE_RU_ALLOCATOR, /* 0x4b */ WLAN_MODULE_11K_OFFLOAD, /* 0x4c */ WLAN_MODULE_STA_TWT, /* 0x4d */ WLAN_MODULE_AP_TWT, /* 0x4e */ WLAN_MODULE_UL_OFDMA, /* 0x4f */ WLAN_MODULE_ID_MAX, WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX, Loading
drivers/staging/fw-api/fw/wmi_services.h +1 −0 Original line number Diff line number Diff line Loading @@ -254,6 +254,7 @@ typedef enum { WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_SCC_SUPPORT=158, /* Support dual beacon on same channel on single MAC */ WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_MCC_SUPPORT=159, /* Support dual beacon on different channel on single MAC */ WMI_SERVICE_MOTION_DET=160, /* support for motion detection config */ WMI_SERVICE_INFRA_MBSSID=161, /* support infra multi-BSSID feature */ /******* ADD NEW SERVICES HERE *******/ Loading
drivers/staging/fw-api/fw/wmi_unified.h +157 −2 Original line number Diff line number Diff line Loading @@ -2315,6 +2315,11 @@ typedef struct { * is equal to or less than the target capability limit reported here. */ A_UINT32 max_nlo_ssids; /* ref to section 8.4.2.48 Multiple BSSID element * The Max BSSID Indicator field contains a value assigned to n, * where 2^n is the maximum number of BSSIDs */ A_UINT32 max_bssid_indicator; } wmi_service_ready_ext_event_fixed_param; typedef enum { Loading Loading @@ -2880,6 +2885,12 @@ typedef struct { * 0 - fw chooses its default value: 'num_vdevs' of this structure. */ A_UINT32 num_max_sta_vdevs; /* ref to section 8.4.2.48 Multiple BSSID element * The Max BSSID Indicator field contains a value assigned to n, * where 2^n is the maximum number of BSSIDs */ A_UINT32 max_bssid_indicator; } wmi_resource_config; #define WMI_RSRC_CFG_FLAG_SET(word32, flag, value) \ Loading Loading @@ -3154,6 +3165,8 @@ typedef struct { A_UINT32 num_vendor_oui; /** Scan control flags extended **/ A_UINT32 scan_ctrl_flags_ext; /** dwell time in msec on active 2G channels, if it's not zero */ A_UINT32 dwell_time_active_2g; /** * TLV (tag length value) parameters follow the scan_cmd Loading Loading @@ -5060,6 +5073,12 @@ typedef enum { * Bit 3-5: "Xretry threshold" to use */ WMI_PDEV_PARAM_SECONDARY_RETRY_ENABLE, /* 0xA0 */ /** Set global uplink triggered PPDU duration limit (usec). */ WMI_PDEV_PARAM_SET_UL_PPDU_DURATION, /* 0xA1 */ /** Set target buffer status report trigger interval (ms) */ WMI_PDEV_PARAM_SET_UL_BSR_TRIG_INTERVAL, /* 0xA2 */ /** Use simplified equal RU allocation for DL and UL OFDMA */ WMI_PDEV_PARAM_EQUAL_RU_ALLOCATION_ENABLE, /* 0xA3 */ } WMI_PDEV_PARAM; typedef struct { Loading Loading @@ -7031,6 +7050,11 @@ typedef struct { */ } wmi_per_chain_rssi_stats; /* vdev control flags (per bits) */ #define VDEV_FLAGS_NON_MBSSID_AP 0x00000001 /* legacy AP */ #define VDEV_FLAGS_TRANSMIT_AP 0x00000002 /* indicate if this vdev is transmitting AP */ #define VDEV_FLAGS_NON_TRANSMIT_AP 0x00000004 /* explicitly indicate this vdev is non-transmitting AP */ typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ Loading @@ -7048,6 +7072,10 @@ typedef struct { * See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; /** control flags for this vdev */ A_UINT32 flags; /** vdevid of transmitted AP (mbssid case) */ A_UINT32 vdevid_trans; /* This TLV is followed by another TLV of array of structures * wmi_vdev_txrx_streams cfg_txrx_streams[]; */ Loading Loading @@ -8496,6 +8524,104 @@ typedef enum { */ WMI_VDEV_PARAM_RAW_IS_ENCRYPTED, /* 0x84 */ /** * Dynamically enable/disable green tx (GTX) on supported rates. * Host will set this param to 1 for enabling GTX & 0 for disabling it. * Note: If GTX was already running (since the global GTX control * resides with default BDF setting) & host wants to disable GTX, * the VDEV does not exercise any more TPC changes on the GTX supported * rates & goes to a default GTX SM where all PPDU's sent on default TPC. * Whenever, host wants to reenable GTX, the enable command resumes the * GTX functionality & TPC convergence to lower power levels can be * attained as long as PER on GTX supported rates is within the pre-defined * PER margin configured through the BDF. */ WMI_VDEV_PARAM_GTX_ENABLE, /* 0x85 */ /* * Enable/Disable multicast buffer. * A FLAG to enable & disable buffering of multicast frames at AP * when stations are in Power Save mode. * Once AP disables buffering of multicast frame, * clients which goes into Power save mode will not receive these frames. * by default MCAST buffering will be enabled. * (CABQ = Content After Beacon Queue = multicast queue) * Host will send this VDEV param command, * With Value = 1 means fw will disable the MCAST buffering * With Value = 0 means fw will enable the MCAST buffering. */ WMI_VDEV_PARAM_DISABLE_CABQ, /* 0x86 */ /** * For SU and MU sounding * switch between su ac/ax sounding and mu ac/ax sounding * switch between triggered/ non-triggered on ax sounding enabled. * each bit toggles the corresponding modes by enabling/disabling * * Bit 1 doesn't carry any operation for now and may change later, * so reserved. * *----------------------- * bit(0) | mode *----------------------- * 0 | AC * 1 | AX *----------------------- * * bit(1) | Reserved * *----------------------- * bit(2) | mode *----------------------- * 0 | SU * 1 | MU *----------------------- * bit(3) | mode *----------------------- * 0 | non -triggered * 1 | triggered */ WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE, /* 0x87 */ /** Fixed rate setting used in UL Trigger * The top nibble is used to select which format to use for encoding * the rate specification: 0xVXXXXXXX, V must be 1 for the UL * format. * If V == 0b0001: format is: 0x1000RRRR. * This will be output of WMI_ASSEMBLE_RATECODE_V1 * * This parameter controls the UL OFDMA and UL MU-MIMO vdev fixed rate. */ WMI_VDEV_PARAM_UL_FIXED_RATE, /* 0x88 */ /** * Uplink MU-MIMO & OFDMA GI configuration used in UL Trigger * 11AX: GI = * WMI_GI_400_NS, WMI_GI_800_NS, WMI_GI_1600_NS, or WMI_GI_3200_NS * 11N: SGI=WMI_GI_400_NS */ WMI_VDEV_PARAM_UL_GI, /* 0x89 */ /** Enable/Disable LDPC in UL Trigger */ WMI_VDEV_PARAM_UL_LDPC, /* 0x8A */ /** Max NSS allowed in UL Trigger */ WMI_VDEV_PARAM_UL_NSS, /* 0x8B */ /** Enable/Disable STBC in UL Trigger */ WMI_VDEV_PARAM_UL_STBC, /* 0x8C */ /** specify the HE LTF setting that should be used for fixed rate * uplink transmissions. * * Expects values of WMI_HE_LTF_DEFAULT, WMI_HE_LTF_1X, WMI_HE_LTF_2X, * or WMI_HE_LTF_4X. */ WMI_VDEV_PARAM_UL_HE_LTF, /* 0x8D */ /** Uplink OFDMA PPDU bandwidth (0: 20MHz, 1: 40MHz, 2: 80Mhz, 3: 160MHz)*/ WMI_VDEV_PARAM_UL_PPDU_BW, /* 0x8E */ /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are Loading Loading @@ -8556,6 +8682,10 @@ typedef enum { #define WMI_VDEV_HE_ULMUMIMO_ENABLE(hemu_mode) WMI_SET_BITS(hemu_mode, 6, 1, 1) #define WMI_VDEV_HE_ULMUMIMO_DISABLE(hemu_mode) WMI_SET_BITS(hemu_mode, 6, 1, 0) #define WMI_VDEV_HE_AX_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 0, 1) #define WMI_VDEV_HE_MU_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 2, 1) #define WMI_VDEV_HE_AX_TRIG_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 3, 1) /* vdev capabilities bit mask */ #define WMI_VDEV_BEACON_SUPPORT 0x1 #define WMI_VDEV_WDS_LRN_ENABLED 0x2 Loading Loading @@ -8860,6 +8990,8 @@ typedef struct { * is 0, 1, 4 and 5, set the bitmap to (0X80000033) */ A_UINT32 csa_event_bitmap; /** offset (in octets/bytes) of MBSSID IE in beacon frame */ A_UINT32 mbssid_ie_offset; /* * The TLVs follows: Loading Loading @@ -9849,6 +9981,15 @@ typedef struct { #define WMI_PEER_PARAM_OFDMA_ENABLE 0x19 /* Per peer 11ax/11ac MU enable or disable */ #define WMI_PEER_PARAM_MU_ENABLE 0x1a /** Set peer fixed rate used in UL Trigger * The top nibble is used to select which format to use for encoding * the rate specification: 0xVXXXXXXX, V must be 1 for this parameter. * If V == 0b0001: format is: 0x1000RRRR. * This will be output of WMI_ASSEMBLE_RATECODE_V1 * * This parameter controls the UL OFDMA and UL MU-MIMO peer fixed rate. */ #define WMI_PEER_PARAM_UL_FIXED_RATE 0x1b /** mimo ps values for the parameter WMI_PEER_MIMO_PS_STATE */ #define WMI_PEER_MIMO_PS_NONE 0x0 Loading Loading @@ -10013,6 +10154,9 @@ typedef struct { #define WMI_PEER_DYN_MIMOPS 0x00020000 /* Dynamic MIMO PS Enabled */ #define WMI_PEER_STATIC_MIMOPS 0x00040000 /* Static MIMO PS enabled */ #define WMI_PEER_SPATIAL_MUX 0x00200000 /* SM Enabled */ #define WMI_PEER_TWT_REQ 0x00400000 /* TWT Requester Support bit in Extended Capabilities element */ #define WMI_PEER_TWT_RESP 0x00800000 /* TWT Responder Support bit in Extended Capabilities element */ #define WMI_PEER_MULTI_BSSID 0x01000000 /* Multiple BSSID Support bit in Extended Capabilities element */ #define WMI_PEER_VHT 0x02000000 /* VHT Enabled */ #define WMI_PEER_80MHZ 0x04000000 /* 80MHz enabld */ #define WMI_PEER_PMF 0x08000000 /* Robust Management Frame Protection enabled */ Loading Loading @@ -13230,6 +13374,12 @@ typedef enum WMI_VENDOR_OUI_ACTION_CCKM_1X1 = 2, /* TX (only) CCKM rates with 1 chain only */ WMI_VENDOR_OUI_ACTION_ALT_ITO = 3, /* inactivity time-out */ WMI_VENDOR_OUI_ACTION_SWITCH_TO_11N_MODE = 4, /* Switch from 11ac to 11n mode to avoid IOT issues with ONM frame */ /* WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1 * Connect in 1x1 only and Use only one chain for both Tx and Rx * to avoid IOT issues due to change in number of Tx and Rx chains */ WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1 = 5, /* Add any action before this line */ WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID } wmi_vendor_oui_action_id; Loading Loading @@ -22306,9 +22456,13 @@ typedef enum { #define WLM_FLAGS_ROAM_SUPPRESS 1 #define WLM_FLAGS_ALLOW_FINAL_BMISS_ROAM 2 /* bit 8-9: reserved for roaming */ /* bit 8: reserved for roaming */ /* bit 9-11 of flags is used for powersave operation */ /* bit 9: WLM_FLAGS_PS_DISABLE_BMPS, disable BMPS if bit is set */ #define WLM_FLAGS_PS_DISABLE_BMPS 1 /* disable BMPS */ /* bit 10-11 of flags is used for powersave operation */ /* bit 10: WLM_FLAGS_PS_DISABLE_CSS_COLLAPSE, disable css power collapse if bit is set */ #define WLM_FLAGS_PS_DISABLE_CSS_COLLAPSE 1 /* disable css power collapse */ Loading @@ -22328,6 +22482,7 @@ typedef enum { #define WLM_FLAGS_SCAN_SET_DWELL_TIME_POLICY(flag, val) WMI_SET_BITS(flag, 2, 2, val) #define WLM_FLAGS_ROAM_GET_POLICY(flag) WMI_GET_BITS(flag, 6, 2) #define WLM_FLAGS_ROAM_SET_POLICY(flag, val) WMI_SET_BITS(flag, 6, 2, val) #define WLM_FLAGS_PS_IS_BMPS_DISABLED(flag) WMI_GET_BITS(flag, 9, 1) #define WLM_FLAGS_PS_IS_CSS_CLPS_DISABLED(flag) WMI_GET_BITS(flag, 10, 1) #define WLM_FLAGS_PS_SET_CSS_CLPS_DISABLE(flag, val) WMI_SET_BITS(flag, 10, 1, val) #define WLM_FLAGS_PS_IS_SYS_SLP_DISABLED(flag) WMI_GET_BITS(flag, 11, 1)
drivers/staging/fw-api/fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 542 #define __WMI_REVISION_ 551 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading