diff options
| author | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2013-12-27 15:14:06 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2013-12-27 15:14:06 -0800 |
| commit | 39c92db04cb993040cbc53bce2368d441f8a00c0 (patch) | |
| tree | f4a13065ae656304a535dcba0059ad7b8df7d709 | |
| parent | 82154d756a660e8671b7a30e224443865d833e7a (diff) | |
Remove stale riva and wcnss/riva folders
Remove stale riva and wcnss/riva folders
| -rw-r--r-- | riva/inc/halCompiler.h | 158 | ||||
| -rw-r--r-- | riva/inc/halLegacyPalTypes.h | 41 | ||||
| -rw-r--r-- | riva/inc/pttFrameGen.h | 71 | ||||
| -rw-r--r-- | riva/inc/pttModule.h | 160 | ||||
| -rw-r--r-- | riva/inc/pttMsgApi.h | 948 | ||||
| -rw-r--r-- | riva/inc/wlan_hal_cfg.h | 917 | ||||
| -rw-r--r-- | riva/inc/wlan_hal_msg.h | 7062 | ||||
| -rw-r--r-- | riva/inc/wlan_nv.h | 792 | ||||
| -rw-r--r-- | riva/inc/wlan_phy.h | 898 | ||||
| -rw-r--r-- | riva/inc/wlan_qct_dev_defs.h | 360 | ||||
| -rw-r--r-- | riva/inc/wlan_status_code.h | 160 | ||||
| -rw-r--r-- | wcnss/riva/inc/halCompiler.h | 179 | ||||
| -rw-r--r-- | wcnss/riva/inc/halLegacyPalTypes.h | 62 | ||||
| -rw-r--r-- | wcnss/riva/inc/pttFrameGen.h | 71 | ||||
| -rw-r--r-- | wcnss/riva/inc/pttModule.h | 160 | ||||
| -rw-r--r-- | wcnss/riva/inc/pttMsgApi.h | 969 | ||||
| -rw-r--r-- | wcnss/riva/inc/wlan_hal_cfg.h | 938 | ||||
| -rw-r--r-- | wcnss/riva/inc/wlan_hal_msg.h | 7083 | ||||
| -rw-r--r-- | wcnss/riva/inc/wlan_nv.h | 813 | ||||
| -rw-r--r-- | wcnss/riva/inc/wlan_phy.h | 919 | ||||
| -rw-r--r-- | wcnss/riva/inc/wlan_qct_dev_defs.h | 381 | ||||
| -rw-r--r-- | wcnss/riva/inc/wlan_status_code.h | 181 |
22 files changed, 0 insertions, 23323 deletions
diff --git a/riva/inc/halCompiler.h b/riva/inc/halCompiler.h deleted file mode 100644 index a8a5b668acee..000000000000 --- a/riva/inc/halCompiler.h +++ /dev/null @@ -1,158 +0,0 @@ -/* -* Copyright (c) 2012-2013 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/*========================================================================== - * - * @file: aniCompiler.h - * - * @brief: This file tries to abstract the differences among compilers. - * Supported compilers are: - * ARM RVCT compiler - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ -#ifndef __ANI_COMPILER_ABSTRACT_H -#define __ANI_COMPILER_ABSTRACT_H - -/* - * 1. GNU C/C++ Compiler - * - * How to detect gcc : __GNUC__ - * How to detect gcc version : - * major version : __GNUC__ (2 = 2.x, 3 = 3.x, 4 = 4.x) - * minor version : __GNUC_MINOR__ - * - * 2. Microsoft C/C++ Compiler - * - * How to detect msc : _MSC_VER - * How to detect msc version : - * _MSC_VER (1200 = MSVC 6.0, 1300 = MSVC 7.0, ...) - * - * 3. Intel C/C++ Compiler - * - * How to detect icc : __INTEL_COMPILER, __ICC (legacy), __ECC (legacy) - * How to detect icc version : - * __INTEL_COMPILER, __ICC, __ECC (700 = 7.0, 900 = 9.0, ...) - * - * 4. Other compilers (not supported) - * - * Borland : __BORLANDC__ - * Greenhills : __ghs - * Metrowerks : __MWERKS__ - * SGI MIPSpro : __sgi - */ - -/* - * Packing directives : These are used to force compiler to pack bits and - * bytes in the data structure. C standard does not regulate this strictly, - * and many things are to compiler implementation. Many compilers support - * compiler specific directives or options that allow different packing - * and alignment. - * - * Alignment directives : Compiler may think packed data structures have - * no specific alignment requirement. Then compiler may generate multiple - * byte accesses to access two byte or four bytes data structures. This - * affects on performance especially for RISC systems. If some data - * structure is located on specific alignment always, alignment directives - * help compiler generate more efficient codes. - */ - -#undef __ANI_COMPILER_PRAGMA_PACK_STACK -#undef __ANI_COMPILER_PRAGMA_PACK - -#if defined(_MSC_VER) -#define __ANI_COMPILER_PRAGMA_PACK_STACK 1 -#define __ANI_COMPILER_PRAGMA_PACK 1 -#define __ani_attr_pre_packed -#define __ani_attr_packed -#define __ani_attr_aligned_2 -#define __ani_attr_aligned_4 -#define __ani_attr_aligned_8 -#define __ani_attr_aligned_16 -#define __ani_attr_aligned_32 -#define PACKED -#define PACKED_POST -#define ALIGN(__value) -#elif defined(__INTEL_COMPILER) || defined(__ICC) || defined(__ECC) -#define __ANI_COMPILER_PRAGMA_PACK 1 -#define __ani_attr_pre_packed -#define __ani_attr_packed -#define __ani_attr_aligned_2 -#define __ani_attr_aligned_4 -#define __ani_attr_aligned_8 -#define __ani_attr_aligned_16 -#define __ani_attr_aligned_32 -#define PACKED -#define PACKED_POST -#define ALIGN(__value) -#elif defined(__GNUC__) -#define __ani_attr_pre_packed -#define __ani_attr_packed __attribute__((packed)) -#define __ani_attr_aligned_2 __attribute__((aligned(2))) -#define __ani_attr_aligned_4 __attribute__((aligned(4))) -#define __ani_attr_aligned_8 __attribute__((aligned(8))) -#define __ani_attr_aligned_16 __attribute__((aligned(16))) -#define __ani_attr_aligned_32 __attribute__((aligned(32))) -#ifndef PACKED -#define PACKED -#endif -#ifndef PACKED_POST -#define PACKED_POST __attribute__((packed)) -#endif -#ifndef ALIGN -#define ALIGN(__value) __attribute__((aligned(__value))) -#endif -#elif defined(ANI_COMPILER_TYPE_RVCT) -/* Nothing defined so far */ - -/* - * RIVA 1.2 and Pronto uses ARMCT5.1 compiler and it throws lot of warning when __align() is used in structure definitions. - * __attribute__((aligned())) is GNU compiler attribute that is accepted by ARM compiler and resolves the warnings. - */ -#if (__ARMCC_VERSION > 400000) -#define __ani_attr_packed -#define __ani_attr_pre_packed __packed -#define __ani_attr_aligned_2 __attribute__((aligned(2))) -#define __ani_attr_aligned_4 __attribute__((aligned(4))) -#define __ani_attr_aligned_8 __attribute__((aligned(8))) -#define __ani_attr_aligned_16 __attribute__((aligned(16))) -#define __ani_attr_aligned_32 __attribute__((aligned(32))) -#define PACKED __packed -#define PACKED_POST -#define ALIGN(__value) __align(__value) -#define PREPACK __packed -#define POSTPACK -#else -#define __ani_attr_packed -#define __ani_attr_pre_packed __packed -#define __ani_attr_aligned_2 __align(2) -#define __ani_attr_aligned_4 __align(4) -#define __ani_attr_aligned_8 __align(8) -#define __ani_attr_aligned_16 __align(16) -#define __ani_attr_aligned_32 __align(32) -#define PACKED __packed -#define PACKED_POST -#define ALIGN(__value) __align(__value) -#endif - -#else -#error "Unknown compiler" -#endif - -#ifndef PACKED_PRE -#define PACKED_PRE __ani_attr_pre_packed -#endif - -#ifndef ALIGN_4 -#define ALIGN_4 __ani_attr_aligned_4 -#endif - -#endif //__ANI_COMPILER_ABSTRACT_H - diff --git a/riva/inc/halLegacyPalTypes.h b/riva/inc/halLegacyPalTypes.h deleted file mode 100644 index e873d8ea9be2..000000000000 --- a/riva/inc/halLegacyPalTypes.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -* Copyright (c) 2012-2013 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -#if !defined( __LEGACYPALTYPES_H__ ) -#define __LEGACYPALTYPES_H__ - -/*========================================================================== - * - * @file: halLegacyPalTypes.h - * - * @brief: Exports and types for the Platform Abstraction Layer typedefs. - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#include "qwlanfw_defs.h" - -/* Common type definitions */ -typedef uint8 tANI_U8; -typedef int8 tANI_S8; -typedef uint16 tANI_U16; -typedef int16 tANI_S16; -typedef uint32 tANI_U32; -typedef int32 tANI_S32; - -#ifndef BUILD_QWPTTSTATIC -typedef uint64 tANI_U64; -#endif - -typedef byte tANI_BYTE; -typedef boolean tANI_BOOLEAN; -typedef uint32 tANI_TIMESTAMP; - -#endif /*__LEGACYPALTYPES_H__*/ diff --git a/riva/inc/pttFrameGen.h b/riva/inc/pttFrameGen.h deleted file mode 100644 index b41b030d1f95..000000000000 --- a/riva/inc/pttFrameGen.h +++ /dev/null @@ -1,71 +0,0 @@ -/** ------------------------------------------------------------------------- * - ------------------------------------------------------------------------- * - - - \file pttFrameGen.h - - \brief Definitions for PTT frame generation - - $Id$ - - Copyright (C) 2006 Airgo Networks, Incorporated - - - ========================================================================== */ - -#ifndef PTTFRAMEGEN_H -#define PTTFRAMEGEN_H - - -//#define MAX_PKT_GEN_BUF_ENTRY (HAL_HIF_MAX_TX_RING_ENTRY >> 1) - - - -#define MAX_PAYLOAD_SIZE 2400 -#define MAX_TX_PAYLOAD_SIZE 4096 - -typedef enum { - TEST_PAYLOAD_NONE, - TEST_PAYLOAD_FILL_BYTE, - TEST_PAYLOAD_RANDOM, - TEST_PAYLOAD_RAMP, - TEST_PAYLOAD_TEMPLATE, - TEST_PAYLOAD_MAX = 0X3FFFFFFF, //dummy value to set enum to 4 bytes -} ePayloadContents; - - -#define MAC_ADDR_SIZE ( 6 ) - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 numTestPackets; - tANI_U32 interFrameSpace; - eHalPhyRates rate; - ePayloadContents payloadContents; - tANI_U16 payloadLength; - tANI_U8 payloadFillByte; - tANI_BOOLEAN pktAutoSeqNum; //seq num setting (hw or not) for packet gen - - tANI_U8 addr1[MAC_ADDR_SIZE]; - tANI_U8 addr2[MAC_ADDR_SIZE]; - tANI_U8 addr3[MAC_ADDR_SIZE]; - tANI_U8 tx_mode; - tANI_BOOLEAN crc; //0 = no FCS calculated = power detector works = receive won't work?, - //1 = crc calculated = receive works, but power detector workaround doesn't - - ePhyDbgPreamble preamble; -} sPttFrameGenParams; - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 legacy; //11g OFDM preamble - tANI_U32 gfSimo20; //greenfield preamble - tANI_U32 mmSimo20; //mixed mode preamble - tANI_U32 gfSimo40; //greenfield preamble - tANI_U32 mmSimo40; //mixed mode preamble - tANI_U32 txbShort; //11b short - tANI_U32 txbLong; //11b long - tANI_U32 acSimo204080; //11ac SIMO 20,40,80 - tANI_U32 total; -} sTxFrameCounters; - -#endif diff --git a/riva/inc/pttModule.h b/riva/inc/pttModule.h deleted file mode 100644 index 5fc488e3736e..000000000000 --- a/riva/inc/pttModule.h +++ /dev/null @@ -1,160 +0,0 @@ -/** - * - Airgo Networks, Inc proprietary. - All Rights Reserved, Copyright 2005 - This program is the confidential and proprietary product of Airgo Networks Inc. - Any Unauthorized use, reproduction or transfer of this program is strictly prohibited. - - - pttModule.h: global variable structure for pttModule - Author: Mark Nelson - Date: 6/27/05 - - History - - Date Modified by Modification Information - -------------------------------------------------------------------------- - - */ - -#ifndef PTTMODULE_H -#define PTTMODULE_H -#include <wlan_phy.h> -#include <pttFrameGen.h> - -#ifdef BUILD_QWPTTSTATIC -#include "wlan_hal_msg.h" // it is needed to build qwptt static lib -#endif - -// Max NV fragment size -#define MAX_NV_BIN_SIZE 2000 - -enum -{ - PTT_STATUS_SUCCESS = 0, - PTT_STATUS_FAILURE = 1, - PTT_MAX_VAL = 0XFFFF, -}; -typedef tANI_U32 eQWPttStatus; - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 drvMjr; - tANI_U16 drvMnr; - tANI_U16 drvPtch; - tANI_U16 drvBld; - tANI_U16 pttMax; - tANI_U16 pttMin; - //FwVersionInfo fwVer; -} sBuildReleaseParams; - -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN agPktsDisabled; //802.11ag - tANI_BOOLEAN bPktsDisabled; //802.11b - tANI_BOOLEAN slrPktsDisabled; //deprecated in Riva - tANI_BOOLEAN n40PktsDisabled; //11N 40 - tANI_BOOLEAN ac80PktsDisabled; //11AC 80 - tANI_BOOLEAN rsvd; -} sRxTypesDisabled; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 totalRxPackets; - tANI_U32 totalMacRxPackets; - tANI_U32 totalMacFcsErrPackets; -} sRxFrameCounters; - - - - -/* GRAB RAM types */ -//TODO: Change Grab RAM interface as appropriate to Taurus -typedef enum { - GRAB_RAM_RXFIR, - GRAB_RAM_ADC, - GRAB_RAM_ADC_80, - GRAB_RAM_MAX_VAL = 0XFFFF, -} eGrabRamType; - -#define GRAB_RAM_SIZE 6000 -#define GRAB_RAM_SIZE_80MHZ_1_CHAIN 12000 - - - -/// Enum used to specify the trigger type for the aniGrabRam API -typedef enum eGramDumpTrigType { - eGRAM_DUMP_UNTRIGGERED, - eGRAM_DUMP_TRIG_ON_11A, - eGRAM_DUMP_TRIG_ON_11B, - eGRAM_DUMP_TRIG_ON_11A_OR_11B -} tGramDumpTrigType; - -typedef PACKED_PRE struct PACKED_POST { - //common to both transmit chains - eHalPhyRates rate; //current rate - ePhyChanBondState cbState; //current Channel bonded state - - tANI_U8 channelId; //current channel Id - tANI_U8 pwrTemplateIndex; //5-bit template index used for the current rate - tANI_U8 reserved[2]; - - //specific transmit chain power - tTxChainPower txChains[PHY_MAX_TX_CHAINS]; //output power for Tx chains -} tTxPowerReport; - -#define RXP_MAX_FILTER_IDX 64 - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 rxpFilterForFTMPER[RXP_MAX_FILTER_IDX]; - uint32 max_pktlen; - uint32 flt_disable0; - uint32 flt_disable1; - uint32 config2; - uint32 push_wq_ctrl; - uint32 push_wq_ctrl2; - uint32 extra_frame_flt; -} sMACConfig; - - -typedef PACKED_PRE struct PACKED_POST { - /* - * The idea here is to store only those things which cannot be - * handled directly within the individual function calls. - * Most things will go straight to registers or come from registers. - */ - sPttFrameGenParams frameGenParams; - tANI_U8 payload[MAX_PAYLOAD_SIZE]; - - //Tx Waveform Gen Service - tANI_U16 numWfmSamples; - tANI_BOOLEAN wfmEnabled; - tANI_BOOLEAN wfmStored; - - //Tx Frame Power Service - tTxGain forcedTxGain[PHY_MAX_TX_CHAINS]; //use TXPWR_OVERRIDE for wfm, and fill gain table otherwise - tANI_U8 tpcPowerLut[PHY_MAX_TX_CHAINS][TPC_MEM_POWER_LUT_DEPTH]; - tTxGain tpcGainLut[PHY_MAX_TX_CHAINS][TPC_MEM_GAIN_LUT_DEPTH]; - - //Tx Frame Gen Service - tANI_BOOLEAN frameGenEnabled; - tANI_BOOLEAN phyDbgFrameGen; //this says use phyDbg for frames - leave this in place until we know that PhyDbg will suffice - - // for FTM PER feature - tANI_U8 tx_mode; - - tANI_BOOLEAN ftm_per_settings_saved; - - //Rx Gain Service - sRxChainsAgcEnable agcEnables; - - tANI_U32 *pADCCaptureCache; //pointer to allocate ADC capture cache - - //TX_TIMER adcRssiStatsTimer; //Create adc rssi stat collection timer - - sRxChainsRssi rssi; -} tPttModuleVariables; - -#ifdef WCN_PRONTO -extern sMACConfig macConfig; -#endif - -#endif /* PTTMODULE_H */ diff --git a/riva/inc/pttMsgApi.h b/riva/inc/pttMsgApi.h deleted file mode 100644 index 33389c20dc8a..000000000000 --- a/riva/inc/pttMsgApi.h +++ /dev/null @@ -1,948 +0,0 @@ -/* -* Copyright (c) 2012 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/** - * - Airgo Networks, Inc proprietary. - All Rights Reserved, Copyright 2005 - This program is the confidential and proprietary product of Airgo Networks Inc. - Any Unauthorized use, reproduction or transfer of this program is strictly prohibited. - - - pttMsgApi.h: Contains messages to PTT Module for physical layer testing - Author: Mark Nelson - Date: 6/21/05 - - History - - Date Modified by Modification Information - -------------------------------------------------------------------------- - - */ - -#ifndef PTT_MSG_API_H -#define PTT_MSG_API_H - -#include "halCompiler.h" -#include "wlan_nv.h" -#include "wlan_phy.h" -#include "pttFrameGen.h" -#include "pttModule.h" - -#include "halLegacyPalTypes.h" - -typedef tANI_U8 tQWPTT_U8; -typedef tANI_S8 tQWPTT_S8; - -typedef tANI_U16 tQWPTT_U16; -typedef tANI_S16 tQWPTT_S16; - -typedef tANI_U32 tQWPTT_U32; -typedef tANI_S32 tQWPTT_S32; - -typedef tANI_U8 tQWPTT_BYTE; -typedef tANI_S9 tQWPTT_S9; - -typedef tANI_U8 tQWPTT_BOOLEAN; - -#define PTT_MEM_ACCESS_MAX_SIZE 256 - -//Messages to/from socket or pttApi.c -typedef enum { - PTT_MSG_TYPES_BEGIN = 0x3000, - - // Init - PTT_MSG_INIT = PTT_MSG_TYPES_BEGIN, //extra: internal only - -//NV Service - PTT_MSG_GET_TPC_CAL_STATE_OBSOLETE = 0x3011, - PTT_MSG_RESET_TPC_CAL_STATE_OBSOLETE = 0x3012, - - PTT_MSG_SET_NV_CKSUM_OBSOLETE = 0x3013, - PTT_MSG_GET_NV_CKSUM_OBSOLETE = 0x3014, - PTT_MSG_GET_NV_TABLE = 0x3016, - PTT_MSG_SET_NV_TABLE = 0x3017, - PTT_MSG_SET_NV_IMAGE_OBSOLETE = 0x3018, - PTT_MSG_BLANK_NV = 0x3019, - PTT_MSG_GET_NV_IMAGE_OBSOLETE = 0x301E, - PTT_MSG_DEL_NV_TABLE = 0x301F, - PTT_MSG_GET_NV_FIELD = 0x3020, - PTT_MSG_SET_NV_FIELD = 0x3021, - PTT_MSG_STORE_NV_TABLE = 0x3022, - PTT_MSG_SET_REG_DOMAIN = 0x3023, - -//new NV format Service - PTT_MSG_GET_NV_BIN = 0x3030, - PTT_MSG_SET_NV_BIN = 0x3031, - PTT_MSG_GET_DICTIONARY = 0x3032, - -//Device Register Access - PTT_MSG_DBG_READ_REGISTER = 0x3040, - PTT_MSG_DBG_WRITE_REGISTER = 0x3041, - PTT_MSG_API_WRITE_REGISTER_OBSOLETE = 0x3042, - PTT_MSG_API_READ_REGISTER_OBSOLETE = 0x3043, - PTT_MSG_DBG_READ_MEMORY = 0x3044, - PTT_MSG_DBG_WRITE_MEMORY = 0x3045, - -//Device MAC Test Setup - PTT_MSG_ENABLE_CHAINS = 0x304F, - PTT_MSG_SET_CHANNEL = 0x3050, - -//Tx Waveform Gen Service - PTT_MSG_SET_WAVEFORM = 0x3071, - PTT_MSG_SET_TX_WAVEFORM_GAIN = 0x3072, - PTT_MSG_GET_WAVEFORM_POWER_ADC = 0x3073, - PTT_MSG_START_WAVEFORM = 0x3074, - PTT_MSG_STOP_WAVEFORM = 0x3075, - PTT_MSG_SET_RX_WAVEFORM_GAIN = 0x3076, - PTT_MSG_SET_TX_WAVEFORM_GAIN_PRIMA_V1 = 0x3077, - -//Tx Frame Gen Service - PTT_MSG_CONFIG_TX_PACKET_GEN = 0x3081, - PTT_MSG_START_STOP_TX_PACKET_GEN = 0x3082, - PTT_MSG_POLL_TX_PACKET_PROGRESS_OBSOLETE = 0x3083, - PTT_MSG_FRAME_GEN_STOP_IND_OBSOLETE = 0x3088, - PTT_MSG_QUERY_TX_STATUS = 0x3089, - - -//Tx Frame Power Service - PTT_MSG_CLOSE_TPC_LOOP = 0x30A0, - -//open loop service - PTT_MSG_SET_PACKET_TX_GAIN_TABLE = 0x30A1, - PTT_MSG_SET_PACKET_TX_GAIN_INDEX = 0x30A2, - PTT_MSG_FORCE_PACKET_TX_GAIN = 0x30A3, - -//closed loop(CLPC) service - PTT_MSG_SET_PWR_INDEX_SOURCE = 0x30A4, - PTT_MSG_SET_TX_POWER = 0x30A5, - PTT_MSG_GET_TX_POWER_REPORT = 0x30A7, - PTT_MSG_SAVE_TX_PWR_CAL_TABLE_OBSOLETE = 0x30A8, - PTT_MSG_SET_POWER_LUT = 0x30A9, - PTT_MSG_GET_POWER_LUT = 0x30AA, - PTT_MSG_GET_PACKET_TX_GAIN_TABLE = 0x30AB, - PTT_MSG_SAVE_TX_PWR_FREQ_TABLE_OBSOLETE = 0x30AC, - PTT_MSG_CLPC_TEMP_COMPENSATION_OBSOLETE = 0x30AD, - -//Rx Gain Service - PTT_MSG_DISABLE_AGC_TABLES = 0x30D0, - PTT_MSG_ENABLE_AGC_TABLES = 0x30D1, - PTT_MSG_SET_AGC_TABLES_OBSOLETE = 0x30D2, - PTT_MSG_GET_RX_RSSI = 0x30D3, - PTT_MSG_GET_AGC_TABLE_OBSOLETE = 0x30D5, - -//Rx Frame Catcher Service - PTT_MSG_SET_RX_DISABLE_MODE = 0x30D4, - PTT_MSG_GET_RX_PKT_COUNTS = 0x30E0, - PTT_MSG_RESET_RX_PACKET_STATISTICS = 0x30E2, - PTT_MSG_GET_UNI_CAST_MAC_PKT_RX_RSSI = 0x30E3, - PTT_MSG_GET_UNI_CAST_MAC_PKT_RX_RSSI_CONFIG = 0x30E4, - -//Rx Symbol Service - PTT_MSG_GRAB_RAM = 0x30F0, - PTT_MSG_GRAB_RAM_ONE_CHAIN_OBSOLETE = 0x30F1, - -//Phy Calibration Service - PTT_MSG_RX_IQ_CAL = 0x3100, - PTT_MSG_RX_DCO_CAL = 0x3101, - PTT_MSG_TX_CARRIER_SUPPRESS_CAL = 0x3102, - PTT_MSG_TX_IQ_CAL = 0x3103, - PTT_MSG_EXECUTE_INITIAL_CALS = 0x3104, - PTT_MSG_HDET_CAL = 0x3105, - PTT_MSG_VCO_LINEARITY_CAL_OBSOLETE = 0x3106, - -//Phy Calibration Override Service - PTT_MSG_SET_TX_CARRIER_SUPPRESS_CORRECT = 0x3110, - PTT_MSG_GET_TX_CARRIER_SUPPRESS_CORRECT = 0x3111, - PTT_MSG_SET_TX_IQ_CORRECT = 0x3112, - PTT_MSG_GET_TX_IQ_CORRECT = 0x3113, - PTT_MSG_SET_RX_IQ_CORRECT = 0x3114, - PTT_MSG_GET_RX_IQ_CORRECT = 0x3115, - PTT_MSG_SET_RX_DCO_CORRECT = 0x3116, - PTT_MSG_GET_RX_DCO_CORRECT = 0x3117, - PTT_MSG_SET_TX_IQ_PHASE_NV_TABLE_OBSOLETE = 0x3118, - PTT_MSG_GET_HDET_CORRECT_OBSOLETE = 0x3119, - -//RF Chip Access - PTT_MSG_GET_TEMP_ADC = 0x3202, - PTT_MSG_READ_RF_REG = 0x3203, - PTT_MSG_WRITE_RF_REG = 0x3204, - PTT_MSG_GET_RF_VERSION = 0x3205, - -//Deep sleep support - PTT_MSG_DEEP_SLEEP = 0x3220, - PTT_MSG_READ_SIF_BAR4_REGISTER = 0x3221, - PTT_MSG_WRITE_SIF_BAR4_REGISTER = 0x3222, - PTT_MSG_ENTER_FULL_POWER = 0x3223, - -//Misc - PTT_MSG_SYSTEM_RESET = 0x32A0, //is there any meaning for this in Gen6? - PTT_MSG_LOG_DUMP = 0x32A1, - PTT_MSG_GET_BUILD_RELEASE_NUMBER = 0x32A2, - - -//Messages for Socket App - PTT_MSG_ADAPTER_DISABLED_RSP_OBSOLETE = 0x32A3, - PTT_MSG_ENABLE_ADAPTER = 0x32A4, - PTT_MSG_DISABLE_ADAPTER = 0x32A5, - PTT_MSG_PAUSE_RSP_OBSOLETE = 0x32A6, - PTT_MSG_CONTINUE_RSP_OBSOLETE = 0x32A7, - - PTT_MSG_HALPHY_INIT = 0x32A8, - PTT_MSG_TEST_RXIQ_CAL = 0x32A9, - PTT_MSG_START_TONE_GEN = 0x32AA, - PTT_MSG_STOP_TONE_GEN = 0x32AB, - PTT_MSG_RX_IM2_CAL = 0x32AC, - PTT_MSG_SET_RX_IM2_CORRECT = 0x31AD, - PTT_MSG_GET_RX_IM2_CORRECT = 0x31AE, - PTT_MSG_TEST_DPD_CAL = 0x32AF, // not handle - PTT_MSG_SET_CALCONTROL_BITMAP = 0x32B0, - -//[RY] specific new messages for PRIMA - PTT_MSG_START_WAVEFORM_RF = 0x32B1, - PTT_MSG_STOP_WAVEFORM_RF = 0x32B2, - PTT_MSG_HKDAC_TX_IQ_CAL = 0x32B3, - PTT_MSG_SET_HKADC_TX_IQ_CORRECT = 0x32B4, - PTT_MSG_GET_HKADC_TX_IQ_CORRECT = 0x32B5, - PTT_MSG_SET_DPD_CORRECT = 0x32B6, - PTT_MSG_GET_DPD_CORRECT = 0x32B7, - PTT_MSG_SET_WAVEFORM_RF = 0x32B8, - PTT_MSG_LNA_BAND_CAL = 0x32B9, - PTT_MSG_GET_LNA_BAND_CORRECT = 0x32BA, - PTT_MSG_SET_LNA_BAND_CORRECT = 0x32BB, - PTT_MSG_DPD_CAL = 0x32BC, - -// Suffix'ed Message ID to differential from existing Message name. -// =============================================================== - PTT_MSG_GET_NV_TABLE_PRIMA_V1 = 0x32BD, - PTT_MSG_SET_NV_TABLE_PRIMA_V1 = 0x32BE, - PTT_MSG_RX_IQ_CAL_PRIMA_V1 = 0x32BF, - PTT_MSG_TX_IQ_CAL_PRIMA_V1 = 0x32C0, - PTT_MSG_SET_TX_IQ_CORRECT_PRIMA_V1 = 0x32C1, - PTT_MSG_GET_TX_IQ_CORRECT_PRIMA_V1 = 0x32C2, - PTT_MSG_SET_RX_IQ_CORRECT_PRIMA_V1 = 0x32C3, - PTT_MSG_GET_RX_IQ_CORRECT_PRIMA_V1 = 0x32C4, - PTT_MSG_START_WAVEFORM_PRIMA_V1 = 0x32C5, - PTT_MSG_FORCE_PACKET_TX_GAIN_PRIMA_V1 = 0x32C6, - PTT_MSG_CLPC_CAL_SETUP_PRIMA_V1 = 0x32C7, - PTT_MSG_CLPC_CAL_RESTORE_PRIMA_V1 = 0x32C8, - PTT_MSG_CLOSE_TPC_LOOP_PRIMA_V1 = 0x32C9, - PTT_MSG_SW_CLPC_CAL_PRIMA_V1 = 0x32CA, - PTT_MSG_CLPC_CAL_EXTRA_MEASUREMENT_PRIMA_V1 = 0x32CB, - PTT_MSG_PRIMA_GENERIC_CMD = 0x32CC, - PTT_MSG_DIGITAL_PIN_CONNECTIVITY_TEST_RES = 0X32CD, - - PTT_MSG_EXIT = 0x32ff, - PTT_MAX_MSG_ID = PTT_MSG_EXIT -} ePttMsgId; - -enum -{ - PTT_MSG_PRIMA_GENERIC_CMD_FAST_SET_CHANNEL = 0x0, -}; - -#define PTT_MSG_TYPES_BEGIN_30 PTT_MSG_TYPES_BEGIN -#define PTT_MSG_TYPES_BEGIN_31 PTT_MSG_TYPES_BEGIN + 0x100 -#define PTT_MSG_TYPES_BEGIN_32 PTT_MSG_TYPES_BEGIN + 0x200 - -// for FTM PER feature -enum { -Legacy_FTM = 0, -FTM_PER_TX = 1, -FTM_PER_RX = 2, -}; - -#ifndef tANI_BOOLEAN -#define tANI_BOOLEAN tANI_U8 -#endif - - - -/****************************************************************************************************************** - PTT MESSAGES -******************************************************************************************************************/ -//Init -typedef PACKED_PRE struct PACKED_POST { - tPttModuleVariables ptt; -} tMsgPttMsgInit; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; -} tMsgPttGetNvTable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; -} tMsgPttSetNvTable; - -typedef PACKED_PRE struct PACKED_POST { - eNvTable nvTable; -} tMsgPttDelNvTable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttBlankNv; - -typedef PACKED_PRE struct PACKED_POST { - eNvField nvField; - uNvFields fieldData; -} tMsgPttGetNvField; - -typedef PACKED_PRE struct PACKED_POST { - eNvField nvField; - uNvFields fieldData; -} tMsgPttSetNvField; - -typedef PACKED_PRE struct PACKED_POST { - eNvTable nvTable; -} tMsgPttStoreNvTable; - -typedef PACKED_PRE struct PACKED_POST { - eRegDomainId regDomainId; -} tMsgPttSetRegDomain; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; - tANI_U8 nvData[MAX_NV_BIN_SIZE]; -} tMsgPttGetNvBin; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; - tANI_U8 nvData[MAX_NV_BIN_SIZE]; -} tMsgPttSetNvBin; - -//Device Register Access -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 regAddr; - tANI_U32 regValue; -} tMsgPttDbgReadRegister; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 regAddr; - tANI_U32 regValue; -} tMsgPttDbgWriteRegister; - -#define PTT_READ_MEM_MAX 512 -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 memAddr; - tANI_U32 nBytes; - tANI_U32 pMemBuf[PTT_READ_MEM_MAX]; //caller should allocate space -} tMsgPttDbgReadMemory; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 memAddr; - tANI_U32 nBytes; - tANI_U32 pMemBuf[PTT_READ_MEM_MAX]; -} tMsgPttDbgWriteMemory; - -//Device MAC Test Setup -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 chId; - ePhyChanBondState cbState; -} tMsgPttSetChannel; - -typedef PACKED_PRE struct PACKED_POST { - ePhyChainSelect chainSelect; -} tMsgPttEnableChains; - -typedef tIQSamples tWaveformSample; - -//Tx Waveform Gen Service -typedef PACKED_PRE struct PACKED_POST { - tWaveformSample waveform[MAX_TEST_WAVEFORM_SAMPLES]; - tANI_U16 numSamples; - tANI_BOOLEAN clk80; - tANI_U8 reserved[1]; -} tMsgPttSetWaveform; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U8 gain; -} tMsgPttSetTxWaveformGain; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U32 gain; -} tMsgPttSetTxWaveformGain_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - ePhyRxChains rxChain; - tANI_U8 gain; -} tMsgPttSetRxWaveformGain; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsPowerAdcReadings txPowerAdc; -} tMsgPttGetWaveformPowerAdc; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttStopWaveform; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttClpcCalSetup_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 setup_measure; - tANI_U16 setup_txDmdPwrOffset; - tANI_U16 measure_totalExtraPt; - tANI_U16 measure_currentMeasurePtIdx; - tANI_U8 plut[256]; -} tMsgPttClpcCalExtraMeasurement_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttClpcCalRestore_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startIndex; - tANI_U32 numSamples; -} tMsgPttStartWaveform; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startIndex; - tANI_U32 numSamples; -} tMsgPttStartWaveform_PRIMA_V1; - -// Added for PRIMA -typedef PACKED_PRE struct PACKED_POST { - tWaveformSample waveform[MAX_TEST_WAVEFORM_SAMPLES]; - tANI_U16 numSamples; - tANI_BOOLEAN clk80; - tANI_U8 reserved[1]; -} tMsgPttSetWaveformRF; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startIndex; - tANI_U32 numSamples; -} tMsgPttStartWaveformRF; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttStopWaveformRF; - -//Tx Frame Gen Service -typedef PACKED_PRE struct PACKED_POST { - sPttFrameGenParams frameParams; -} tMsgPttConfigTxPacketGen; - -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN startStop; - tANI_U8 reserved[3]; -} tMsgPttStartStopTxPacketGen; - -typedef PACKED_PRE struct PACKED_POST { - sTxFrameCounters numFrames; - tANI_BOOLEAN status; - tANI_U8 reserved[3]; -} tMsgPttQueryTxStatus; - -//Tx Frame Power Service -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN tpcClose; - tANI_U8 reserved[3]; -} tMsgPttCloseTpcLoop; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tpcClose; -} tMsgPttCloseTpcLoop_PRIMA_V1; - - - //open loop service -typedef PACKED_PRE struct PACKED_POST { - - ePhyTxChains txChain; - tANI_U8 minIndex; - tANI_U8 maxIndex; - tANI_U8 reserved[2]; - tANI_U8 gainTable[TPC_MEM_GAIN_LUT_DEPTH]; -} tMsgPttSetPacketTxGainTable; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U8 gainTable[TPC_MEM_GAIN_LUT_DEPTH]; -} tMsgPttGetPacketTxGainTable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 index; - tANI_U8 reserved[3]; -} tMsgPttSetPacketTxGainIndex; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U8 gain; - tANI_U8 reserved[3]; -} tMsgPttForcePacketTxGain; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U32 gain; -} tMsgPttForcePacketTxGain_PRIMA_V1; - - -typedef PACKED_PRE struct PACKED_POST { - ePowerTempIndexSource indexSource; -} tMsgPttSetPwrIndexSource; - -typedef PACKED_PRE struct PACKED_POST { - t2Decimal dbmPwr; - tANI_U8 reserved[2]; -} tMsgPttSetTxPower; - -typedef tTxPowerReport tMsgPttGetTxPowerReport; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - - tANI_U8 minIndex; - tANI_U8 maxIndex; - tANI_U8 reserved[2]; - - tANI_U8 powerLut[TPC_MEM_POWER_LUT_DEPTH]; -} tMsgPttSetPowerLut; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - - tANI_U8 powerLut[TPC_MEM_POWER_LUT_DEPTH]; -} tMsgPttGetPowerLut; - - -//Rx Gain Service -typedef PACKED_PRE struct PACKED_POST { - sRxChainsAgcDisable gains; -} tMsgPttDisableAgcTables; - - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsAgcEnable enables; -} tMsgPttEnableAgcTables; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsRssi rssi; -} tMsgPttGetRxRssi; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsRssi rssi; -}tMsgPttGetUnicastMacPktRxRssi; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 conf; -}tMsgPttGetUnicastMacPktRxRssiConf_PRIMA_V1; - -//Rx Frame Catcher Service -typedef PACKED_PRE struct PACKED_POST { - sRxTypesDisabled disabled; -} tMsgPttSetRxDisableMode; - -typedef PACKED_PRE struct PACKED_POST { - sRxFrameCounters counters; -} tMsgPttGetRxPktCounts; - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttResetRxPacketStatistics; - - - - - -//ADC Sample Service -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startSample; //index of first requested sample, 0 causes new capture - tANI_U32 numSamples; //number of samples to transfer to host - eGrabRamSampleType sampleType; - tGrabRamSample grabRam[MAX_REQUESTED_GRAB_RAM_SAMPLES]; -} tMsgPttGrabRam; - - -//Phy Calibration Service -typedef PACKED_PRE struct PACKED_POST { - sRxChainsIQCalValues calValues; - eGainSteps gain; -} tMsgPttRxIqCal; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsDcoCorrections calValues; - tANI_U8 gain; -} tMsgPttRxDcoCal; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsIm2Corrections calValues; - eGainSteps gain; - tANI_U8 im2CalOnly; -} tMsgPttRxIm2Cal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLoCorrections calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttTxCarrierSuppressCal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsIQCalValues calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttTxIqCal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsHKIQCalValues calValues; - eGainSteps gain; -} tMsgPttHKdacTxIqCal; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 unused; -} tMsgPttExecuteInitialCals; - -typedef PACKED_PRE struct PACKED_POST { - sRfHdetCalValues hdetCalValues; -} tMsgPttHdetCal; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 clpcMode; - tANI_U16 txCmdPwr; - tANI_U16 pwrMax_pwrMin; - tANI_U16 step; - tANI_U8 plut[256]; -} tMsgPttClpcSwCal_PRIMA_V1; - - -//Phy Calibration Override Service -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLoCorrections calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttSetTxCarrierSuppressCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLoCorrections calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttGetTxCarrierSuppressCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsIQCalValues calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttSetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsIQCalValues calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttGetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsHKIQCalValues calValues; - eGainSteps gain; -} tMsgPttHKdacSetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsHKIQCalValues calValues; - eGainSteps gain; -} tMsgPttHKdacGetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsIQCalValues calValues; - eGainSteps gain; -} tMsgPttSetRxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsIQCalValues calValues; - eGainSteps gain; -} tMsgPttGetRxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsDcoCorrections calValues; - tANI_U8 gain; -} tMsgPttSetRxDcoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsDcoCorrections calValues; - tANI_U8 gain; -} tMsgPttGetRxDcoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsIm2Corrections calValues; - tANI_U8 dummy; -} tMsgPttSetRxIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsIm2Corrections calValues; - tANI_U8 dummy; -} tMsgPttGetRxIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - eRfTempSensor tempSensor; - tTempADCVal tempAdc; - tANI_U8 reserved[4 - sizeof(tTempADCVal)]; -} tMsgPttGetTempAdc; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 addr; - tANI_U32 mask; - tANI_U32 shift; - tANI_U32 value; -} tMsgPttReadRfField; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 addr; - tANI_U32 mask; - tANI_U32 shift; - tANI_U32 value; -} tMsgPttWriteRfField; - -//SIF bar4 Register Access -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 sifRegAddr; - tANI_U32 sifRegValue; -} tMsgPttReadSifBar4Register; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 sifRegAddr; - tANI_U32 sifRegValue; -} tMsgPttWriteSifBar4Register; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttDeepSleep; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttEnterFullPower; - -//Misc. -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttSystemReset; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 cmd; - tANI_U32 arg1; - tANI_U32 arg2; - tANI_U32 arg3; - tANI_U32 arg4; -} tMsgPttLogDump; - -typedef PACKED_PRE struct PACKED_POST { - sBuildReleaseParams relParams; -} tMsgPttGetBuildReleaseNumber; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 revId; -} tMsgPttGetRFVersion; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttCalControlBitmap; - -//#ifdef VERIFY_HALPHY_SIMV_MODEL - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttHalPhyInit; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttRxIQTest; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsDPDCalValues calValues; - eGainSteps gain; -} tMsgPttDpdCal; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 lutIdx; - tANI_U8 band; -} tMsgPttStartToneGen; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttStopToneGen; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLnaBandCalValues calValues; - eGainSteps gain; -} tMsgPttLnaBandCal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLnaBandCalValues calValues; - eGainSteps gain; -} tMsgPttGetLnaBandCalCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLnaBandCalValues calValues; - eGainSteps gain; -} tMsgPttSetLnaBandCalCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsDPDCalValues calValues; - eGainSteps gain; -}tMsgPttSetDPDCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsDPDCalValues calValues; - eGainSteps gain; -}tMsgPttGetDPDCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tQWPTT_U32 cmdIdx; - tQWPTT_U32 param1; - tQWPTT_U32 param2; - tQWPTT_U32 param3; - tQWPTT_U32 param4; -} tMsgPttPrimaGenericCmd; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 testID; - tANI_U16 result; -} tMsgPttPinConnTestRes; -//#endif - -/****************************************************************************************************************** - END OF PTT MESSAGES -******************************************************************************************************************/ - -typedef PACKED_PRE union PACKED_POST pttMsgUnion{ -//typedef union pttMsgUnion { - tMsgPttMsgInit MsgInit; - tMsgPttGetNvTable GetNvTable; - tMsgPttSetNvTable SetNvTable; - tMsgPttDelNvTable DelNvTable; - tMsgPttBlankNv BlankNv; - tMsgPttStoreNvTable StoreNvTable; - tMsgPttSetRegDomain SetRegDomain; - tMsgPttGetNvField GetNvField; - tMsgPttSetNvField SetNvField; - tMsgPttGetNvBin GetNvBin; - tMsgPttSetNvBin SetNvBin; - tMsgPttDbgReadRegister DbgReadRegister; - tMsgPttDbgWriteRegister DbgWriteRegister; - tMsgPttDbgReadMemory DbgReadMemory; - tMsgPttDbgWriteMemory DbgWriteMemory; - tMsgPttEnableChains EnableChains; - tMsgPttSetChannel SetChannel; - tMsgPttSetWaveform SetWaveform; - tMsgPttSetTxWaveformGain SetTxWaveformGain; - tMsgPttSetTxWaveformGain_PRIMA_V1 SetTxWaveformGain_PRIMA_V1; - tMsgPttGetWaveformPowerAdc GetWaveformPowerAdc; - tMsgPttStartWaveform StartWaveform; - tMsgPttStartWaveform_PRIMA_V1 StartWaveform_PRIMA_V1; - tMsgPttStopWaveform StopWaveform; - tMsgPttSetRxWaveformGain SetRxWaveformGain; - tMsgPttConfigTxPacketGen ConfigTxPacketGen; - tMsgPttStartStopTxPacketGen StartStopTxPacketGen; - tMsgPttQueryTxStatus QueryTxStatus; - tMsgPttCloseTpcLoop CloseTpcLoop; - tMsgPttCloseTpcLoop_PRIMA_V1 CloseTpcLoop_PRIMA_V1; - tMsgPttSetPacketTxGainTable SetPacketTxGainTable; - tMsgPttGetPacketTxGainTable GetPacketTxGainTable; - tMsgPttSetPacketTxGainIndex SetPacketTxGainIndex; - tMsgPttForcePacketTxGain ForcePacketTxGain; - tMsgPttForcePacketTxGain_PRIMA_V1 ForcePacketTxGain_PRIMA_V1; - tMsgPttSetPwrIndexSource SetPwrIndexSource; - tMsgPttSetTxPower SetTxPower; - tMsgPttGetTxPowerReport GetTxPowerReport; - tMsgPttSetPowerLut SetPowerLut; - tMsgPttGetPowerLut GetPowerLut; - tMsgPttDisableAgcTables DisableAgcTables; - tMsgPttEnableAgcTables EnableAgcTables; - tMsgPttGetRxRssi GetRxRssi; - tMsgPttGetUnicastMacPktRxRssi GetUnicastMacPktRxRssi; - tMsgPttGetUnicastMacPktRxRssiConf_PRIMA_V1 GetUnicastMacPktRxRssiConf_PRIMA_V1; - tMsgPttSetRxDisableMode SetRxDisableMode; - tMsgPttGetRxPktCounts GetRxPktCounts; - tMsgPttResetRxPacketStatistics ResetRxPacketStatistics; - tMsgPttGrabRam GrabRam; - tMsgPttRxIqCal RxIqCal; - tMsgPttRxDcoCal RxDcoCal; - tMsgPttRxIm2Cal RxIm2Cal; - - tMsgPttExecuteInitialCals ExecuteInitialCals; - tMsgPttTxCarrierSuppressCal TxCarrierSuppressCal; - tMsgPttTxIqCal TxIqCal; - tMsgPttHKdacTxIqCal HKdacTxIqCal; - tMsgPttClpcCalSetup_PRIMA_V1 ClpcCalSetup_PRIMA_V1; - tMsgPttClpcCalRestore_PRIMA_V1 ClpcCalRestore_PRIMA_V1; - tMsgPttHdetCal HdetCal; - tMsgPttClpcSwCal_PRIMA_V1 ClpcSwCal_PRIMA_V1; - tMsgPttClpcCalExtraMeasurement_PRIMA_V1 ClpcCalExtraMeasurement_PRIMA_V1; - tMsgPttSetTxCarrierSuppressCorrect SetTxCarrierSuppressCorrect; - tMsgPttGetTxCarrierSuppressCorrect GetTxCarrierSuppressCorrect; - tMsgPttSetTxIqCorrect SetTxIqCorrect; - tMsgPttGetTxIqCorrect GetTxIqCorrect; - tMsgPttSetRxIqCorrect SetRxIqCorrect; - tMsgPttGetRxIqCorrect GetRxIqCorrect; - tMsgPttSetRxDcoCorrect SetRxDcoCorrect; - tMsgPttGetRxDcoCorrect GetRxDcoCorrect; - tMsgPttSetRxIm2Correct SetRxIm2Correct; - tMsgPttGetRxIm2Correct GetRxIm2Correct; - tMsgPttHKdacSetTxIqCorrect HKdacSetTxIqCorrect; - tMsgPttHKdacGetTxIqCorrect HKdacGetTxIqCorrect; - - tMsgPttGetTempAdc GetTempAdc; - tMsgPttReadRfField ReadRfField; - tMsgPttWriteRfField WriteRfField; - tMsgPttCalControlBitmap SetCalControlBitmap; - -//#ifdef VERIFY_HALPHY_SIMV_MODEL - - tMsgPttHalPhyInit InitOption; - tMsgPttRxIQTest RxIQTest; - tMsgPttDpdCal DpdCal; - tMsgPttStartToneGen StartToneGen; - tMsgPttStopToneGen StopToneGen; -//#endif - tMsgPttDeepSleep DeepSleep; - tMsgPttReadSifBar4Register ReadSifBar4Register; - tMsgPttWriteSifBar4Register WriteSifBar4Register; - tMsgPttEnterFullPower EnterFullPower; - tMsgPttSystemReset SystemReset; - tMsgPttLogDump LogDump; - tMsgPttGetBuildReleaseNumber GetBuildReleaseNumber; - tMsgPttGetRFVersion GetRFVersion; - -//[RY] added for PRIMA - tMsgPttSetWaveformRF SetWaveformRF; - tMsgPttStopWaveformRF StopWaveformRF; - tMsgPttStartWaveformRF StartWaveformRF; - tMsgPttLnaBandCal LnaBandCal; - tMsgPttGetLnaBandCalCorrect GetLnaBandCalCorrect; - tMsgPttSetLnaBandCalCorrect SetLnaBandCalCorrect; - tMsgPttGetDPDCorrect GetDPDCorrect; - tMsgPttSetDPDCorrect SetDPDCorrect; - tMsgPttDpdCal DPDCal; - tMsgPttPrimaGenericCmd PrimaGenericCmd; - tMsgPttPinConnTestRes PinConnTestRes; -} uPttMsgs; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 msgId; - tANI_U16 msgBodyLength; //actually, the length of all the fields in this structure - eQWPttStatus msgResponse; - uPttMsgs msgBody; -} tPttMsgbuffer, *tpPttMsgbuffer; - - -typedef PACKED_PRE struct PACKED_POST { - /* - * success or failure - */ - tANI_U32 status; - tPttMsgbuffer pttMsgBuffer; -} tProcessPttRspParams, *tpProcessPttRspParams; - -/* End of Ptt Parameters */ - -#endif diff --git a/riva/inc/wlan_hal_cfg.h b/riva/inc/wlan_hal_cfg.h deleted file mode 100644 index baf4065e7a98..000000000000 --- a/riva/inc/wlan_hal_cfg.h +++ /dev/null @@ -1,917 +0,0 @@ -/* -* Copyright (c) 2012-2013 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/*========================================================================== - * - * @file: wlan_hal_cfg.h - * - * @brief: Exports and types WLAN HAL configuration - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#ifndef __WLAN_HAL_CFG_H__ -#define __WLAN_HAL_CFG_H__ - -/*------------------------------------------------------------------------- - Include Files --------------------------------------------------------------------------*/ -#include "qwlanfw_defs.h" - -/*------------------------------------------------------------------------- - Preprocessor definitions and constants --------------------------------------------------------------------------*/ -/* RIVA API version in format W.X.Y.Z is converted to a UINT32 integer */ -#define WLAN_HAL_CONSTRUCT_API_VERSION(W,X,Y,Z) (((W)<<24)+((X)<<16)+((Y)<<8)+(Z)) -#define IS_VERSION_BEFORE_VOWIFI(VER_FROM_HOST) \ - ((VER_FROM_HOST)<=WLAN_HAL_CONSTRUCT_API_VERSION(0,0,2,0))?1:0 - -/*------------------------------------------------------------------------- - Configuration Parameter IDs --------------------------------------------------------------------------*/ -#define QWLAN_HAL_CFG_STA_ID 0 -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA 1 -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA 2 -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE 3 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN 4 -#define QWLAN_HAL_CFG_CAL_PERIOD 5 -#define QWLAN_HAL_CFG_CAL_CONTROL 6 -#define QWLAN_HAL_CFG_PROXIMITY 7 -#define QWLAN_HAL_CFG_NETWORK_DENSITY 8 -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME 9 -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU 10 -#define QWLAN_HAL_CFG_RTS_THRESHOLD 11 -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT 12 -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT 13 -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD 14 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO 15 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE 16 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO 17 -#define QWLAN_HAL_CFG_FIXED_RATE 18 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY 19 -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY 20 -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY 21 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION 22 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ 23 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ 24 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ 25 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ 26 -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS 27 -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT 28 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER 29 -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR 30 -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE 31 -#define QWLAN_HAL_CFG_STATS_PERIOD 32 -#define QWLAN_HAL_CFG_CFP_MAX_DURATION 33 -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED 34 -#define QWLAN_HAL_CFG_DTIM_PERIOD 35 -#define QWLAN_HAL_CFG_EDCA_WMM_ACBK 36 -#define QWLAN_HAL_CFG_EDCA_WMM_ACBE 37 -#define QWLAN_HAL_CFG_EDCA_WMM_ACVO 38 -#define QWLAN_HAL_CFG_EDCA_WMM_ACVI 39 -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH 40 -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS 41 -#define QWLAN_HAL_CFG_RPE_POLLING_THRESHOLD 42 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG 43 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG 44 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG 45 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG 46 -#define QWLAN_HAL_CFG_NO_OF_ONCHIP_REORDER_SESSIONS 47 -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL 48 -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD 49 -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER 50 -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL 51 -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD 52 -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD 53 -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE 54 -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM 55 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM 56 -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE 57 -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT 58 -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN 59 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI 60 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS 61 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI 62 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS 63 -#define QWLAN_HAL_CFG_TX_PWR_CTRL_ENABLE 64 -#define QWLAN_HAL_CFG_VALID_RADAR_CHANNEL_LIST 65 -#define QWLAN_HAL_CFG_TX_POWER_24_20 66 -#define QWLAN_HAL_CFG_TX_POWER_24_40 67 -#define QWLAN_HAL_CFG_TX_POWER_50_20 68 -#define QWLAN_HAL_CFG_TX_POWER_50_40 69 -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING 70 -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL 71 -#define QCOM_WLAN_CFG_MAX_TX_POWER_2_4 72 -#define QCOM_WLAN_CFG_MAX_TX_POWER_5 73 -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD 74 -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP 75 -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE 76 -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK 77 -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS 78 -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT 79 -#define QWLAN_HAL_CFG_WCNSS_API_VERSION 80 -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT 81 -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT 82 -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST 83 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT 84 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT 85 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT 86 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT 87 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN 88 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN 89 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN 90 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN 91 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT 92 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN 93 -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC 94 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP 95 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO 96 -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER 97 -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT 98 -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION 99 -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER 100 -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT 101 -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT 102 -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER 103 -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE 104 -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER 105 -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT 106 -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT 107 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE 108 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK 109 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME 110 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP 111 -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY 112 -#define QWLAN_HAL_CFG_ATH_DISABLE 113 -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR 114 -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE 115 -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE 116 -#define QWLAN_HAL_CFG_MWS_COEX_V1_WAN_FREQ 117 -#define QWLAN_HAL_CFG_MWS_COEX_V1_WLAN_FREQ 118 -#define QWLAN_HAL_CFG_MWS_COEX_V1_CONFIG 119 -#define QWLAN_HAL_CFG_MWS_COEX_V1_CONFIG2 120 -#define QWLAN_HAL_CFG_MWS_COEX_V2_WAN_FREQ 121 -#define QWLAN_HAL_CFG_MWS_COEX_V2_WLAN_FREQ 122 -#define QWLAN_HAL_CFG_MWS_COEX_V2_CONFIG 123 -#define QWLAN_HAL_CFG_MWS_COEX_V2_CONFIG2 124 -#define QWLAN_HAL_CFG_MWS_COEX_V3_WAN_FREQ 125 -#define QWLAN_HAL_CFG_MWS_COEX_V3_WLAN_FREQ 126 -#define QWLAN_HAL_CFG_MWS_COEX_V3_CONFIG 127 -#define QWLAN_HAL_CFG_MWS_COEX_V3_CONFIG2 128 -#define QWLAN_HAL_CFG_MWS_COEX_V4_WAN_FREQ 129 -#define QWLAN_HAL_CFG_MWS_COEX_V4_WLAN_FREQ 130 -#define QWLAN_HAL_CFG_MWS_COEX_V4_CONFIG 131 -#define QWLAN_HAL_CFG_MWS_COEX_V4_CONFIG2 132 -#define QWLAN_HAL_CFG_MWS_COEX_V5_WAN_FREQ 133 -#define QWLAN_HAL_CFG_MWS_COEX_V5_WLAN_FREQ 134 -#define QWLAN_HAL_CFG_MWS_COEX_V5_CONFIG 135 -#define QWLAN_HAL_CFG_MWS_COEX_V5_CONFIG2 136 -#define QWLAN_HAL_CFG_MWS_COEX_V6_WAN_FREQ 137 -#define QWLAN_HAL_CFG_MWS_COEX_V6_WLAN_FREQ 138 -#define QWLAN_HAL_CFG_MWS_COEX_V6_CONFIG 139 -#define QWLAN_HAL_CFG_MWS_COEX_V6_CONFIG2 140 -#define QWLAN_HAL_CFG_MWS_COEX_V7_WAN_FREQ 141 -#define QWLAN_HAL_CFG_MWS_COEX_V7_WLAN_FREQ 142 -#define QWLAN_HAL_CFG_MWS_COEX_V7_CONFIG 143 -#define QWLAN_HAL_CFG_MWS_COEX_V7_CONFIG2 144 -#define QWLAN_HAL_CFG_MWS_COEX_V8_WAN_FREQ 145 -#define QWLAN_HAL_CFG_MWS_COEX_V8_WLAN_FREQ 146 -#define QWLAN_HAL_CFG_MWS_COEX_V8_CONFIG 147 -#define QWLAN_HAL_CFG_MWS_COEX_V8_CONFIG2 148 -#define QWLAN_HAL_CFG_MWS_COEX_V9_WAN_FREQ 149 -#define QWLAN_HAL_CFG_MWS_COEX_V9_WLAN_FREQ 150 -#define QWLAN_HAL_CFG_MWS_COEX_V9_CONFIG 151 -#define QWLAN_HAL_CFG_MWS_COEX_V9_CONFIG2 152 -#define QWLAN_HAL_CFG_MWS_COEX_V10_WAN_FREQ 153 -#define QWLAN_HAL_CFG_MWS_COEX_V10_WLAN_FREQ 154 -#define QWLAN_HAL_CFG_MWS_COEX_V10_CONFIG 155 -#define QWLAN_HAL_CFG_MWS_COEX_V10_CONFIG2 156 -#define QWLAN_HAL_CFG_MWS_COEX_MODEM_BACKOFF 157 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG1 158 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG2 159 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG3 160 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG4 161 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG5 162 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG6 163 -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF 164 -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT 165 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN 166 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN 167 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN 168 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN 169 -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE 170 -#define QWLAN_HAL_CFG_MAX_PARAMS 171 - - -/* Total number of Integer CFGs. This is used while allocating the memory for TLV */ -#define QWLAN_HAL_CFG_INTEGER_PARAM 171 - -/*------------------------------------------------------------------------- - Configuration Parameter min, max, defaults --------------------------------------------------------------------------*/ - -/* QWLAN_HAL_CFG_STA_ID*/ -#define QWLAN_HAL_CFG_STA_ID_STADEF "000AF5898989" -#define QCOM_WLAN_CFG_STA_ID_LEN 6 - -/* QWLAN_HAL_CFG_CURRENT_TX_ANTENNA */ -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA_STAMIN 1 -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA_STAMAX 1 -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA_STADEF 1 - -/* QWLAN_HAL_CFG_CURRENT_RX_ANTENNA */ -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA_STAMIN 1 -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA_STAMAX 2 -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA_STADEF 1 - -/* QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE */ -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE_STAMIN 0 -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE_STAMAX 1 -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE_STADEF 0 - -/* QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN */ -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_STAMIN 0 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_STAMAX 65535 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_STADEF 785 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_OFF 0 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_ON 1 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_TX 2 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_RX 3 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_MASK 15 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_CHAIN_0_OFFSET 0 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_CHAIN_1_OFFSET 4 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_CHAIN_2_OFFSET 8 - -/* QWLAN_HAL_CFG_CAL_PERIOD */ -#define QWLAN_HAL_CFG_CAL_PERIOD_STAMIN 2 -#define QWLAN_HAL_CFG_CAL_PERIOD_STAMAX 10 -#define QWLAN_HAL_CFG_CAL_PERIOD_STADEF 5 - -/* QWLAN_HAL_CFG_CAL_CONTROL */ -#define QWLAN_HAL_CFG_CAL_CONTROL_STAMIN 0 -#define QWLAN_HAL_CFG_CAL_CONTROL_STAMAX 1 -#define QWLAN_HAL_CFG_CAL_CONTROL_STADEF 0 -#define QWLAN_HAL_CFG_CAL_CONTROL_CAL_ON 0 -#define QWLAN_HAL_CFG_CAL_CONTROL_CAL_OFF 1 - -/* QWLAN_HAL_CFG_PROXIMITY */ -#define QWLAN_HAL_CFG_PROXIMITY_STAMIN 0 -#define QWLAN_HAL_CFG_PROXIMITY_STAMAX 1 -#define QWLAN_HAL_CFG_PROXIMITY_STADEF 0 -#define QWLAN_HAL_CFG_PROXIMITY_OFF 0 -#define QWLAN_HAL_CFG_PROXIMITY_ON 1 - -/* QWLAN_HAL_CFG_NETWORK_DENSITY */ -#define QWLAN_HAL_CFG_NETWORK_DENSITY_STAMIN 0 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_STAMAX 3 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_STADEF 3 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_LOW 0 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_MEDIUM 1 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_HIGH 2 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_ADAPTIVE 3 - -/* QWLAN_HAL_CFG_MAX_MEDIUM_TIME */ -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME_STAMAX 65535 -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME_STADEF 1024 - -/* QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU */ -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU_STAMAX 65535 -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU_STADEF 64 - -/* QWLAN_HAL_CFG_RTS_THRESHOLD */ -#define QWLAN_HAL_CFG_RTS_THRESHOLD_STAMIN 0 -#define QWLAN_HAL_CFG_RTS_THRESHOLD_STAMAX 2347 -#define QWLAN_HAL_CFG_RTS_THRESHOLD_STADEF 2347 - -/* QWLAN_HAL_CFG_SHORT_RETRY_LIMIT */ -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT_STAMIN 0 -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT_STAMAX 255 -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT_STADEF 15 - -/* QWLAN_HAL_CFG_LONG_RETRY_LIMIT */ -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT_STAMIN 0 -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT_STAMAX 255 -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT_STADEF 15 - -/* QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD */ -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD_STAMIN 256 -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD_STAMAX 8000 -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD_STADEF 8000 - -/* QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO */ -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO_STADEF 5 - -/* QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE */ -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE_STADEF 10 - -/* QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO */ -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STADEF 15 - -#define QWLAN_HAL_CFG_FIXED_RATE_AUTO 0 -#define QWLAN_HAL_CFG_FIXED_RATE_1MBPS 1 -#define QWLAN_HAL_CFG_FIXED_RATE_2MBPS 2 -#define QWLAN_HAL_CFG_FIXED_RATE_5_5MBPS 3 -#define QWLAN_HAL_CFG_FIXED_RATE_11MBPS 4 -#define QWLAN_HAL_CFG_FIXED_RATE_6MBPS 5 -#define QWLAN_HAL_CFG_FIXED_RATE_9MBPS 6 -#define QWLAN_HAL_CFG_FIXED_RATE_12MBPS 7 -#define QWLAN_HAL_CFG_FIXED_RATE_18MBPS 8 -#define QWLAN_HAL_CFG_FIXED_RATE_24MBPS 9 -#define QWLAN_HAL_CFG_FIXED_RATE_36MBPS 10 -#define QWLAN_HAL_CFG_FIXED_RATE_48MBPS 11 -#define QWLAN_HAL_CFG_FIXED_RATE_54MBPS 12 -#define QWLAN_HAL_CFG_FIXED_RATE_6_5MBPS_MCS0_20MHZ_SIMO 13 -#define QWLAN_HAL_CFG_FIXED_RATE_13MBPS_MCS1_20MHZ_SIMO 14 -#define QWLAN_HAL_CFG_FIXED_RATE_19_5MBPS_MCS2_20MHZ_SIMO 15 -#define QWLAN_HAL_CFG_FIXED_RATE_26MBPS_MCS3_20MHZ_SIMO 16 -#define QWLAN_HAL_CFG_FIXED_RATE_39MBPS_MCS4_20MHZ_SIMO 17 -#define QWLAN_HAL_CFG_FIXED_RATE_52MBPS_MCS5_20MHZ_SIMO 18 -#define QWLAN_HAL_CFG_FIXED_RATE_58_5MBPS_MCS6_20MHZ_SIMO 19 -#define QWLAN_HAL_CFG_FIXED_RATE_65MBPS_MCS7_20MHZ_SIMO 20 -#define QWLAN_HAL_CFG_FIXED_RATE_7_2MBPS_MCS0_20MHZ_SIMO_SGI 21 -#define QWLAN_HAL_CFG_FIXED_RATE_14_4MBPS_MCS1_20MHZ_SIMO_SGI 22 -#define QWLAN_HAL_CFG_FIXED_RATE_21_7MBPS_MCS2_20MHZ_SIMO_SGI 23 -#define QWLAN_HAL_CFG_FIXED_RATE_28_9MBPS_MCS3_20MHZ_SIMO_SGI 24 -#define QWLAN_HAL_CFG_FIXED_RATE_43_3MBPS_MCS4_20MHZ_SIMO_SGI 25 -#define QWLAN_HAL_CFG_FIXED_RATE_57_8MBPS_MCS5_20MHZ_SIMO_SGI 26 -#define QWLAN_HAL_CFG_FIXED_RATE_65MBPS_MCS6_20MHZ_SIMO_SGI 27 -#define QWLAN_HAL_CFG_FIXED_RATE_72_2MBPS_MCS7_20MHZ_SIMO_SGI 28 -#define QWLAN_HAL_CFG_FIXED_RATE_13_5MBPS_MCS0_40MHZ_SIMO 29 -#define QWLAN_HAL_CFG_FIXED_RATE_27MBPS_MCS1_40MHZ_SIMO 30 -#define QWLAN_HAL_CFG_FIXED_RATE_40_5MBPS_MCS2_40MHZ_SIMO 31 -#define QWLAN_HAL_CFG_FIXED_RATE_54MBPS_MCS3_40MHZ_SIMO 32 -#define QWLAN_HAL_CFG_FIXED_RATE_81MBPS_MCS4_40MHZ_SIMO 33 -#define QWLAN_HAL_CFG_FIXED_RATE_108MBPS_MCS5_40MHZ_SIMO 34 -#define QWLAN_HAL_CFG_FIXED_RATE_121_5MBPS_MCS6_40MHZ_SIMO 35 -#define QWLAN_HAL_CFG_FIXED_RATE_135MBPS_MCS7_40MHZ_SIMO 36 -#define QWLAN_HAL_CFG_FIXED_RATE_15MBPS_MCS0_40MHZ_SIMO_SGI 37 -#define QWLAN_HAL_CFG_FIXED_RATE_30MBPS_MCS1_40MHZ_SIMO_SGI 38 -#define QWLAN_HAL_CFG_FIXED_RATE_45MBPS_MCS2_40MHZ_SIMO_SGI 39 -#define QWLAN_HAL_CFG_FIXED_RATE_60MBPS_MCS3_40MHZ_SIMO_SGI 40 -#define QWLAN_HAL_CFG_FIXED_RATE_90MBPS_MCS4_40MHZ_SIMO_SGI 41 -#define QWLAN_HAL_CFG_FIXED_RATE_120MBPS_MCS5_40MHZ_SIMO_SGI 42 -#define QWLAN_HAL_CFG_FIXED_RATE_135MBPS_MCS6_40MHZ_SIMO_SGI 43 -#define QWLAN_HAL_CFG_FIXED_RATE_150MBPS_MCS7_40MHZ_SIMO_SGI 44 - -/* QWLAN_HAL_CFG_FIXED_RATE - * Follwing rates in user configuration are mapped to TPE rates - * Mapping is defined in the gHalUserFixedRateCfgToTpeRateTable - */ -#define QWLAN_HAL_CFG_FIXED_RATE_STAMIN 0 -#define QWLAN_HAL_CFG_FIXED_RATE_STAMAX 226 -#define QWLAN_HAL_CFG_FIXED_RATE_STADEF QWLAN_HAL_CFG_FIXED_RATE_AUTO - -/* QWLAN_HAL_CFG_RMCAST_FIXED_RATE - * Follwing rates in user configuration are mapped to TPE rates - * Mapping is defined in the gHalUserFixedRateCfgToTpeRateTable - */ -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE_STAMIN 0 -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE_STAMAX 226 -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE_STADEF QWLAN_HAL_CFG_FIXED_RATE_24MBPS - -/* QWLAN_HAL_CFG_RETRYRATE_POLICY */ -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STAMIN 0 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STAMAX 255 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STADEF 4 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_MIN_SUPPORTED 0 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_PRIMARY 1 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_RESERVED 2 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_CLOSEST 3 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_AUTOSELECT 4 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_MAX 5 - -/* QWLAN_HAL_CFG_RETRYRATE_SECONDARY */ -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY_STAMIN 0 -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY_STAMAX 255 -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY_STADEF 0 - -/* QWLAN_HAL_CFG_RETRYRATE_TERTIARY */ -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY_STAMIN 0 -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY_STAMAX 255 -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY_STADEF 0 - -/* QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION */ -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_STAMIN 0 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_STAMAX 5 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_STADEF 5 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_DISABLE 0 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_CTS 1 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_RTS 2 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_DUAL_CTS 3 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_RTS_ALWAYS 4 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_AUTO 5 - -/* QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ */ -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_1MBPS - -/* QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ */ -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_6MBPS - -/* QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ */ -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_1MBPS - -/* QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ */ -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_6MBPS - -/* QWLAN_HAL_CFG_MAX_BA_SESSIONS */ -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS_STAMAX 64 -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS_STADEF 40 - -/* QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT */ -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT_STAMIN 1 -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT_STAMAX 255 -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT_STADEF 20 - -/* QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT */ -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT_STAMIN 0 -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT_STAMAX 255 -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT_STADEF 300 - -/* QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER */ -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER_STAMIN 0 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER_STAMAX 1 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER_STADEF 1 - -/* QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR */ -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR_STAMIN 0 -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR_STAMAX 1 -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR_STADEF 1 - -/* QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE */ -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STAMIN 1 -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STAMAX 20 -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STADEF 20 - -/* QWLAN_HAL_CFG_STATS_PERIOD */ -#define QWLAN_HAL_CFG_STATS_PERIOD_STAMIN 1 -#define QWLAN_HAL_CFG_STATS_PERIOD_STAMAX 10 -#define QWLAN_HAL_CFG_STATS_PERIOD_STADEF 10 - -/* QWLAN_HAL_CFG_CFP_MAX_DURATION */ -#define QWLAN_HAL_CFG_CFP_MAX_DURATION_STAMIN 0 -#define QWLAN_HAL_CFG_CFP_MAX_DURATION_STAMAX 65535 -#define QWLAN_HAL_CFG_CFP_MAX_DURATION_STADEF 30000 - -/* QWLAN_HAL_CFG_FRAME_TRANS_ENABLED */ -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED_STAMIN 0 -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED_STAMAX 1 -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED_STADEF 0 - -/* QWLAN_HAL_CFG_DTIM_PERIOD */ -#define QWLAN_HAL_CFG_DTIM_PERIOD_STAMIN 0 -#define QWLAN_HAL_CFG_DTIM_PERIOD_STAMAX 65535 -#define QWLAN_HAL_CFG_DTIM_PERIOD_STADEF 1 - -/* QWLAN_HAL_CFG_BA_THRESHOLD_HIGH */ -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH_STAMIN 0 -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH_STAMAX 65535 -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH_STADEF 1 - -/* QWLAN_HAL_CFG_MAX_BA_BUFFERS */ -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS_STAMAX 2560 -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS_STADEF 2560 - - - -/* ACM, AIFSN, [CWmin, CWmax, TxOp]-11A/11B/11G - * Cwmin and Cwmax are two bytes each, MSB first. So Cwmax of [03 FF] is - * equivalent to 0x03ff = 1023*/ -#define QWLAN_HAL_CFG_EDCA_PROFILE_ACM_IDX 0 /* byte[0] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_AIFSN_IDX 1 /* byte[1] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMINA_IDX 2 /* byte[2] & byte [3] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXA_IDX 4 /* byte[4] & byte [5] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPA_IDX 6 /* byte[6] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMINB_IDX 7 /* byte[7] & byte [8] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXB_IDX 9 /* byte[9] & byte [10] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPB_IDX 11 /* byte[11]*/ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMING_IDX 12 /* byte[12] & byte [13] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXG_IDX 14 /* byte[14] & byte [15] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPG_IDX 16 /* byte[16]*/ -#define QWLAN_HAL_CFG_EDCA_PARAM_MAX_LEN 20 - -/* QWLAN_HAL_CFG_EDCA_WMM_ACBK */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACBK_DEFAULT "0007000F03FF00001F03FF00000F03FF00" - -/* QWLAN_HAL_CFG_EDCA_WMM_ACBE */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACBE_DEFAULT "0003000F03FF00001F03FF00000F03FF00" - -/* QWLAN_HAL_CFG_EDCA_WMM_ACVI */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACVI_DEFAULT "00020007000F5E000F001FBC0007000F5E" - -/* QWLAN_HAL_CFG_EDCA_WMM_ACVO */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACVO_DEFAULT "0002000300072F0007000F66000300072F" - - -/* QWLAN_HAL_CFG_RPE_POLLING_THRESHOLD */ -#define QWLAN_CFG_RPE_POLLING_THRESHOLD_STAMIN 0 -#define QWLAN_CFG_RPE_POLLING_THRESHOLD_STAMAX 65535 -#define QWLAN_CFG_RPE_POLLING_THRESHOLD_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG_STADEF 30 - -/* QWLAN_HAL_CFG_NO_OF_ONCHIP_REORDER_SESSIONS */ -#define QWLAN_CFG_NO_OF_ONCHIP_REORDER_SESSIONS_STAMIN 0 -#define QWLAN_CFG_NO_OF_ONCHIP_REORDER_SESSIONS_STAMAX 2 -#define QWLAN_CFG_NO_OF_ONCHIP_REORDER_SESSIONS_STADEF 1 - -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL_STAMIN 0 -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL_STAMAX 65535 -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL_STADEF 1 - -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD_STAMIN 0 -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD_STAMAX 65535 -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD_STADEF 40 - -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER_STAMIN 0 -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER_STAMAX 255 -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER_STADEF 10 - -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL_STAMIN 0 -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL_STAMAX 255 -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL_STADEF 0 - -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD_STAMIN 0 -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD_STAMAX 10 -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD_STADEF 10 - -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD_STAMIN 0 -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD_STAMAX 255 -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD_STADEF 20 - -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE_STAMIN 0 -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE_STAMAX 1 -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE_STADEF 0 - -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM_STAMIN 0 -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM_STAMAX 1 -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM_STADEF 0 - -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM_STAMIN 0 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM_STAMAX 1 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM_STADEF 0 - -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE_STADEF 0 - -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMIN 0 -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMAX 80 -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STADEF 0 - -/* QWLAN_HAL_CFG_TX_PWR_CTRL_ENABLE */ -#define QWLAN_CFG_TX_PWR_CTRL_ENABLE_STAMIN 0 -#define QWLAN_CFG_TX_PWR_CTRL_ENABLE_STAMAX 1 -#define QWLAN_CFG_TX_PWR_CTRL_ENABLE_STADEF 1 - -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN_STAMIN 0 -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN_STAMAX 1 -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN_STADEF 0 - -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_STAMIN 0 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_STAMAX 7 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_STADEF 3 - -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS_STAMIN 5 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS_STAMAX 255 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS_STADEF 10 - -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_STAMIN 0 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_STAMAX 7 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_STADEF 5 - -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS_STAMIN 5 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS_STAMAX 255 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS_STADEF 15 - -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING_STAMIN 0 -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING_STAMAX 3 -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING_STADEF 0 - -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL_STAMIN 1 -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL_STAMAX 255 -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL_STADEF 5 - -/*Values to be added in hexadecimal*/ -/* QWLAN_HAL_CFG_VALID_RADAR_LIST */ -#define QWLAN_HAL_CFG_VALID_RADAR_CHANNEL_LIST_DEFAULT "36" -#define QWLAN_HAL_CFG_RADAR_CHANNEL_LIST_LEN 20 - -/* QWLAN_HAL_CFG_TX_POWER_24_20 */ -#define QWLAN_WLAN_TX_POWER_24_20_DEFAULT 299 -#define QWLAN_WLAN_TX_POWER_24_20_MIN 299 -#define QWLAN_WLAN_TX_POWER_24_20_MAX 299 - -/* QWLAN_HAL_CFG_TX_POWER_24_40 */ -#define QWLAN_WLAN_TX_POWER_24_40_DEFAULT 300 -#define QWLAN_WLAN_TX_POWER_24_40_MIN 299 -#define QWLAN_WLAN_TX_POWER_24_40_MAX 299 - -/* QWLAN_HAL_CFG_TX_POWER_50_20 */ -#define QWLAN_WLAN_TX_POWER_50_20_DEFAULT 301 -#define QWLAN_WLAN_TX_POWER_50_20_MIN 299 -#define QWLAN_WLAN_TX_POWER_50_20_MAX 299 - -/* QWLAN_HAL_CFG_TX_POWER_50_40 */ -#define QWLAN_WLAN_TX_POWER_50_40_DEFAULT 302 -#define QWLAN_WLAN_TX_POWER_50_40_MIN 299 -#define QWLAN_WLAN_TX_POWER_50_40_MAX 299 - -/* QCOM_WLAN_CFG_MAX_TX_POWER_2_4 */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_2_4_LEN 128 -/* byte[0] = 0x01 = First Channel; byte[1] = 0x0E = 14 = MaxChannels; byte[2] = 0x14 = 20 = Tx Power (dBm) */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_2_4_DEFAULT "010E14" - -/* QCOM_WLAN_CFG_MAX_TX_POWER_5 */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_5_LEN 128 -/* byte[0] = 0x24 = 36 = First Channel; byte[1] = 0x82 = 130 = MaxChannels; byte[2] = 0x14 = 20 = Tx Power (dBm) */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_5_DEFAULT "248214" - - -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD_STAMIN 0 -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD_STAMAX 65535 -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD_STADEF 0 - -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP_DEF 0 - -/* QWLAN_HAL_CFG_BTC_EXECUTION_MODE */ -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE_MIN 0 -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE_MAX 5 -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE_DEF 0 - -/* QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK */ -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK_MIN 0 -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK_MAX 255 -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK_DEF 0 - -/* QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS */ -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS_MIN 0 -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS_MAX 255 -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS_DEF 15 - -/* QWLAN_HAL_CFG_WCNSS_API_VERSION */ -#define QWLAN_HAL_CFG_WCNSS_API_VERSION_MIN 0 /* equivalent to 0.0.0.0 */ -#define QWLAN_HAL_CFG_WCNSS_API_VERSION_MAX 4294967295U /* equivalent to 255.255.255.255 */ -#define QWLAN_HAL_CFG_WCNSS_API_VERSION_DEF 0 /* equivalent to 0.0.0.0 */ - -/* QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT */ -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MIN 1 -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MAX 255 -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_DEF 20 - -/* QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT */ -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MIN 1 -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MAX 255 -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_DEF 20 - -/* QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST */ -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_DEF 0 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT_DEF 120000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT_DEF 10000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT_DEF 10000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT_DEF 10000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN_DEF 30000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN_DEF 0 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN_DEF 0 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN_DEF 0 - -/* QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT */ -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT_MIN 25000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT_DEF 250000 - -/* QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN */ -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN_MIN 15000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN_DEF 45000 - -/* QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC */ -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC_MIN 0 -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC_MAX 100 -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC_DEF 1 - -/* QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP */ -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP_MIN 0 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP_MAX 1 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP_DEF 1 - -/* QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO */ -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO_MIN 0 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO_MAX 1 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER */ -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER_DEF 0 - -/* QWLAN_HAL_CFG_MAX_ASSOC_LIMIT */ -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT_MIN 10 -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT_MAX 32 -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT_DEF 10 - -/* QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION */ -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER */ -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT */ -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT_DEF 0 - -/* QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT */ -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MIN 3 -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MAX 30 -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_DEF 10 - -/* QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT */ -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MIN 3 -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MAX 30 -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_DEF 10 - -/*QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER*/ -/*This value is multiplied to ChannelDwellTime - *i.e If value is 300 then ChannelDwellTime is (3*ChannelDwelltime)*/ -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_MIN 0 -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_MAX 300 -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_DEF 300 - -/* QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE */ -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER */ -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT */ -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_DEF 0 - -/* QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT */ -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STAMIN 1 -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STAMAX 255 -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STADEF 20 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_MIN 0 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_MAX 1 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_DEF 0 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_MASK */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK_MIN 0 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK_MAX 0xf -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK_DEF 0 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN 0 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX 10 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEF 0 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_MIN 10 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_MAX 20 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_DEF 10 - -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_DEF 60000 - -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_DEF 90000 - -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_DEF 60000 - -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_DEF 90000 - -/* QWLAN_HAL_CFG_ANTENNA_DIVERSITY */ -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_DEF 0 -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MIN 0 -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MAX 3 - -#define QWLAN_HAL_CFG_ATH_DEF 0 -#define QWLAN_HAL_CFG_ATH_MIN 0 -#define QWLAN_HAL_CFG_ATH_MAX 1 - -/* QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR */ -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_DEF 0 -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_MIN 0 -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_MAX 9 - -/* QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_RX_DRAIN_FEATURE */ -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_DEF 1 - -/* QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE */ -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_MIN 0 -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_MAX 1 -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_DEF 0 - -/* QWLAN_HAL_CFG_MWS_COEX_XXXX */ -#define QWLAN_HAL_CFG_MWS_COEX_DEF 0 -#define QWLAN_HAL_CFG_MWS_COEX_MIN 0 -#define QWLAN_HAL_CFG_MWS_COEX_MAX 0xFFFFFFFF -#define QWLAN_HAL_CFG_MWS_COEX_MAX_VICTIM 10 -#define QWLAN_HAL_CFG_MWS_COEX_MAX_CONFIG 6 - -/* QWLAN_HAL_CFG_SAR_POWER_BACKOFF */ -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_DEF 13 -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_MIN 1 -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_MAX 21 - -#endif //__WLAN_HAL_CFG_H__ - - diff --git a/riva/inc/wlan_hal_msg.h b/riva/inc/wlan_hal_msg.h deleted file mode 100644 index 81633c43de5b..000000000000 --- a/riva/inc/wlan_hal_msg.h +++ /dev/null @@ -1,7062 +0,0 @@ -/* -* Copyright (c) 2012-2013 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/*========================================================================== - * - * @file: wlan_hal_msg.h - * - * @brief: Exports and types for messages sent to HAL from WDI - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#ifndef _WLAN_HAL_MSG_H_ -#define _WLAN_HAL_MSG_H_ - -#include "halLegacyPalTypes.h" -#include "halCompiler.h" -#include "wlan_qct_dev_defs.h" -#include "wlan_nv.h" - -/*--------------------------------------------------------------------------- - API VERSIONING INFORMATION - - The RIVA API is versioned as MAJOR.MINOR.VERSION.REVISION - The MAJOR is incremented for major product/architecture changes - (and then MINOR/VERSION/REVISION are zeroed) - The MINOR is incremented for minor product/architecture changes - (and then VERSION/REVISION are zeroed) - The VERSION is incremented if a significant API change occurs - (and then REVISION is zeroed) - The REVISION is incremented if an insignificant API change occurs - or if a new API is added - All values are in the range 0..255 (ie they are 8-bit values) - ---------------------------------------------------------------------------*/ -#define WLAN_HAL_VER_MAJOR 1 -#define WLAN_HAL_VER_MINOR 5 -#define WLAN_HAL_VER_VERSION 1 -#define WLAN_HAL_VER_REVISION 2 - -/*--------------------------------------------------------------------------- - Commom Type definitons - ---------------------------------------------------------------------------*/ - -//This is to force compiler to use the maximum of an int ( 4 bytes ) -#define WLAN_HAL_MAX_ENUM_SIZE 0x7FFFFFFF -#define WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE 0x7FFF - -//Max no. of transmit categories -#define STACFG_MAX_TC 8 - -//The maximum value of access category -#define WLAN_HAL_MAX_AC 4 - -typedef tANI_U8 tSirMacAddr[6]; -typedef tANI_U8 tHalIpv4Addr[4]; - -#define HAL_MAC_ADDR_LEN 6 -#define HAL_IPV4_ADDR_LEN 4 - -#define WALN_HAL_STA_INVALID_IDX 0xFF -#define WLAN_HAL_BSS_INVALID_IDX 0xFF - -//Default Beacon template size -#define BEACON_TEMPLATE_SIZE 0x180 - - -//Max Tx Data Rate samples -#define MAX_TX_RATE_SAMPLES 10 -//Max Beacon Rssi samples -#define MAX_BCN_RSSI_SAMPLES 10 - -//Param Change Bitmap sent to HAL -#define PARAM_BCN_INTERVAL_CHANGED (1 << 0) -#define PARAM_SHORT_PREAMBLE_CHANGED (1 << 1) -#define PARAM_SHORT_SLOT_TIME_CHANGED (1 << 2) -#define PARAM_llACOEXIST_CHANGED (1 << 3) -#define PARAM_llBCOEXIST_CHANGED (1 << 4) -#define PARAM_llGCOEXIST_CHANGED (1 << 5) -#define PARAM_HT20MHZCOEXIST_CHANGED (1<<6) -#define PARAM_NON_GF_DEVICES_PRESENT_CHANGED (1<<7) -#define PARAM_RIFS_MODE_CHANGED (1<<8) -#define PARAM_LSIG_TXOP_FULL_SUPPORT_CHANGED (1<<9) -#define PARAM_OBSS_MODE_CHANGED (1<<10) -#define PARAM_BEACON_UPDATE_MASK (PARAM_BCN_INTERVAL_CHANGED|PARAM_SHORT_PREAMBLE_CHANGED|PARAM_SHORT_SLOT_TIME_CHANGED|PARAM_llACOEXIST_CHANGED |PARAM_llBCOEXIST_CHANGED|\ - PARAM_llGCOEXIST_CHANGED|PARAM_HT20MHZCOEXIST_CHANGED|PARAM_NON_GF_DEVICES_PRESENT_CHANGED|PARAM_RIFS_MODE_CHANGED|PARAM_LSIG_TXOP_FULL_SUPPORT_CHANGED| PARAM_OBSS_MODE_CHANGED) - -/*Dump command response Buffer size*/ -#define DUMPCMD_RSP_BUFFER 500 - -/*Version string max length (including NUL) */ -#define WLAN_HAL_VERSION_LENGTH 64 - -#define WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE 450 -#define WLAN_HAL_ROAM_SCAN_MAX_CHANNELS NUM_RF_CHANNELS -#define WLAN_HAL_ROAM_SCAN_RESERVED_BYTES 57 - -/* Message types for messages exchanged between WDI and HAL */ -typedef enum -{ - //Init/De-Init - WLAN_HAL_START_REQ = 0, - WLAN_HAL_START_RSP = 1, - WLAN_HAL_STOP_REQ = 2, - WLAN_HAL_STOP_RSP = 3, - - //Scan - WLAN_HAL_INIT_SCAN_REQ = 4, - WLAN_HAL_INIT_SCAN_RSP = 5, - WLAN_HAL_START_SCAN_REQ = 6, - WLAN_HAL_START_SCAN_RSP = 7 , - WLAN_HAL_END_SCAN_REQ = 8, - WLAN_HAL_END_SCAN_RSP = 9, - WLAN_HAL_FINISH_SCAN_REQ = 10, - WLAN_HAL_FINISH_SCAN_RSP = 11, - - // HW STA configuration/deconfiguration - WLAN_HAL_CONFIG_STA_REQ = 12, - WLAN_HAL_CONFIG_STA_RSP = 13, - WLAN_HAL_DELETE_STA_REQ = 14, - WLAN_HAL_DELETE_STA_RSP = 15, - WLAN_HAL_CONFIG_BSS_REQ = 16, - WLAN_HAL_CONFIG_BSS_RSP = 17, - WLAN_HAL_DELETE_BSS_REQ = 18, - WLAN_HAL_DELETE_BSS_RSP = 19, - - //Infra STA asscoiation - WLAN_HAL_JOIN_REQ = 20, - WLAN_HAL_JOIN_RSP = 21, - WLAN_HAL_POST_ASSOC_REQ = 22, - WLAN_HAL_POST_ASSOC_RSP = 23, - - //Security - WLAN_HAL_SET_BSSKEY_REQ = 24, - WLAN_HAL_SET_BSSKEY_RSP = 25, - WLAN_HAL_SET_STAKEY_REQ = 26, - WLAN_HAL_SET_STAKEY_RSP = 27, - WLAN_HAL_RMV_BSSKEY_REQ = 28, - WLAN_HAL_RMV_BSSKEY_RSP = 29, - WLAN_HAL_RMV_STAKEY_REQ = 30, - WLAN_HAL_RMV_STAKEY_RSP = 31, - - //Qos Related - WLAN_HAL_ADD_TS_REQ = 32, - WLAN_HAL_ADD_TS_RSP = 33, - WLAN_HAL_DEL_TS_REQ = 34, - WLAN_HAL_DEL_TS_RSP = 35, - WLAN_HAL_UPD_EDCA_PARAMS_REQ = 36, - WLAN_HAL_UPD_EDCA_PARAMS_RSP = 37, - WLAN_HAL_ADD_BA_REQ = 38, - WLAN_HAL_ADD_BA_RSP = 39, - WLAN_HAL_DEL_BA_REQ = 40, - WLAN_HAL_DEL_BA_RSP = 41, - - WLAN_HAL_CH_SWITCH_REQ = 42, - WLAN_HAL_CH_SWITCH_RSP = 43, - WLAN_HAL_SET_LINK_ST_REQ = 44, - WLAN_HAL_SET_LINK_ST_RSP = 45, - WLAN_HAL_GET_STATS_REQ = 46, - WLAN_HAL_GET_STATS_RSP = 47, - WLAN_HAL_UPDATE_CFG_REQ = 48, - WLAN_HAL_UPDATE_CFG_RSP = 49, - - WLAN_HAL_MISSED_BEACON_IND = 50, - WLAN_HAL_UNKNOWN_ADDR2_FRAME_RX_IND = 51, - WLAN_HAL_MIC_FAILURE_IND = 52, - WLAN_HAL_FATAL_ERROR_IND = 53, - WLAN_HAL_SET_KEYDONE_MSG = 54, - - //NV Interface - WLAN_HAL_DOWNLOAD_NV_REQ = 55, - WLAN_HAL_DOWNLOAD_NV_RSP = 56, - - WLAN_HAL_ADD_BA_SESSION_REQ = 57, - WLAN_HAL_ADD_BA_SESSION_RSP = 58, - WLAN_HAL_TRIGGER_BA_REQ = 59, - WLAN_HAL_TRIGGER_BA_RSP = 60, - WLAN_HAL_UPDATE_BEACON_REQ = 61, - WLAN_HAL_UPDATE_BEACON_RSP = 62, - WLAN_HAL_SEND_BEACON_REQ = 63, - WLAN_HAL_SEND_BEACON_RSP = 64, - - WLAN_HAL_SET_BCASTKEY_REQ = 65, - WLAN_HAL_SET_BCASTKEY_RSP = 66, - WLAN_HAL_DELETE_STA_CONTEXT_IND = 67, - WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ = 68, - WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP = 69, - - // PTT interface support - WLAN_HAL_PROCESS_PTT_REQ = 70, - WLAN_HAL_PROCESS_PTT_RSP = 71, - - // BTAMP related events - WLAN_HAL_SIGNAL_BTAMP_EVENT_REQ = 72, - WLAN_HAL_SIGNAL_BTAMP_EVENT_RSP = 73, - WLAN_HAL_TL_HAL_FLUSH_AC_REQ = 74, - WLAN_HAL_TL_HAL_FLUSH_AC_RSP = 75, - - WLAN_HAL_ENTER_IMPS_REQ = 76, - WLAN_HAL_EXIT_IMPS_REQ = 77, - WLAN_HAL_ENTER_BMPS_REQ = 78, - WLAN_HAL_EXIT_BMPS_REQ = 79, - WLAN_HAL_ENTER_UAPSD_REQ = 80, - WLAN_HAL_EXIT_UAPSD_REQ = 81, - WLAN_HAL_UPDATE_UAPSD_PARAM_REQ = 82, - WLAN_HAL_CONFIGURE_RXP_FILTER_REQ = 83, - WLAN_HAL_ADD_BCN_FILTER_REQ = 84, - WLAN_HAL_REM_BCN_FILTER_REQ = 85, - WLAN_HAL_ADD_WOWL_BCAST_PTRN = 86, - WLAN_HAL_DEL_WOWL_BCAST_PTRN = 87, - WLAN_HAL_ENTER_WOWL_REQ = 88, - WLAN_HAL_EXIT_WOWL_REQ = 89, - WLAN_HAL_HOST_OFFLOAD_REQ = 90, - WLAN_HAL_SET_RSSI_THRESH_REQ = 91, - WLAN_HAL_GET_RSSI_REQ = 92, - WLAN_HAL_SET_UAPSD_AC_PARAMS_REQ = 93, - WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 94, - - WLAN_HAL_ENTER_IMPS_RSP = 95, - WLAN_HAL_EXIT_IMPS_RSP = 96, - WLAN_HAL_ENTER_BMPS_RSP = 97, - WLAN_HAL_EXIT_BMPS_RSP = 98, - WLAN_HAL_ENTER_UAPSD_RSP = 99, - WLAN_HAL_EXIT_UAPSD_RSP = 100, - WLAN_HAL_SET_UAPSD_AC_PARAMS_RSP = 101, - WLAN_HAL_UPDATE_UAPSD_PARAM_RSP = 102, - WLAN_HAL_CONFIGURE_RXP_FILTER_RSP = 103, - WLAN_HAL_ADD_BCN_FILTER_RSP = 104, - WLAN_HAL_REM_BCN_FILTER_RSP = 105, - WLAN_HAL_SET_RSSI_THRESH_RSP = 106, - WLAN_HAL_HOST_OFFLOAD_RSP = 107, - WLAN_HAL_ADD_WOWL_BCAST_PTRN_RSP = 108, - WLAN_HAL_DEL_WOWL_BCAST_PTRN_RSP = 109, - WLAN_HAL_ENTER_WOWL_RSP = 110, - WLAN_HAL_EXIT_WOWL_RSP = 111, - WLAN_HAL_RSSI_NOTIFICATION_IND = 112, - WLAN_HAL_GET_RSSI_RSP = 113, - WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP = 114, - - //11k related events - WLAN_HAL_SET_MAX_TX_POWER_REQ = 115, - WLAN_HAL_SET_MAX_TX_POWER_RSP = 116, - - //11R related msgs - WLAN_HAL_AGGR_ADD_TS_REQ = 117, - WLAN_HAL_AGGR_ADD_TS_RSP = 118, - - //P2P WLAN_FEATURE_P2P - WLAN_HAL_SET_P2P_GONOA_REQ = 119, - WLAN_HAL_SET_P2P_GONOA_RSP = 120, - - //WLAN Dump commands - WLAN_HAL_DUMP_COMMAND_REQ = 121, - WLAN_HAL_DUMP_COMMAND_RSP = 122, - - //OEM_DATA FEATURE SUPPORT - WLAN_HAL_START_OEM_DATA_REQ = 123, - WLAN_HAL_START_OEM_DATA_RSP = 124, - - //ADD SELF STA REQ and RSP - WLAN_HAL_ADD_STA_SELF_REQ = 125, - WLAN_HAL_ADD_STA_SELF_RSP = 126, - - //DEL SELF STA SUPPORT - WLAN_HAL_DEL_STA_SELF_REQ = 127, - WLAN_HAL_DEL_STA_SELF_RSP = 128, - - // Coex Indication - WLAN_HAL_COEX_IND = 129, - - // Tx Complete Indication - WLAN_HAL_OTA_TX_COMPL_IND = 130, - - //Host Suspend/resume messages - WLAN_HAL_HOST_SUSPEND_IND = 131, - WLAN_HAL_HOST_RESUME_REQ = 132, - WLAN_HAL_HOST_RESUME_RSP = 133, - - WLAN_HAL_SET_TX_POWER_REQ = 134, - WLAN_HAL_SET_TX_POWER_RSP = 135, - WLAN_HAL_GET_TX_POWER_REQ = 136, - WLAN_HAL_GET_TX_POWER_RSP = 137, - - WLAN_HAL_P2P_NOA_ATTR_IND = 138, - - WLAN_HAL_ENABLE_RADAR_DETECT_REQ = 139, - WLAN_HAL_ENABLE_RADAR_DETECT_RSP = 140, - WLAN_HAL_GET_TPC_REPORT_REQ = 141, - WLAN_HAL_GET_TPC_REPORT_RSP = 142, - WLAN_HAL_RADAR_DETECT_IND = 143, - WLAN_HAL_RADAR_DETECT_INTR_IND = 144, - WLAN_HAL_KEEP_ALIVE_REQ = 145, - WLAN_HAL_KEEP_ALIVE_RSP = 146, - - /*PNO messages*/ - WLAN_HAL_SET_PREF_NETWORK_REQ = 147, - WLAN_HAL_SET_PREF_NETWORK_RSP = 148, - WLAN_HAL_SET_RSSI_FILTER_REQ = 149, - WLAN_HAL_SET_RSSI_FILTER_RSP = 150, - WLAN_HAL_UPDATE_SCAN_PARAM_REQ = 151, - WLAN_HAL_UPDATE_SCAN_PARAM_RSP = 152, - WLAN_HAL_PREF_NETW_FOUND_IND = 153, - - WLAN_HAL_SET_TX_PER_TRACKING_REQ = 154, - WLAN_HAL_SET_TX_PER_TRACKING_RSP = 155, - WLAN_HAL_TX_PER_HIT_IND = 156, - - WLAN_HAL_8023_MULTICAST_LIST_REQ = 157, - WLAN_HAL_8023_MULTICAST_LIST_RSP = 158, - - WLAN_HAL_SET_PACKET_FILTER_REQ = 159, - WLAN_HAL_SET_PACKET_FILTER_RSP = 160, - WLAN_HAL_PACKET_FILTER_MATCH_COUNT_REQ = 161, - WLAN_HAL_PACKET_FILTER_MATCH_COUNT_RSP = 162, - WLAN_HAL_CLEAR_PACKET_FILTER_REQ = 163, - WLAN_HAL_CLEAR_PACKET_FILTER_RSP = 164, - /*This is temp fix. Should be removed once - * Host and Riva code is in sync*/ - WLAN_HAL_INIT_SCAN_CON_REQ = 165, - - WLAN_HAL_SET_POWER_PARAMS_REQ = 166, - WLAN_HAL_SET_POWER_PARAMS_RSP = 167, - - WLAN_HAL_TSM_STATS_REQ = 168, - WLAN_HAL_TSM_STATS_RSP = 169, - - // wake reason indication (WOW) - WLAN_HAL_WAKE_REASON_IND = 170, - // GTK offload support - WLAN_HAL_GTK_OFFLOAD_REQ = 171, - WLAN_HAL_GTK_OFFLOAD_RSP = 172, - WLAN_HAL_GTK_OFFLOAD_GETINFO_REQ = 173, - WLAN_HAL_GTK_OFFLOAD_GETINFO_RSP = 174, - - WLAN_HAL_FEATURE_CAPS_EXCHANGE_REQ = 175, - WLAN_HAL_FEATURE_CAPS_EXCHANGE_RSP = 176, - WLAN_HAL_EXCLUDE_UNENCRYPTED_IND = 177, - - WLAN_HAL_SET_THERMAL_MITIGATION_REQ = 178, - WLAN_HAL_SET_THERMAL_MITIGATION_RSP = 179, - - WLAN_HAL_UPDATE_VHT_OP_MODE_REQ = 182, - WLAN_HAL_UPDATE_VHT_OP_MODE_RSP = 183, - - WLAN_HAL_P2P_NOA_START_IND = 184, - - WLAN_HAL_GET_ROAM_RSSI_REQ = 185, - WLAN_HAL_GET_ROAM_RSSI_RSP = 186, - - WLAN_HAL_CLASS_B_STATS_IND = 187, - WLAN_HAL_DEL_BA_IND = 188, - WLAN_HAL_DHCP_START_IND = 189, - WLAN_HAL_DHCP_STOP_IND = 190, - WLAN_ROAM_SCAN_OFFLOAD_REQ = 191, - WLAN_ROAM_SCAN_OFFLOAD_RSP = 192, - WLAN_HAL_WIFI_PROXIMITY_REQ = 193, - WLAN_HAL_WIFI_PROXIMITY_RSP = 194, - - WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ = 195, - WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP = 196, - WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND = 197, - - WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ = 198, - WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP = 199, - WLAN_HAL_TDLS_LINK_TEARDOWN_REQ = 200, - WLAN_HAL_TDLS_LINK_TEARDOWN_RSP = 201, - WLAN_HAL_TDLS_IND = 202, - WLAN_HAL_IBSS_PEER_INACTIVITY_IND = 203, - - /* Scan Offload APIs */ - WLAN_HAL_START_SCAN_OFFLOAD_REQ = 204, - WLAN_HAL_START_SCAN_OFFLOAD_RSP = 205, - WLAN_HAL_STOP_SCAN_OFFLOAD_REQ = 206, - WLAN_HAL_STOP_SCAN_OFFLOAD_RSP = 207, - WLAN_HAL_UPDATE_CHANNEL_LIST_REQ = 208, - WLAN_HAL_UPDATE_CHANNEL_LIST_RSP = 209, - WLAN_HAL_OFFLOAD_SCAN_EVENT_IND = 210, - - /* APIs to offload TCP/UDP Heartbeat handshakes */ - WLAN_HAL_LPHB_CFG_REQ = 211, - WLAN_HAL_LPHB_CFG_RSP = 212, - WLAN_HAL_LPHB_IND = 213, - - WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND = 214, - WLAN_HAL_DEL_PERIODIC_TX_PTRN_IND = 215, - WLAN_HAL_PERIODIC_TX_PTRN_FW_IND = 216, - - // Events to set Per-Band Tx Power Limit - WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ = 217, - WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_RSP = 218, - - /* Reliable Multicast using Leader Based Protocol */ - WLAN_HAL_LBP_LEADER_REQ = 219, - WLAN_HAL_LBP_LEADER_RSP = 220, - WLAN_HAL_LBP_UPDATE_IND = 221, - - /* Batchscan */ - WLAN_HAL_BATCHSCAN_SET_REQ = 222, - WLAN_HAL_BATCHSCAN_SET_RSP = 223, - WLAN_HAL_BATCHSCAN_TRIGGER_RESULT_IND = 224, - WLAN_HAL_BATCHSCAN_RESULT_IND = 225, - WLAN_HAL_BATCHSCAN_STOP_IND = 226, - - WLAN_HAL_GET_IBSS_PEER_INFO_REQ = 227, - WLAN_HAL_GET_IBSS_PEER_INFO_RSP = 228, - - WLAN_HAL_RATE_UPDATE_IND = 229, - - /* Tx Fail for weak link notification */ - WLAN_HAL_TX_FAIL_MONITOR_IND = 230, - WLAN_HAL_TX_FAIL_IND = 231, - - /* Multi-hop IP routing offload */ - WLAN_HAL_IP_FORWARD_TABLE_UPDATE_IND = 232, - - WLAN_HAL_MSG_MAX = WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE -}tHalHostMsgType; - -/* Enumeration for Version */ -typedef enum -{ - WLAN_HAL_MSG_VERSION0 = 0, - WLAN_HAL_MSG_VERSION1 = 1, - WLAN_HAL_MSG_WCNSS_CTRL_VERSION = 0x7FFF, /*define as 2 bytes data*/ - WLAN_HAL_MSG_VERSION_MAX_FIELD = WLAN_HAL_MSG_WCNSS_CTRL_VERSION -}tHalHostMsgVersion; - -/* Enumeration for Boolean - False/True, On/Off */ -typedef enum tagAniBoolean -{ - eANI_BOOLEAN_FALSE = 0, - eANI_BOOLEAN_TRUE, - eANI_BOOLEAN_OFF = 0, - eANI_BOOLEAN_ON = 1, - eANI_BOOLEAN_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ -} eAniBoolean; - -typedef enum -{ - eDRIVER_TYPE_PRODUCTION = 0, - eDRIVER_TYPE_MFG = 1, - eDRIVER_TYPE_DVT = 2, - eDRIVER_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tDriverType; - -typedef enum -{ - HAL_STOP_TYPE_SYS_RESET, - HAL_STOP_TYPE_SYS_DEEP_SLEEP, - HAL_STOP_TYPE_RF_KILL, - HAL_STOP_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tHalStopType; - -typedef enum -{ - eHAL_SYS_MODE_NORMAL, - eHAL_SYS_MODE_LEARN, - eHAL_SYS_MODE_SCAN, - eHAL_SYS_MODE_PROMISC, - eHAL_SYS_MODE_SUSPEND_LINK, - eHAL_SYS_MODE_ROAM_SCAN, - eHAL_SYS_MODE_ROAM_SUSPEND_LINK, - eHAL_SYS_MODE_OEM_DATA, - eHAL_SYS_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} eHalSysMode; - -typedef enum -{ - PHY_SINGLE_CHANNEL_CENTERED = 0, // 20MHz IF bandwidth centered on IF carrier - PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1, // 40MHz IF bandwidth with lower 20MHz supporting the primary channel - PHY_DOUBLE_CHANNEL_CENTERED = 2, // 40MHz IF bandwidth centered on IF carrier - PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3, // 40MHz IF bandwidth with higher 20MHz supporting the primary channel -#ifdef WLAN_FEATURE_11AC - PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED - PHY_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED - PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED - PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW - PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW - PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH - PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH -#endif - PHY_CHANNEL_BONDING_STATE_MAX = WLAN_HAL_MAX_ENUM_SIZE -}ePhyChanBondState; - -// Spatial Multiplexing(SM) Power Save mode -typedef enum eSirMacHTMIMOPowerSaveState -{ - eSIR_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode - eSIR_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode - eSIR_HT_MIMO_PS_NA = 2, // reserved - eSIR_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled - eSIR_HT_MIMO_PS_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSirMacHTMIMOPowerSaveState; - -/* each station added has a rate mode which specifies the sta attributes */ -typedef enum eStaRateMode { - eSTA_TAURUS = 0, - eSTA_TITAN, - eSTA_POLARIS, - eSTA_11b, - eSTA_11bg, - eSTA_11a, - eSTA_11n, -#ifdef WLAN_FEATURE_11AC - eSTA_11ac, -#endif - eSTA_INVALID_RATE_MODE = WLAN_HAL_MAX_ENUM_SIZE -} tStaRateMode, *tpStaRateMode; - -#define SIR_NUM_11B_RATES 4 //1,2,5.5,11 -#define SIR_NUM_11A_RATES 8 //6,9,12,18,24,36,48,54 -#define SIR_NUM_POLARIS_RATES 3 //72,96,108 - -#define SIR_MAC_MAX_SUPPORTED_MCS_SET 16 - - -typedef enum eSirBssType -{ - eSIR_INFRASTRUCTURE_MODE, - eSIR_INFRA_AP_MODE, //Added for softAP support - eSIR_IBSS_MODE, - eSIR_BTAMP_STA_MODE, //Added for BT-AMP support - eSIR_BTAMP_AP_MODE, //Added for BT-AMP support - eSIR_AUTO_MODE, - eSIR_DONOT_USE_BSS_TYPE = WLAN_HAL_MAX_ENUM_SIZE -} tSirBssType; - -typedef enum eSirNwType -{ - eSIR_11A_NW_TYPE, - eSIR_11B_NW_TYPE, - eSIR_11G_NW_TYPE, - eSIR_11N_NW_TYPE, - eSIR_DONOT_USE_NW_TYPE = WLAN_HAL_MAX_ENUM_SIZE -} tSirNwType; - -typedef tANI_U16 tSirMacBeaconInterval; - -#define SIR_MAC_RATESET_EID_MAX 12 - -typedef enum eSirMacHTOperatingMode -{ - eSIR_HT_OP_MODE_PURE, // No Protection - eSIR_HT_OP_MODE_OVERLAP_LEGACY, // Overlap Legacy device present, protection is optional - eSIR_HT_OP_MODE_NO_LEGACY_20MHZ_HT, // No legacy device, but 20 MHz HT present - eSIR_HT_OP_MODE_MIXED, // Protection is required - eSIR_HT_OP_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSirMacHTOperatingMode; - -/// Encryption type enum used with peer -typedef enum eAniEdType -{ - eSIR_ED_NONE, - eSIR_ED_WEP40, - eSIR_ED_WEP104, - eSIR_ED_TKIP, - eSIR_ED_CCMP, - eSIR_ED_WPI, - eSIR_ED_AES_128_CMAC, - eSIR_ED_NOT_IMPLEMENTED = WLAN_HAL_MAX_ENUM_SIZE -} tAniEdType; - -#define WLAN_MAX_KEY_RSC_LEN 16 -#define WLAN_WAPI_KEY_RSC_LEN 16 - -/// MAX key length when ULA is used -#define SIR_MAC_MAX_KEY_LENGTH 32 -#define SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS 4 - -/// Enum to specify whether key is used -/// for TX only, RX only or both -typedef enum eAniKeyDirection -{ - eSIR_TX_ONLY, - eSIR_RX_ONLY, - eSIR_TX_RX, - eSIR_TX_DEFAULT, - eSIR_DONOT_USE_KEY_DIRECTION = WLAN_HAL_MAX_ENUM_SIZE -} tAniKeyDirection; - -typedef enum eAniWepType -{ - eSIR_WEP_STATIC, - eSIR_WEP_DYNAMIC, - eSIR_WEP_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tAniWepType; - -typedef enum eSriLinkState { - - eSIR_LINK_IDLE_STATE = 0, - eSIR_LINK_PREASSOC_STATE = 1, - eSIR_LINK_POSTASSOC_STATE = 2, - eSIR_LINK_AP_STATE = 3, - eSIR_LINK_IBSS_STATE = 4, - - /* BT-AMP Case */ - eSIR_LINK_BTAMP_PREASSOC_STATE = 5, - eSIR_LINK_BTAMP_POSTASSOC_STATE = 6, - eSIR_LINK_BTAMP_AP_STATE = 7, - eSIR_LINK_BTAMP_STA_STATE = 8, - - /* Reserved for HAL Internal Use */ - eSIR_LINK_LEARN_STATE = 9, - eSIR_LINK_SCAN_STATE = 10, - eSIR_LINK_FINISH_SCAN_STATE = 11, - eSIR_LINK_INIT_CAL_STATE = 12, - eSIR_LINK_FINISH_CAL_STATE = 13, -#ifdef WLAN_FEATURE_P2P - eSIR_LINK_LISTEN_STATE = 14, - eSIR_LINK_SEND_ACTION_STATE = 15, -#endif - eSIR_LINK_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSirLinkState; - -typedef enum -{ - HAL_SUMMARY_STATS_INFO = 0x00000001, - HAL_GLOBAL_CLASS_A_STATS_INFO = 0x00000002, - HAL_GLOBAL_CLASS_B_STATS_INFO = 0x00000004, - HAL_GLOBAL_CLASS_C_STATS_INFO = 0x00000008, - HAL_GLOBAL_CLASS_D_STATS_INFO = 0x00000010, - HAL_PER_STA_STATS_INFO = 0x00000020 -}eHalStatsMask; - -/* BT-AMP events type */ -typedef enum -{ - BTAMP_EVENT_CONNECTION_START, - BTAMP_EVENT_CONNECTION_STOP, - BTAMP_EVENT_CONNECTION_TERMINATED, - BTAMP_EVENT_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE, //This and beyond are invalid values -} tBtAmpEventType; - -//*************************************************************** - - -/*******************PE Statistics*************************/ -typedef enum -{ - PE_SUMMARY_STATS_INFO = 0x00000001, - PE_GLOBAL_CLASS_A_STATS_INFO = 0x00000002, - PE_GLOBAL_CLASS_B_STATS_INFO = 0x00000004, - PE_GLOBAL_CLASS_C_STATS_INFO = 0x00000008, - PE_GLOBAL_CLASS_D_STATS_INFO = 0x00000010, - PE_PER_STA_STATS_INFO = 0x00000020, - PE_STATS_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE //This and beyond are invalid values -}ePEStatsMask; - -/*--------------------------------------------------------------------------- - Message definitons - All the messages below need to be packed - ---------------------------------------------------------------------------*/ - -#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK) -#pragma pack(push, 1) -#elif defined(__ANI_COMPILER_PRAGMA_PACK) -#pragma pack(1) -#else -#endif - -/// Definition for HAL API Version. -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 revision; - tANI_U8 version; - tANI_U8 minor; - tANI_U8 major; -} tWcnssWlanVersion, *tpWcnssWlanVersion; - -/// Definition for Encryption Keys -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 keyId; - tANI_U8 unicast; // 0 for multicast - tAniKeyDirection keyDirection; - tANI_U8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown - tANI_U8 paeRole; // =1 for authenticator,=0 for supplicant - tANI_U16 keyLength; - tANI_U8 key[SIR_MAC_MAX_KEY_LENGTH]; -} tSirKeys, *tpSirKeys; - - -//SetStaKeyParams Moving here since it is shared by configbss/setstakey msgs -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*STATIC/DYNAMIC - valid only for WEP*/ - tAniWepType wepType; - - /*Default WEP key, valid only for static WEP, must between 0 and 3.*/ - tANI_U8 defWEPIdx; - - /* valid only for non-static WEP encyrptions */ - tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS]; - - /*Control for Replay Count, 1= Single TID based replay count on Tx - 0 = Per TID based replay count on TX */ - tANI_U8 singleTidRc; - -} tSetStaKeyParams, *tpSetStaKeyParams; - - - -/* 4-byte control message header used by HAL*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalHostMsgType msgType:16; - tHalHostMsgVersion msgVersion:16; - tANI_U32 msgLen; -} tHalMsgHeader, *tpHalMsgHeader; - -/* Config format required by HAL for each CFG item*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Cfg Id. The Id required by HAL is exported by HAL - * in shared header file between UMAC and HAL.*/ - tANI_U16 uCfgId; - - /* Length of the Cfg. This parameter is used to go to next cfg - * in the TLV format.*/ - tANI_U16 uCfgLen; - - /* Padding bytes for unaligned address's */ - tANI_U16 uCfgPadBytes; - - /* Reserve bytes for making cfgVal to align address */ - tANI_U16 uCfgReserve; - - /* Following the uCfgLen field there should be a 'uCfgLen' bytes - * containing the uCfgValue ; tANI_U8 uCfgValue[uCfgLen] */ -} tHalCfg, *tpHalCfg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST sHalMacStartParameters -{ - /* Drive Type - Production or FTM etc */ - tDriverType driverType; - - /*Length of the config buffer*/ - tANI_U32 uConfigBufferLen; - - /* Following this there is a TLV formatted buffer of length - * "uConfigBufferLen" bytes containing all config values. - * The TLV is expected to be formatted like this: - * 0 15 31 31+CFG_LEN-1 length-1 - * | CFG_ID | CFG_LEN | CFG_BODY | CFG_ID |......| - */ -} tHalMacStartParameters, *tpHalMacStartParameters; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalMacStartReqMsg messages should be - * header.msgLen = sizeof(tHalMacStartReqMsg) + uConfigBufferLen */ - tHalMsgHeader header; - tHalMacStartParameters startReqParams; -} tHalMacStartReqMsg, *tpHalMacStartReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST sHalMacStartRspParameters -{ - /*success or failure */ - tANI_U16 status; - - /*Max number of STA supported by the device*/ - tANI_U8 ucMaxStations; - - /*Max number of BSS supported by the device*/ - tANI_U8 ucMaxBssids; - - /*API Version */ - tWcnssWlanVersion wcnssWlanVersion; - - /*CRM build information */ - tANI_U8 wcnssCrmVersionString[WLAN_HAL_VERSION_LENGTH]; - - /*hardware/chipset/misc version information */ - tANI_U8 wcnssWlanVersionString[WLAN_HAL_VERSION_LENGTH]; - -} tHalMacStartRspParams, *tpHalMacStartRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMacStartRspParams startRspParams; -} tHalMacStartRspMsg, *tpHalMacStartRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_STOP_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*The reason for which the device is being stopped*/ - tHalStopType reason; - -}tHalMacStopReqParams, *tpHalMacStopReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMacStopReqParams stopReqParams; -} tHalMacStopReqMsg, *tpHalMacStopReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_STOP_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalMacStopRspParams, *tpHalMacStopRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMacStopRspParams stopRspParams; -} tHalMacStopRspMsg, *tpHalMacStopRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_UPDATE_CFG_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Length of the config buffer. Allows UMAC to update multiple CFGs */ - tANI_U32 uConfigBufferLen; - - /* Following this there is a TLV formatted buffer of length - * "uConfigBufferLen" bytes containing all config values. - * The TLV is expected to be formatted like this: - * 0 15 31 31+CFG_LEN-1 length-1 - * | CFG_ID | CFG_LEN | CFG_BODY | CFG_ID |......| - */ -} tHalUpdateCfgReqParams, *tpHalUpdateCfgReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalUpdateCfgReqMsg messages should be - * header.msgLen = sizeof(tHalUpdateCfgReqMsg) + uConfigBufferLen */ - tHalMsgHeader header; - tHalUpdateCfgReqParams updateCfgReqParams; -} tHalUpdateCfgReqMsg, *tpHalUpdateCfgReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_UPDATE_CFG_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - -}tHalUpdateCfgRspParams, *tpHalUpdateCfgRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalUpdateCfgRspParams updateCfgRspParams; -} tHalUpdateCfgRspMsg, *tpHalUpdateCfgRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_INIT_SCAN_REQ ----------------------------------------------------------------------------*/ - -/// Frame control field format (2 bytes) -typedef __ani_attr_pre_packed struct sSirMacFrameCtl -{ - -#ifndef ANI_LITTLE_BIT_ENDIAN - - tANI_U8 subType :4; - tANI_U8 type :2; - tANI_U8 protVer :2; - - tANI_U8 order :1; - tANI_U8 wep :1; - tANI_U8 moreData :1; - tANI_U8 powerMgmt :1; - tANI_U8 retry :1; - tANI_U8 moreFrag :1; - tANI_U8 fromDS :1; - tANI_U8 toDS :1; - -#else - - tANI_U8 protVer :2; - tANI_U8 type :2; - tANI_U8 subType :4; - - tANI_U8 toDS :1; - tANI_U8 fromDS :1; - tANI_U8 moreFrag :1; - tANI_U8 retry :1; - tANI_U8 powerMgmt :1; - tANI_U8 moreData :1; - tANI_U8 wep :1; - tANI_U8 order :1; - -#endif - -} __ani_attr_packed tSirMacFrameCtl, *tpSirMacFrameCtl; - -/// Sequence control field -typedef __ani_attr_pre_packed struct sSirMacSeqCtl -{ - tANI_U8 fragNum : 4; - tANI_U8 seqNumLo : 4; - tANI_U8 seqNumHi : 8; -} __ani_attr_packed tSirMacSeqCtl, *tpSirMacSeqCtl; - -/// Management header format -typedef __ani_attr_pre_packed struct sSirMacMgmtHdr -{ - tSirMacFrameCtl fc; - tANI_U8 durationLo; - tANI_U8 durationHi; - tANI_U8 da[6]; - tANI_U8 sa[6]; - tANI_U8 bssId[6]; - tSirMacSeqCtl seqControl; -} __ani_attr_packed tSirMacMgmtHdr, *tpSirMacMgmtHdr; - -/// Scan Entry to hold active BSS idx's -typedef __ani_attr_pre_packed struct sSirScanEntry -{ - tANI_U8 bssIdx[HAL_NUM_BSSID]; - tANI_U8 activeBSScnt; -}__ani_attr_packed tSirScanEntry, *ptSirScanEntry; - -typedef PACKED_PRE struct PACKED_POST { - - /*LEARN - AP Role - SCAN - STA Role*/ - eHalSysMode scanMode; - - /*BSSID of the BSS*/ - tSirMacAddr bssid; - - /*Whether BSS needs to be notified*/ - tANI_U8 notifyBss; - - /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or - CTS to Self). Must always be a valid frame type.*/ - tANI_U8 frameType; - - /*UMAC has the option of passing the MAC frame to be used for notifying - the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by - macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on - frameType.*/ - tANI_U8 frameLength; - - /* Following the framelength there is a MAC frame buffer if frameLength - is non-zero. */ - tSirMacMgmtHdr macMgmtHdr; - - /*Entry to hold number of active BSS idx's*/ - tSirScanEntry scanEntry; - -} tInitScanParams, * tpInitScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tInitScanParams initScanParams; -} tHalInitScanReqMsg, *tpHalInitScanReqMsg; - -typedef PACKED_PRE struct PACKED_POST { - - /*LEARN - AP Role - SCAN - STA Role*/ - eHalSysMode scanMode; - - /*BSSID of the BSS*/ - tSirMacAddr bssid; - - /*Whether BSS needs to be notified*/ - tANI_U8 notifyBss; - - /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or - CTS to Self). Must always be a valid frame type.*/ - tANI_U8 frameType; - - /*UMAC has the option of passing the MAC frame to be used for notifying - the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by - macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on - frameType.*/ - tANI_U8 frameLength; - - /* Following the framelength there is a MAC frame buffer if frameLength - is non-zero. */ - tSirMacMgmtHdr macMgmtHdr; - - /*Entry to hold number of active BSS idx's*/ - tSirScanEntry scanEntry; - - /* Single NoA usage in Scanning */ - tANI_U8 useNoA; - - /* Indicates the scan duration (in ms) */ - tANI_U16 scanDuration; - -} tInitScanConParams, * tpInitScanConParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tInitScanConParams initScanParams; -} tHalInitScanConReqMsg, *tpHalInitScanConReqMsg; - - -/*--------------------------------------------------------------------------- - WLAN_HAL_INIT_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalInitScanRspParams, *tpHalInitScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalInitScanRspParams initScanRspParams; -} tHalInitScanRspMsg, *tpHalInitScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_SCAN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the channel to scan*/ - tANI_U8 scanChannel; - - } tStartScanParams, * tpStartScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tStartScanParams startScanParams; -} tHalStartScanReqMsg, *tpHalStartScanReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - tANI_U32 startTSF[2]; - tPowerdBm txMgmtPower; - -}tHalStartScanRspParams, *tpHalStartScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStartScanRspParams startScanRspParams; -} tHalStartScanRspMsg, *tpHalStartScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_END_SCAN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the channel to stop scanning. Not used really. But retained - for symmetry with "start Scan" message. It can also help in error - check if needed.*/ - tANI_U8 scanChannel; - -} tEndScanParams, *tpEndScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEndScanParams endScanParams; -} tHalEndScanReqMsg, *tpHalEndScanReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_END_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalEndScanRspParams, *tpHalEndScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEndScanRspParams endScanRspParams; -} tHalEndScanRspMsg, *tpHalEndScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_FINISH_SCAN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Identifies the operational state of the AP/STA - * LEARN - AP Role SCAN - STA Role */ - eHalSysMode scanMode; - - /*Operating channel to tune to.*/ - tANI_U8 currentOperChannel; - - /*Channel Bonding state If 20/40 MHz is operational, this will indicate the - 40 MHz extension channel in combination with the control channel*/ - ePhyChanBondState cbState; - - /*BSSID of the BSS*/ - tSirMacAddr bssid; - - /*Whether BSS needs to be notified*/ - tANI_U8 notifyBss; - - /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or - CTS to Self). Must always be a valid frame type.*/ - tANI_U8 frameType; - - /*UMAC has the option of passing the MAC frame to be used for notifying - the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by - macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on - frameType.*/ - tANI_U8 frameLength; - - /*Following the framelength there is a MAC frame buffer if frameLength - is non-zero.*/ - tSirMacMgmtHdr macMgmtHdr; - - /*Entry to hold number of active BSS idx's*/ - tSirScanEntry scanEntry; - -} tFinishScanParams, *tpFinishScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tFinishScanParams finishScanParams; -} tHalFinishScanReqMsg, *tpHalFinishScanReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_FINISH_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalFinishScanRspParams, *tpHalFinishScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalFinishScanRspParams finishScanRspParams; -} tHalFinishScanRspMsg, *tpHalFinishScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_STA_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST { - /* - * For Self STA Entry: this represents Self Mode. - * For Peer Stations, this represents the mode of the peer. - * On Station: - * --this mode is updated when PE adds the Self Entry. - * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP. - * ON AP: - * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used - * to indicate the self mode of the AP. - * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated. - */ - - tStaRateMode opRateMode; - // 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps - tANI_U16 llbRates[SIR_NUM_11B_RATES]; - tANI_U16 llaRates[SIR_NUM_11A_RATES]; - tANI_U16 aniLegacyRates[SIR_NUM_POLARIS_RATES]; - tANI_U16 reserved; - - //Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported) - //First 26 bits are reserved for those Titan rates and - //the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved. - tANI_U32 aniEnhancedRateBitmap; //Titan and Taurus Rates - - /* - * 0-76 bits used, remaining reserved - * bits 0-15 and 32 should be set. - */ - tANI_U8 supportedMCSSet[SIR_MAC_MAX_SUPPORTED_MCS_SET]; - - /* - * RX Highest Supported Data Rate defines the highest data - * rate that the STA is able to receive, in unites of 1Mbps. - * This value is derived from "Supported MCS Set field" inside - * the HT capability element. - */ - tANI_U16 rxHighestDataRate; - -} tSirSupportedRates, *tpSirSupportedRates; - -typedef PACKED_PRE struct PACKED_POST -{ - /*BSSID of STA*/ - tSirMacAddr bssId; - - /*ASSOC ID, as assigned by UMAC*/ - tANI_U16 assocId; - - /* STA entry Type: 0 - Self, 1 - Other/Peer, 2 - BSSID, 3 - BCAST */ - tANI_U8 staType; - - /*Short Preamble Supported.*/ - tANI_U8 shortPreambleSupported; - - /*MAC Address of STA*/ - tSirMacAddr staMac; - - /*Listen interval of the STA*/ - tANI_U16 listenInterval; - - /*Support for 11e/WMM*/ - tANI_U8 wmmEnabled; - - /*11n HT capable STA*/ - tANI_U8 htCapable; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*RIFS mode 0 - NA, 1 - Allowed */ - tANI_U8 rifsMode; - - /*L-SIG TXOP Protection mechanism - 0 - No Support, 1 - Supported - SG - there is global field */ - tANI_U8 lsigTxopProtection; - - /*Max Ampdu Size supported by STA. TPE programming. - 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */ - tANI_U8 maxAmpduSize; - - /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/ - tANI_U8 maxAmpduDensity; - - /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/ - tANI_U8 maxAmsduSize; - - /*Short GI support for 40Mhz packets*/ - tANI_U8 fShortGI40Mhz; - - /*Short GI support for 20Mhz packets*/ - tANI_U8 fShortGI20Mhz; - - /*Robust Management Frame (RMF) enabled/disabled*/ - tANI_U8 rmfEnabled; - - /* The unicast encryption type in the association */ - tANI_U32 encryptType; - - /*HAL should update the existing STA entry, if this flag is set. UMAC - will set this flag in case of RE-ASSOC, where we want to reuse the old - STA ID. 0 = Add, 1 = Update*/ - tANI_U8 action; - - /*U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /*Max SP Length*/ - tANI_U8 maxSPLen; - - /*11n Green Field preamble support - 0 - Not supported, 1 - Supported */ - tANI_U8 greenFieldCapable; - - /*MIMO Power Save mode*/ - tSirMacHTMIMOPowerSaveState mimoPS; - - /*Delayed BA Support*/ - tANI_U8 delayedBASupport; - - /*Max AMPDU duration in 32us*/ - tANI_U8 us32MaxAmpduDuration; - - /*HT STA should set it to 1 if it is enabled in BSS. HT STA should set - it to 0 if AP does not support it. This indication is sent to HAL and - HAL uses this flag to pickup up appropriate 40Mhz rates.*/ - tANI_U8 fDsssCckMode40Mhz; - - /* Valid STA Idx when action=Update. Set to 0xFF when invalid! - Retained for backward compalibity with existing HAL code*/ - tANI_U8 staIdx; - - /* BSSID of BSS to which station is associated. Set to 0xFF when invalid. - Retained for backward compalibity with existing HAL code*/ - tANI_U8 bssIdx; - - tANI_U8 p2pCapableSta; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 reserved; - - /*These rates are the intersection of peer and self capabilities.*/ - tSirSupportedRates supportedRates; - -} tConfigStaParams, *tpConfigStaParams; - -/*------------------------------------------------------------------------ - * WLAN_HAL_CONFIG_STA_REQ - * ----------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST { - /* - * For Self STA Entry: this represents Self Mode. - * For Peer Stations, this represents the mode of the peer. - * On Station: - * --this mode is updated when PE adds the Self Entry. - * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP. - * ON AP: - * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used - * to indicate the self mode of the AP. - * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated. - */ - - tStaRateMode opRateMode; - // 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps - tANI_U16 llbRates[SIR_NUM_11B_RATES]; - tANI_U16 llaRates[SIR_NUM_11A_RATES]; - tANI_U16 aniLegacyRates[SIR_NUM_POLARIS_RATES]; - tANI_U16 reserved; - - //Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported) - //First 26 bits are reserved for those Titan rates and - //the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved. - tANI_U32 aniEnhancedRateBitmap; //Titan and Taurus Rates - - /* - * 0-76 bits used, remaining reserved - * bits 0-15 and 32 should be set. - */ - tANI_U8 supportedMCSSet[SIR_MAC_MAX_SUPPORTED_MCS_SET]; - - /* - * RX Highest Supported Data Rate defines the highest data - * rate that the STA is able to receive, in unites of 1Mbps. - * This value is derived from "Supported MCS Set field" inside - * the HT capability element. - */ - tANI_U16 rxHighestDataRate; - - /* Indicates the Maximum MCS that can be received for each number - * of spacial streams */ - tANI_U16 vhtRxMCSMap; - - /*Indicate the highest VHT data rate that the STA is able to receive*/ - tANI_U16 vhtRxHighestDataRate; - - /* Indicates the Maximum MCS that can be transmitted for each number - * of spacial streams */ - tANI_U16 vhtTxMCSMap; - - /*Indicate the highest VHT data rate that the STA is able to transmit*/ - tANI_U16 vhtTxHighestDataRate; - -} tSirSupportedRates_V1, *tpSirSupportedRates_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - /*BSSID of STA*/ - tSirMacAddr bssId; - - /*ASSOC ID, as assigned by UMAC*/ - tANI_U16 assocId; - - /* STA entry Type: 0 - Self, 1 - Other/Peer, 2 - BSSID, 3 - BCAST */ - tANI_U8 staType; - - /*Short Preamble Supported.*/ - tANI_U8 shortPreambleSupported; - - /*MAC Address of STA*/ - tSirMacAddr staMac; - - /*Listen interval of the STA*/ - tANI_U16 listenInterval; - - /*Support for 11e/WMM*/ - tANI_U8 wmmEnabled; - - /*11n HT capable STA*/ - tANI_U8 htCapable; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*RIFS mode 0 - NA, 1 - Allowed */ - tANI_U8 rifsMode; - - /*L-SIG TXOP Protection mechanism - 0 - No Support, 1 - Supported - SG - there is global field */ - tANI_U8 lsigTxopProtection; - - /*Max Ampdu Size supported by STA. TPE programming. - 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */ - tANI_U8 maxAmpduSize; - - /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/ - tANI_U8 maxAmpduDensity; - - /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/ - tANI_U8 maxAmsduSize; - - /*Short GI support for 40Mhz packets*/ - tANI_U8 fShortGI40Mhz; - - /*Short GI support for 20Mhz packets*/ - tANI_U8 fShortGI20Mhz; - - /*Robust Management Frame (RMF) enabled/disabled*/ - tANI_U8 rmfEnabled; - - /* The unicast encryption type in the association */ - tANI_U32 encryptType; - - /*HAL should update the existing STA entry, if this flag is set. UMAC - will set this flag in case of RE-ASSOC, where we want to reuse the old - STA ID. 0 = Add, 1 = Update*/ - tANI_U8 action; - - /*U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /*Max SP Length*/ - tANI_U8 maxSPLen; - - /*11n Green Field preamble support - 0 - Not supported, 1 - Supported */ - tANI_U8 greenFieldCapable; - - /*MIMO Power Save mode*/ - tSirMacHTMIMOPowerSaveState mimoPS; - - /*Delayed BA Support*/ - tANI_U8 delayedBASupport; - - /*Max AMPDU duration in 32us*/ - tANI_U8 us32MaxAmpduDuration; - - /*HT STA should set it to 1 if it is enabled in BSS. HT STA should set - it to 0 if AP does not support it. This indication is sent to HAL and - HAL uses this flag to pickup up appropriate 40Mhz rates.*/ - tANI_U8 fDsssCckMode40Mhz; - - /* Valid STA Idx when action=Update. Set to 0xFF when invalid! - Retained for backward compalibity with existing HAL code*/ - tANI_U8 staIdx; - - /* BSSID of BSS to which station is associated. Set to 0xFF when invalid. - Retained for backward compalibity with existing HAL code*/ - tANI_U8 bssIdx; - - tANI_U8 p2pCapableSta; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 htLdpcEnabled:1; - tANI_U8 vhtLdpcEnabled:1; - tANI_U8 vhtTxBFEnabled:1; - tANI_U8 reserved:5; - - /*These rates are the intersection of peer and self capabilities.*/ - tSirSupportedRates_V1 supportedRates; - - tANI_U8 vhtCapable; - tANI_U8 vhtTxChannelWidthSet; - -} tConfigStaParams_V1, *tpConfigStaParams_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - PACKED_PRE union PACKED_POST { - tConfigStaParams configStaParams; - tConfigStaParams_V1 configStaParams_V1; - } uStaParams; -} tConfigStaReqMsg, *tpConfigStaReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_STA_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Station index; valid only when 'status' field value SUCCESS */ - tANI_U8 staIdx; - - /* BSSID Index of BSS to which the station is associated */ - tANI_U8 bssIdx; - - /* DPU Index for PTK */ - tANI_U8 dpuIndex; - - /* DPU Index for GTK */ - tANI_U8 bcastDpuIndex; - - /*DPU Index for IGTK */ - tANI_U8 bcastMgmtDpuIdx; - - /*PTK DPU signature*/ - tANI_U8 ucUcastSig; - - /*GTK DPU isignature*/ - tANI_U8 ucBcastSig; - - /* IGTK DPU signature*/ - tANI_U8 ucMgmtSig; - - tANI_U8 p2pCapableSta; - -}tConfigStaRspParams, *tpConfigStaRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tConfigStaRspParams configStaRspParams; -}tConfigStaRspMsg, *tpConfigStaRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_STA_REQ ----------------------------------------------------------------------------*/ - -/* Delete STA Request params */ -typedef PACKED_PRE struct PACKED_POST -{ - /* Index of STA to delete */ - tANI_U8 staIdx; -} tDeleteStaParams, *tpDeleteStaParams; - -/* Delete STA Request message*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteStaParams delStaParams; -} tDeleteStaReqMsg, *tpDeleteStaReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_STA_RSP ----------------------------------------------------------------------------*/ - -/* Delete STA Response Params */ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Index of STA deleted */ - tANI_U8 staId; -} tDeleteStaRspParams, *tpDeleteStaRspParams; - -/* Delete STA Response message*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteStaRspParams delStaRspParams; -} tDeleteStaRspMsg, *tpDeleteStaRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_BSS_REQ ----------------------------------------------------------------------------*/ - -//12 Bytes long because this structure can be used to represent rate -//and extended rate set IEs. The parser assume this to be at least 12 -typedef __ani_attr_pre_packed struct sSirMacRateSet -{ - tANI_U8 numRates; - tANI_U8 rate[SIR_MAC_RATESET_EID_MAX]; -} __ani_attr_packed tSirMacRateSet; - -// access category record -typedef __ani_attr_pre_packed struct sSirMacAciAifsn -{ -#ifndef ANI_LITTLE_BIT_ENDIAN - tANI_U8 rsvd : 1; - tANI_U8 aci : 2; - tANI_U8 acm : 1; - tANI_U8 aifsn : 4; -#else - tANI_U8 aifsn : 4; - tANI_U8 acm : 1; - tANI_U8 aci : 2; - tANI_U8 rsvd : 1; -#endif -} __ani_attr_packed tSirMacAciAifsn; - -// contention window size -typedef __ani_attr_pre_packed struct sSirMacCW -{ -#ifndef ANI_LITTLE_BIT_ENDIAN - tANI_U8 max : 4; - tANI_U8 min : 4; -#else - tANI_U8 min : 4; - tANI_U8 max : 4; -#endif -} __ani_attr_packed tSirMacCW; - -typedef __ani_attr_pre_packed struct sSirMacEdcaParamRecord -{ - tSirMacAciAifsn aci; - tSirMacCW cw; - tANI_U16 txoplimit; -} __ani_attr_packed tSirMacEdcaParamRecord; - -typedef __ani_attr_pre_packed struct sSirMacSSid -{ - tANI_U8 length; - tANI_U8 ssId[32]; -} __ani_attr_packed tSirMacSSid; - -// Concurrency role. These are generic IDs that identify the various roles -// in the software system. -typedef enum { - HAL_STA_MODE=0, - HAL_STA_SAP_MODE=1, // to support softAp mode . This is misleading. It means AP MODE only. - HAL_P2P_CLIENT_MODE, - HAL_P2P_GO_MODE, - HAL_MONITOR_MODE, -} tHalConMode; - -//This is a bit pattern to be set for each mode -//bit 0 - sta mode -//bit 1 - ap mode -//bit 2 - p2p client mode -//bit 3 - p2p go mode -typedef enum -{ - HAL_STA=1, - HAL_SAP=2, - HAL_STA_SAP=3, //to support sta, softAp mode . This means STA+AP mode - HAL_P2P_CLIENT=4, - HAL_P2P_GO=8, - HAL_MAX_CONCURRENCY_PERSONA=4 -} tHalConcurrencyMode; - -// IFACE PERSONA for different Operating modes -typedef enum -{ - HAL_IFACE_UNKNOWN, - HAL_IFACE_STA_MODE, - HAL_IFACE_P2P_MODE, - HAL_IFACE_MAX -} tHalIfacePersona; - -typedef PACKED_PRE struct PACKED_POST -{ - /* BSSID */ - tSirMacAddr bssId; - - /* Self Mac Address */ - tSirMacAddr selfMacAddr; - - /* BSS type */ - tSirBssType bssType; - - /*Operational Mode: AP =0, STA = 1*/ - tANI_U8 operMode; - - /*Network Type*/ - tSirNwType nwType; - - /*Used to classify PURE_11G/11G_MIXED to program MTU*/ - tANI_U8 shortSlotTimeSupported; - - /*Co-exist with 11a STA*/ - tANI_U8 llaCoexist; - - /*Co-exist with 11b STA*/ - tANI_U8 llbCoexist; - - /*Co-exist with 11g STA*/ - tANI_U8 llgCoexist; - - /*Coexistence with 11n STA*/ - tANI_U8 ht20Coexist; - - /*Non GF coexist flag*/ - tANI_U8 llnNonGFCoexist; - - /*TXOP protection support*/ - tANI_U8 fLsigTXOPProtectionFullSupport; - - /*RIFS mode*/ - tANI_U8 fRIFSMode; - - /*Beacon Interval in TU*/ - tSirMacBeaconInterval beaconInterval; - - /*DTIM period*/ - tANI_U8 dtimPeriod; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*Operating channel*/ - tANI_U8 currentOperChannel; - - /*Extension channel for channel bonding*/ - tANI_U8 currentExtChannel; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 reserved; - - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*HAL should update the existing BSS entry, if this flag is set. - UMAC will set this flag in case of reassoc, where we want to resue the - the old BSSID and still return success 0 = Add, 1 = Update*/ - tANI_U8 action; - - /* MAC Rate Set */ - tSirMacRateSet rateSet; - - /*Enable/Disable HT capabilities of the BSS*/ - tANI_U8 htCapable; - - // Enable/Disable OBSS protection - tANI_U8 obssProtEnabled; - - /*RMF enabled/disabled*/ - tANI_U8 rmfEnabled; - - /*HT Operating Mode operating mode of the 802.11n STA*/ - tSirMacHTOperatingMode htOperMode; - - /*Dual CTS Protection: 0 - Unused, 1 - Used*/ - tANI_U8 dualCTSProtection; - - /* Probe Response Max retries */ - tANI_U8 ucMaxProbeRespRetryLimit; - - /* To Enable Hidden ssid */ - tANI_U8 bHiddenSSIDEn; - - /* To Enable Disable FW Proxy Probe Resp */ - tANI_U8 bProxyProbeRespEn; - - /* Boolean to indicate if EDCA params are valid. UMAC might not have valid - EDCA params or might not desire to apply EDCA params during config BSS. - 0 implies Not Valid ; Non-Zero implies valid*/ - tANI_U8 edcaParamsValid; - - /*EDCA Parameters for Best Effort Access Category*/ - tSirMacEdcaParamRecord acbe; - - /*EDCA Parameters forBackground Access Category*/ - tSirMacEdcaParamRecord acbk; - - /*EDCA Parameters for Video Access Category*/ - tSirMacEdcaParamRecord acvi; - - /*EDCA Parameters for Voice Access Category*/ - tSirMacEdcaParamRecord acvo; - -#ifdef WLAN_FEATURE_VOWIFI_11R - tANI_U8 extSetStaKeyParamValid; //Ext Bss Config Msg if set - tSetStaKeyParams extSetStaKeyParam; //SetStaKeyParams for ext bss msg -#endif - - /* Persona for the BSS can be STA,AP,GO,CLIENT value same as tHalConMode */ - tANI_U8 halPersona; - - tANI_U8 bSpectrumMgtEnable; - - /*HAL fills in the tx power used for mgmt frames in txMgmtPower*/ - tANI_S8 txMgmtPower; - /*maxTxPower has max power to be used after applying the power constraint if any */ - tANI_S8 maxTxPower; - /*Context of the station being added in HW - Add a STA entry for "itself" - - On AP - Add the AP itself in an "STA context" - On STA - Add the AP to which this STA is joining in an "STA context" */ - tConfigStaParams staContext; -} tConfigBssParams, * tpConfigBssParams; - - -/*-------------------------------------------------------------------------- - * WLAN_HAL_CONFIG_BSS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* BSSID */ - tSirMacAddr bssId; - - /* Self Mac Address */ - tSirMacAddr selfMacAddr; - - /* BSS type */ - tSirBssType bssType; - - /*Operational Mode: AP =0, STA = 1*/ - tANI_U8 operMode; - - /*Network Type*/ - tSirNwType nwType; - - /*Used to classify PURE_11G/11G_MIXED to program MTU*/ - tANI_U8 shortSlotTimeSupported; - - /*Co-exist with 11a STA*/ - tANI_U8 llaCoexist; - - /*Co-exist with 11b STA*/ - tANI_U8 llbCoexist; - - /*Co-exist with 11g STA*/ - tANI_U8 llgCoexist; - - /*Coexistence with 11n STA*/ - tANI_U8 ht20Coexist; - - /*Non GF coexist flag*/ - tANI_U8 llnNonGFCoexist; - - /*TXOP protection support*/ - tANI_U8 fLsigTXOPProtectionFullSupport; - /*RIFS mode*/ - tANI_U8 fRIFSMode; - - /*Beacon Interval in TU*/ - tSirMacBeaconInterval beaconInterval; - - /*DTIM period*/ - tANI_U8 dtimPeriod; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*Operating channel*/ - tANI_U8 currentOperChannel; - - /*Extension channel for channel bonding*/ - tANI_U8 currentExtChannel; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 reserved; - - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*HAL should update the existing BSS entry, if this flag is set. - UMAC will set this flag in case of reassoc, where we want to resue the - the old BSSID and still return success 0 = Add, 1 = Update*/ - tANI_U8 action; - - /* MAC Rate Set */ - tSirMacRateSet rateSet; - - /*Enable/Disable HT capabilities of the BSS*/ - tANI_U8 htCapable; - - // Enable/Disable OBSS protection - tANI_U8 obssProtEnabled; - - /*RMF enabled/disabled*/ - tANI_U8 rmfEnabled; - - /*HT Operating Mode operating mode of the 802.11n STA*/ - tSirMacHTOperatingMode htOperMode; - - /*Dual CTS Protection: 0 - Unused, 1 - Used*/ - tANI_U8 dualCTSProtection; - - /* Probe Response Max retries */ - tANI_U8 ucMaxProbeRespRetryLimit; - - /* To Enable Hidden ssid */ - tANI_U8 bHiddenSSIDEn; - - /* To Enable Disable FW Proxy Probe Resp */ - tANI_U8 bProxyProbeRespEn; - - /* Boolean to indicate if EDCA params are valid. UMAC might not have valid - EDCA params or might not desire to apply EDCA params during config BSS. - 0 implies Not Valid ; Non-Zero implies valid*/ - tANI_U8 edcaParamsValid; - - /*EDCA Parameters for Best Effort Access Category*/ - tSirMacEdcaParamRecord acbe; - - /*EDCA Parameters forBackground Access Category*/ - tSirMacEdcaParamRecord acbk; - - /*EDCA Parameters for Video Access Category*/ - tSirMacEdcaParamRecord acvi; - - /*EDCA Parameters for Voice Access Category*/ - tSirMacEdcaParamRecord acvo; - -#ifdef WLAN_FEATURE_VOWIFI_11R - tANI_U8 extSetStaKeyParamValid; //Ext Bss Config Msg if set - tSetStaKeyParams extSetStaKeyParam; //SetStaKeyParams for ext bss msg -#endif - - /* Persona for the BSS can be STA,AP,GO,CLIENT value same as tHalConMode */ - tANI_U8 halPersona; - - tANI_U8 bSpectrumMgtEnable; - - /*HAL fills in the tx power used for mgmt frames in txMgmtPower*/ - tANI_S8 txMgmtPower; - /*maxTxPower has max power to be used after applying the power constraint if any */ - tANI_S8 maxTxPower; - /*Context of the station being added in HW - Add a STA entry for "itself" - - On AP - Add the AP itself in an "STA context" - On STA - Add the AP to which this STA is joining in an "STA context" */ - tConfigStaParams_V1 staContext; - - tANI_U8 vhtCapable; - tANI_U8 vhtTxChannelWidthSet; -} tConfigBssParams_V1, * tpConfigBssParams_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - PACKED_PRE union PACKED_POST { - tConfigBssParams configBssParams; - tConfigBssParams_V1 configBssParams_V1; - }uBssParams; -} tConfigBssReqMsg, *tpConfigBssReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_BSS_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - - /* BSS index allocated by HAL */ - tANI_U8 bssIdx; - - /* DPU descriptor index for PTK */ - tANI_U8 dpuDescIndx; - - /* PTK DPU signature */ - tANI_U8 ucastDpuSignature; - - /* DPU descriptor index for GTK*/ - tANI_U8 bcastDpuDescIndx; - - /* GTK DPU signature */ - tANI_U8 bcastDpuSignature; - - /*DPU descriptor for IGTK*/ - tANI_U8 mgmtDpuDescIndx; - - /* IGTK DPU signature */ - tANI_U8 mgmtDpuSignature; - - /* Station Index for BSS entry*/ - tANI_U8 bssStaIdx; - - /* Self station index for this BSS */ - tANI_U8 bssSelfStaIdx; - - /* Bcast station for buffering bcast frames in AP role */ - tANI_U8 bssBcastStaIdx; - - /*MAC Address of STA(PEER/SELF) in staContext of configBSSReq*/ - tSirMacAddr staMac; - - /*HAL fills in the tx power used for mgmt frames in this field. */ - tANI_S8 txMgmtPower; - -} tConfigBssRspParams, * tpConfigBssRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tConfigBssRspParams configBssRspParams; -} tConfigBssRspMsg, *tpConfigBssRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_BSS_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* BSS index to be deleted */ - tANI_U8 bssIdx; - -} tDeleteBssParams, *tpDeleteBssParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteBssParams deleteBssParams; -} tDeleteBssReqMsg, *tpDeleteBssReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_BSS_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - - /* BSS index that has been deleted */ - tANI_U8 bssIdx; - -} tDeleteBssRspParams, *tpDeleteBssRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteBssRspParams deleteBssRspParams; -} tDeleteBssRspMsg, *tpDeleteBssRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_JOIN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the BSSID to which STA is going to associate*/ - tSirMacAddr bssId; - - /*Indicates the channel to switch to.*/ - tANI_U8 ucChannel; - - /* Self STA MAC */ - tSirMacAddr selfStaMacAddr; - - /*Local power constraint*/ - tANI_U8 ucLocalPowerConstraint; - - /*Secondary channel offset */ - ePhyChanBondState secondaryChannelOffset; - - /*link State*/ - tSirLinkState linkState; - - /* Max TX power */ - tANI_S8 maxTxPower; - -} tHalJoinReqParams, *tpHalJoinReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalJoinReqParams joinReqParams; -} tHalJoinReqMsg, *tpHalJoinReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_JOIN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* HAL fills in the tx power used for mgmt frames in this field */ - tPowerdBm txMgmtPower; - -}tHalJoinRspParams, *tpHalJoinRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalJoinRspParams joinRspParams; -}tHalJoinRspMsg, *tpHalJoinRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_POST_ASSOC_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tConfigStaParams configStaParams; - tConfigBssParams configBssParams; -} tPostAssocReqParams, *tpPostAssocReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPostAssocReqParams postAssocReqParams; -} tPostAssocReqMsg, *tpPostAssocReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_POST_ASSOC_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tConfigStaRspParams configStaRspParams; - tConfigBssRspParams configBssRspParams; -} tPostAssocRspParams, *tpPostAssocRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPostAssocRspParams postAssocRspParams; -} tPostAssocRspMsg, *tpPostAssocRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_BSSKEY_REQ ----------------------------------------------------------------------------*/ - -/* - * This is used by PE to create a set of WEP keys for a given BSS. - */ -typedef PACKED_PRE struct PACKED_POST -{ - /*BSS Index of the BSS*/ - tANI_U8 bssIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*Number of keys*/ - tANI_U8 numKeys; - - /*Array of keys.*/ - tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS]; - - /*Control for Replay Count, 1= Single TID based replay count on Tx - 0 = Per TID based replay count on TX */ - tANI_U8 singleTidRc; -} tSetBssKeyParams, *tpSetBssKeyParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetBssKeyParams setBssKeyParams; -} tSetBssKeyReqMsg, *tpSetBssKeyReqMsg; - -/* tagged version of set bss key */ -typedef PACKED_PRE struct PACKED_POST -{ - tSetBssKeyReqMsg Msg; - uint32 Tag; -} tSetBssKeyReqMsgTagged; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_BSSKEY_RSP ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -} tSetBssKeyRspParams, *tpSetBssKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetBssKeyRspParams setBssKeyRspParams; -} tSetBssKeyRspMsg, *tpSetBssKeyRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_STAKEY_REQ, ----------------------------------------------------------------------------*/ - -/* - * This is used by PE to configure the key information on a given station. - * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate - * a preconfigured key from a BSS the station assoicated with; otherwise - * a new key descriptor is created based on the key field. - */ - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetStaKeyParams setStaKeyParams; -} tSetStaKeyReqMsg, *tpSetStaKeyReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_STAKEY_RSP, ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -} tSetStaKeyRspParams, *tpSetStaKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetStaKeyRspParams setStaKeyRspParams; -} tSetStaKeyRspMsg, *tpSetStaKeyRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_BSSKEY_REQ, ----------------------------------------------------------------------------*/ -/* - * This is used by PE to remove keys for a given BSS. - */ -typedef PACKED_PRE struct PACKED_POST - -{ - /*BSS Index of the BSS*/ - tANI_U8 bssIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*Key Id*/ - tANI_U8 keyId; - - /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic keys*/ - tAniWepType wepType; - -} tRemoveBssKeyParams, *tpRemoveBssKeyParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveBssKeyParams removeBssKeyParams; -} tRemoveBssKeyReqMsg, *tpRemoveBssKeyReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_BSSKEY_RSP, ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -} tRemoveBssKeyRspParams, *tpRemoveBssKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveBssKeyRspParams removeBssKeyRspParams; -} tRemoveBssKeyRspMsg, *tpRemoveBssKeyRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_STAKEY_REQ, ----------------------------------------------------------------------------*/ -/* - * This is used by PE to Remove the key information on a given station. - */ -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*Key Id*/ - tANI_U8 keyId; - - /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP, - the same key is used for both broadcast and unicast.*/ - tANI_BOOLEAN unicast; - -} tRemoveStaKeyParams, *tpRemoveStaKeyParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveStaKeyParams removeStaKeyParams; -} tRemoveStaKeyReqMsg, *tpRemoveStaKeyReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_STAKEY_RSP, ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tRemoveStaKeyRspParams, *tpRemoveStaKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveStaKeyRspParams removeStaKeyRspParams; -} tRemoveStaKeyRspMsg, *tpRemoveStaKeyRspMsg; - -#ifdef FEATURE_OEM_DATA_SUPPORT - -#ifndef OEM_DATA_REQ_SIZE -#ifdef QCA_WIFI_2_0 -#define OEM_DATA_REQ_SIZE 276 -#else -#define OEM_DATA_REQ_SIZE 134 -#endif -#endif - -#ifndef OEM_DATA_RSP_SIZE -#ifdef QCA_WIFI_2_0 -#define OEM_DATA_RSP_SIZE 1720 -#else -#define OEM_DATA_RSP_SIZE 1968 -#endif -#endif - -/*------------------------------------------------------------------------- -WLAN_HAL_START_OEM_DATA_REQ ---------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - tSirMacAddr selfMacAddr; - tANI_U8 oemDataReq[OEM_DATA_REQ_SIZE]; -} tStartOemDataReqParams, *tpStartOemDataReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tStartOemDataReqParams startOemDataReqParams; -} tStartOemDataReqMsg, *tpStartOemDataReqMsg; - -/*------------------------------------------------------------------------- -WLAN_HAL_START_OEM_DATA_RSP ---------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 oemDataRsp[OEM_DATA_RSP_SIZE]; -} tStartOemDataRspParams, *tpStartOemDataRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tStartOemDataRspParams startOemDataRspParams; -} tStartOemDataRspMsg, *tpStartOemDataRspMsg; - -#endif - - - -/*--------------------------------------------------------------------------- -WLAN_HAL_CH_SWITCH_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Channel number */ - tANI_U8 channelNumber; - - /* Local power constraint */ - tANI_U8 localPowerConstraint; - - /*Secondary channel offset */ - ePhyChanBondState secondaryChannelOffset; - - //HAL fills in the tx power used for mgmt frames in this field. - tPowerdBm txMgmtPower; - - /* Max TX power */ - tPowerdBm maxTxPower; - - /* Self STA MAC */ - tSirMacAddr selfStaMacAddr; - - /*VO WIFI comment: BSSID needed to identify session. As the request has power constraints, - this should be applied only to that session*/ - /* Since MTU timing and EDCA are sessionized, this struct needs to be sessionized and - * bssid needs to be out of the VOWifi feature flag */ - /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility - * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct - */ - tSirMacAddr bssId; - -}tSwitchChannelParams, *tpSwitchChannelParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSwitchChannelParams switchChannelParams; -} tSwitchChannelReqMsg, *tpSwitchChannelReqMsg; - -/*--------------------------------------------------------------------------- -WLAN_HAL_CH_SWITCH_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Status */ - tANI_U32 status; - - /* Channel number - same as in request*/ - tANI_U8 channelNumber; - - /* HAL fills in the tx power used for mgmt frames in this field */ - tPowerdBm txMgmtPower; - - /* BSSID needed to identify session - same as in request*/ - tSirMacAddr bssId; - -}tSwitchChannelRspParams, *tpSwitchChannelRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSwitchChannelRspParams switchChannelRspParams; -} tSwitchChannelRspMsg, *tpSwitchChannelRspMsg; - -/*--------------------------------------------------------------------------- -WLAN_HAL_UPD_EDCA_PARAMS_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*BSS Index*/ - tANI_U16 bssIdx; - - /* Best Effort */ - tSirMacEdcaParamRecord acbe; - - /* Background */ - tSirMacEdcaParamRecord acbk; - - /* Video */ - tSirMacEdcaParamRecord acvi; - - /* Voice */ - tSirMacEdcaParamRecord acvo; - -} tEdcaParams, *tpEdcaParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEdcaParams edcaParams; -} tUpdateEdcaParamsReqMsg, *tpUpdateEdcaParamsReqMsg; - -/*--------------------------------------------------------------------------- -WLAN_HAL_UPD_EDCA_PARAMS_RSP ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tEdcaRspParams, *tpEdcaRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEdcaRspParams edcaRspParams; -} tUpdateEdcaParamsRspMsg, *tpUpdateEdcaParamsRspMsg; - - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_STATS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST - -{ - /* Index of STA to which the statistics */ - tANI_U16 staIdx; - - /* Encryption mode */ - tANI_U8 encMode; - - /* status */ - tANI_U32 status; - - /* Statistics */ - tANI_U32 sendBlocks; - tANI_U32 recvBlocks; - tANI_U32 replays; - tANI_U8 micErrorCnt; - tANI_U32 protExclCnt; - tANI_U16 formatErrCnt; - tANI_U16 unDecryptableCnt; - tANI_U32 decryptErrCnt; - tANI_U32 decryptOkCnt; -} tDpuStatsParams, * tpDpuStatsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Valid STA Idx for per STA stats request */ - tANI_U32 staId; - - /* Categories of stats requested as specified in eHalStatsMask*/ - tANI_U32 statsMask; -}tHalStatsReqParams, *tpHalStatsReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStatsReqParams statsReqParams; -} tHalStatsReqMsg, *tpHalStatsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_STATS_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 retry_cnt[4]; //Total number of packets(per AC) that were successfully transmitted with retries - tANI_U32 multiple_retry_cnt[4]; //The number of MSDU packets and MMPDU frames per AC that the 802.11 - // station successfully transmitted after more than one retransmission attempt - - tANI_U32 tx_frm_cnt[4]; //Total number of packets(per AC) that were successfully transmitted - //(with and without retries, including multi-cast, broadcast) - tANI_U32 rx_frm_cnt; //Total number of packets that were successfully received - //(after appropriate filter rules including multi-cast, broadcast) - tANI_U32 frm_dup_cnt; //Total number of duplicate frames received successfully - tANI_U32 fail_cnt[4]; //Total number packets(per AC) failed to transmit - tANI_U32 rts_fail_cnt; //Total number of RTS/CTS sequence failures for transmission of a packet - tANI_U32 ack_fail_cnt; //Total number packets failed transmit because of no ACK from the remote entity - tANI_U32 rts_succ_cnt; //Total number of RTS/CTS sequence success for transmission of a packet - tANI_U32 rx_discard_cnt; //The sum of the receive error count and dropped-receive-buffer error count. - //HAL will provide this as a sum of (FCS error) + (Fail get BD/PDU in HW) - tANI_U32 rx_error_cnt; //The receive error count. HAL will provide the RxP FCS error global counter. - tANI_U32 tx_byte_cnt; //The sum of the transmit-directed byte count, transmit-multicast byte count - //and transmit-broadcast byte count. HAL will sum TPE UC/MC/BCAST global counters - //to provide this. -}tAniSummaryStatsInfo, *tpAniSummaryStatsInfo; - - -// defines tx_rate_flags -typedef enum eTxRateInfo -{ - eHAL_TX_RATE_LEGACY = 0x1, /* Legacy rates */ - eHAL_TX_RATE_HT20 = 0x2, /* HT20 rates */ - eHAL_TX_RATE_HT40 = 0x4, /* HT40 rates */ - eHAL_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */ - eHAL_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */ - eHAL_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */ - eHAL_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */ - eHAL_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */ - eHAL_TX_RATE_VIRT = 0x100, /* Virtual Rate */ - eHAL_TX_RATE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tTxrateinfoflags, tTxRateInfoFlags; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets - //or MMPDU frames - tANI_U32 promiscuous_rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets - //or MMPDU frames when a promiscuous packet filter was enabled - tANI_U32 rx_input_sensitivity; //The receiver input sensitivity referenced to a FER of 8% at an MPDU length - //of 1024 bytes at the antenna connector. Each element of the array shall correspond - //to a supported rate and the order shall be the same as the supporteRates parameter. - tANI_U32 max_pwr; //The maximum transmit power in dBm upto one decimal. - //for eg: if it is 10.5dBm, the value would be 105 - tANI_U32 sync_fail_cnt; //Number of times the receiver failed to synchronize with the incoming signal - //after detecting the sync in the preamble of the transmitted PLCP protocol data unit. - - tANI_U32 tx_rate; //Legacy transmit rate, in units of 500 kbit/sec, for the most - //recently transmitted frame - tANI_U32 mcs_index; //mcs index for HT20 and HT40 rates - tANI_U32 tx_rate_flags; //to differentiate between HT20 and - //HT40 rates; short and long guard interval -}tAniGlobalClassAStatsInfo, *tpAniGlobalClassAStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 rx_wep_unencrypted_frm_cnt; //The number of unencrypted received MPDU frames that the MAC layer discarded when - //the IEEE 802.11 dot11ExcludeUnencrypted management information base (MIB) object - //is enabled - tANI_U32 rx_mic_fail_cnt; //The number of received MSDU packets that that the 802.11 station discarded - //because of MIC failures - tANI_U32 tkip_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt - //because of a TKIP ICV error - tANI_U32 aes_ccmp_format_err; //The number of received MPDU frames that the 802.11 discarded because of an - //invalid AES-CCMP format - tANI_U32 aes_ccmp_replay_cnt; //The number of received MPDU frames that the 802.11 station discarded because of - //the AES-CCMP replay protection procedure - tANI_U32 aes_ccmp_decrpt_err; //The number of received MPDU frames that the 802.11 station discarded because of - //errors detected by the AES-CCMP decryption algorithm - tANI_U32 wep_undecryptable_cnt; //The number of encrypted MPDU frames received for which a WEP decryption key was - //not available on the 802.11 station - tANI_U32 wep_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt - //because of a WEP ICV error - tANI_U32 rx_decrypt_succ_cnt; //The number of received encrypted packets that the 802.11 station successfully - //decrypted - tANI_U32 rx_decrypt_fail_cnt; //The number of encrypted packets that the 802.11 station failed to decrypt - -}tAniGlobalSecurityStats, *tpAniGlobalSecurityStats; - -typedef PACKED_PRE struct PACKED_POST -{ - tAniGlobalSecurityStats ucStats; - tAniGlobalSecurityStats mcbcStats; -}tAniGlobalClassBStatsInfo, *tpAniGlobalClassBStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 rx_amsdu_cnt; //This counter shall be incremented for a received A-MSDU frame with the stations - //MAC address in the address 1 field or an A-MSDU frame with a group address in the - //address 1 field - tANI_U32 rx_ampdu_cnt; //This counter shall be incremented when the MAC receives an AMPDU from the PHY - tANI_U32 tx_20_frm_cnt; //This counter shall be incremented when a Frame is transmitted only on the - //primary channel - tANI_U32 rx_20_frm_cnt; //This counter shall be incremented when a Frame is received only on the primary channel - tANI_U32 rx_mpdu_in_ampdu_cnt; //This counter shall be incremented by the number of MPDUs received in the A-MPDU - //when an A-MPDU is received - tANI_U32 ampdu_delimiter_crc_err; //This counter shall be incremented when an MPDU delimiter has a CRC error when this - //is the first CRC error in the received AMPDU or when the previous delimiter has been - //decoded correctly -}tAniGlobalClassCStatsInfo, *tpAniGlobalClassCStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 tx_frag_cnt[4]; //The number of MPDU frames that the 802.11 station transmitted and acknowledged - //through a received 802.11 ACK frame - tANI_U32 tx_ampdu_cnt; //This counter shall be incremented when an A-MPDU is transmitted - tANI_U32 tx_mpdu_in_ampdu_cnt; //This counter shall increment by the number of MPDUs in the AMPDU when an A-MPDU - //is transmitted -}tAniPerStaStatsInfo, *tpAniPerStaStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - - /* STA Idx */ - tANI_U32 staId; - - /* Categories of STATS being returned as per eHalStatsMask*/ - tANI_U32 statsMask; - - /* message type is same as the request type */ - tANI_U16 msgType; - - /* length of the entire request, includes the pStatsBuf length too */ - tANI_U16 msgLen; - -} tHalStatsRspParams, *tpHalStatsRspParams; - - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStatsRspParams statsRspParams; -} tHalStatsRspMsg, *tpHalStatsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_LINK_ST_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr bssid; - tSirLinkState state; - tSirMacAddr selfMacAddr; -} tLinkStateParams, *tpLinkStateParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tLinkStateParams linkStateParams; -} tSetLinkStateReqMsg, *tpSetLinkStateReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_LINK_ST_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tLinkStateRspParams, *tpLinkStateRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tLinkStateRspParams linkStateRspParams; -} tSetLinkStateRspMsg, *tpSetLinkStateRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_TS_REQ - *--------------------------------------------------------------------------*/ - -/* TSPEC Params */ -typedef __ani_attr_pre_packed struct sSirMacTSInfoTfc -{ - tANI_U16 trafficType : 1; - tANI_U16 tsid : 4; - tANI_U16 direction : 2; - tANI_U16 accessPolicy : 2; - tANI_U16 aggregation : 1; - tANI_U16 psb : 1; - tANI_U16 userPrio : 3; - tANI_U16 ackPolicy : 2; -} __ani_attr_packed tSirMacTSInfoTfc; - -/* Flag to schedule the traffic type */ -typedef __ani_attr_pre_packed struct sSirMacTSInfoSch -{ - tANI_U8 schedule : 1; - tANI_U8 rsvd : 7; -} __ani_attr_packed tSirMacTSInfoSch; - -/* Traffic and scheduling info */ -typedef __ani_attr_pre_packed struct sSirMacTSInfo -{ - tSirMacTSInfoTfc traffic; - tSirMacTSInfoSch schedule; -} __ani_attr_packed tSirMacTSInfo; - -/* Information elements */ -typedef __ani_attr_pre_packed struct sSirMacTspecIE -{ - tANI_U8 type; - tANI_U8 length; - tSirMacTSInfo tsinfo; - tANI_U16 nomMsduSz; - tANI_U16 maxMsduSz; - tANI_U32 minSvcInterval; - tANI_U32 maxSvcInterval; - tANI_U32 inactInterval; - tANI_U32 suspendInterval; - tANI_U32 svcStartTime; - tANI_U32 minDataRate; - tANI_U32 meanDataRate; - tANI_U32 peakDataRate; - tANI_U32 maxBurstSz; - tANI_U32 delayBound; - tANI_U32 minPhyRate; - tANI_U16 surplusBw; - tANI_U16 mediumTime; -}__ani_attr_packed tSirMacTspecIE; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TSPEC handler uniquely identifying a TSPEC for a STA in a BSS */ - tANI_U16 tspecIdx; - - /* To program TPE with required parameters */ - tSirMacTspecIE tspec; - - /* U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /* These parameters are for all the access categories */ - tANI_U32 srvInterval[WLAN_HAL_MAX_AC]; // Service Interval - tANI_U32 susInterval[WLAN_HAL_MAX_AC]; // Suspend Interval - tANI_U32 delayInterval[WLAN_HAL_MAX_AC]; // Delay Interval - -} tAddTsParams, *tpAddTsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddTsParams addTsParams; -} tAddTsReqMsg, *tpAddTsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_TS_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tAddTsRspParams, *tpAddTsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddTsRspParams addTsRspParams; -} tAddTsRspMsg, *tpAddTsRspMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_TS_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TSPEC identifier uniquely identifying a TSPEC for a STA in a BSS */ - tANI_U16 tspecIdx; - - /* To lookup station id using the mac address */ - tSirMacAddr bssId; - -} tDelTsParams, *tpDelTsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelTsParams delTsParams; -} tDelTsReqMsg, *tpDelTsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_TS_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tDelTsRspParams, *tpDelTsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelTsRspParams delTsRspParams; -} tDelTsRspMsg, *tpDelTsRspMsg; - -/* End of TSpec Parameters */ - -/* Start of BLOCK ACK related Parameters */ - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_SESSION_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* Peer MAC Address */ - tSirMacAddr peerMacAddr; - - /* ADDBA Action Frame dialog token - HAL will not interpret this object */ - tANI_U8 baDialogToken; - - /* TID for which the BA is being setup - This identifies the TC or TS of interest */ - tANI_U8 baTID; - - /* 0 - Delayed BA (Not supported) - 1 - Immediate BA */ - tANI_U8 baPolicy; - - /* Indicates the number of buffers for this TID (baTID) - NOTE - This is the requested buffer size. When this - is processed by HAL and subsequently by HDD, it is - possible that HDD may change this buffer size. Any - change in the buffer size should be noted by PE and - advertized appropriately in the ADDBA response */ - tANI_U16 baBufferSize; - - /* BA timeout in TU's 0 means no timeout will occur */ - tANI_U16 baTimeout; - - /* b0..b3 - Fragment Number - Always set to 0 - b4..b15 - Starting Sequence Number of first MSDU - for which this BA is setup */ - tANI_U16 baSSN; - - /* ADDBA direction - 1 - Originator - 0 - Recipient */ - tANI_U8 baDirection; -} tAddBASessionParams, *tpAddBASessionParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBASessionParams addBASessionParams; -}tAddBASessionReqMsg, *tpAddBASessionReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_SESSION_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Dialog token */ - tANI_U8 baDialogToken; - - /* TID for which the BA session has been setup */ - tANI_U8 baTID; - - /* BA Buffer Size allocated for the current BA session */ - tANI_U8 baBufferSize; - - tANI_U8 baSessionID; - - /* Reordering Window buffer */ - tANI_U8 winSize; - - /*Station Index to id the sta */ - tANI_U8 STAID; - - /* Starting Sequence Number */ - tANI_U16 SSN; -} tAddBASessionRspParams, *tpAddBASessionRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBASessionRspParams addBASessionRspParams; -} tAddBASessionRspMsg, *tpAddBASessionRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Session Id */ - tANI_U8 baSessionID; - - /* Reorder Window Size */ - tANI_U8 winSize; - -#ifdef FEATURE_ON_CHIP_REORDERING - tANI_BOOLEAN isReorderingDoneOnChip; -#endif -} tAddBAParams, *tpAddBAParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBAParams addBAParams; -} tAddBAReqMsg, *tpAddBAReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Dialog token */ - tANI_U8 baDialogToken; - -} tAddBARspParams, *tpAddBARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBARspParams addBARspParams; -} tAddBARspMsg, *tpAddBARspMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TRIGGER_BA_REQ - *--------------------------------------------------------------------------*/ - - -typedef struct sAddBaInfo -{ - tANI_U16 fBaEnable : 1; - tANI_U16 startingSeqNum: 12; - tANI_U16 reserved : 3; -}tAddBaInfo, *tpAddBaInfo; - -typedef struct sTriggerBaRspCandidate -{ - tSirMacAddr staAddr; - tAddBaInfo baInfo[STACFG_MAX_TC]; -}tTriggerBaRspCandidate, *tpTriggerBaRspCandidate; - -typedef struct sTriggerBaCandidate -{ - tANI_U8 staIdx; - tANI_U8 tidBitmap; -}tTriggerBaReqCandidate, *tptTriggerBaReqCandidate; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Session Id */ - tANI_U8 baSessionID; - - /* baCandidateCnt is followed by trigger BA - * Candidate List(tTriggerBaCandidate) - */ - tANI_U16 baCandidateCnt; - -} tTriggerBAParams, *tpTriggerBAParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTriggerBAParams triggerBAParams; -} tTriggerBAReqMsg, *tpTriggerBAReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TRIGGER_BA_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - - /* TO SUPPORT BT-AMP */ - tSirMacAddr bssId; - - /* success or failure */ - tANI_U32 status; - - /* baCandidateCnt is followed by trigger BA - * Rsp Candidate List(tTriggerRspBaCandidate) - */ - tANI_U16 baCandidateCnt; - - -} tTriggerBARspParams, *tpTriggerBARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTriggerBARspParams triggerBARspParams; -} tTriggerBARspMsg, *tpTriggerBARspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_BA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TID for which the BA session is being deleted */ - tANI_U8 baTID; - - /* DELBA direction - 1 - Originator - 0 - Recipient */ - tANI_U8 baDirection; -} tDelBAParams, *tpDelBAParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelBAParams delBAParams; -} tDelBAReqMsg, *tpDelBAReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_BA_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tDelBARspParams, *tpDelBARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelBARspParams delBARspParams; -} tDelBARspMsg, *tpDelBARspMsg; - - -#ifdef FEATURE_WLAN_CCX - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TSM_STATS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Traffic Id */ - tANI_U8 tsmTID; - - tSirMacAddr bssId; -} tTsmStatsParams, *tpTsmStatsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTsmStatsParams tsmStatsParams; -} tTsmStatsReqMsg, *tpTsmStatsReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TSM_STATS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Uplink Packet Queue delay */ - tANI_U16 UplinkPktQueueDly; - - /* Uplink Packet Queue delay histogram */ - tANI_U16 UplinkPktQueueDlyHist[4]; - - /* Uplink Packet Transmit delay */ - tANI_U32 UplinkPktTxDly; - - /* Uplink Packet loss */ - tANI_U16 UplinkPktLoss; - - /* Uplink Packet count */ - tANI_U16 UplinkPktCount; - - /* Roaming count */ - tANI_U8 RoamingCount; - - /* Roaming Delay */ - tANI_U16 RoamingDly; -} tTsmStatsRspParams, *tpTsmStatsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTsmStatsRspParams tsmStatsRspParams; -} tTsmStatsRspMsg, *tpTsmStatsRspMsg; - - -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_KEYDONE_MSG - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*bssid of the keys */ - tANI_U8 bssidx; - tANI_U8 encType; -} tSetKeyDoneParams, *tpSetKeyDoneParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetKeyDoneParams setKeyDoneParams; -} tSetKeyDoneMsg, *tpSetKeyDoneMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DOWNLOAD_NV_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Fragment sequence number of the NV Image. Note that NV Image might not - * fit into one message due to size limitation of the SMD channel FIFO. UMAC - * can hence choose to chop the NV blob into multiple fragments starting with - * seqeunce number 0, 1, 2 etc. The last fragment MUST be indicated by - * marking the isLastFragment field to 1. Note that all the NV blobs would be - * concatenated together by HAL without any padding bytes in between.*/ - tANI_U16 fragNumber; - - /* Is this the last fragment? When set to 1 it indicates that no more fragments - * will be sent by UMAC and HAL can concatenate all the NV blobs rcvd & proceed - * with the parsing. HAL would generate a WLAN_HAL_DOWNLOAD_NV_RSP to the - * WLAN_HAL_DOWNLOAD_NV_REQ after it receives each fragment */ - tANI_U16 isLastFragment; - - /* NV Image size (number of bytes) */ - tANI_U32 nvImgBufferSize; - - /* Following the 'nvImageBufferSize', there should be nvImageBufferSize - * bytes of NV Image i.e. uint8[nvImageBufferSize] */ -} tHalNvImgDownloadReqParams, *tpHalNvImgDownloadReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalNvImgDownloadReqMsg messages should be - * header.msgLen = sizeof(tHalNvImgDownloadReqMsg) + nvImgBufferSize */ - tHalMsgHeader header; - tHalNvImgDownloadReqParams nvImageReqParams; -} tHalNvImgDownloadReqMsg, *tpHalNvImgDownloadReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DOWNLOAD_NV_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure. HAL would generate a WLAN_HAL_DOWNLOAD_NV_RSP - * after each fragment */ - tANI_U32 status; -} tHalNvImgDownloadRspParams, *tpHalNvImgDownloadRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalNvImgDownloadRspParams nvImageRspParams; -} tHalNvImgDownloadRspMsg, *tpHalNvImgDownloadRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STORE_NV_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* NV Item */ - eNvTable tableID; - - /* Size of NV Blob */ - tANI_U32 nvBlobSize; - - /* Following the 'nvBlobSize', there should be nvBlobSize bytes of - * NV blob i.e. uint8[nvBlobSize] */ -} tHalNvStoreParams, *tpHalNvStoreParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalNvStoreInd messages should be - * header.msgLen = sizeof(tHalNvStoreInd) + nvBlobSize */ - tHalMsgHeader header; - tHalNvStoreParams nvStoreParams; -} tHalNvStoreInd, *tpHalNvStoreInd; - -/* End of Block Ack Related Parameters */ - -/*--------------------------------------------------------------------------- - * WLAN_HAL_MIC_FAILURE_IND - *--------------------------------------------------------------------------*/ - -#define SIR_CIPHER_SEQ_CTR_SIZE 6 - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr srcMacAddr; //address used to compute MIC - tSirMacAddr taMacAddr; //transmitter address - tSirMacAddr dstMacAddr; - tANI_U8 multicast; - tANI_U8 IV1; // first byte of IV - tANI_U8 keyId; // second byte of IV - tANI_U8 TSC[SIR_CIPHER_SEQ_CTR_SIZE]; // sequence number - tSirMacAddr rxMacAddr; // receive address -} tSirMicFailureInfo, *tpSirMicFailureInfo; - -/* Definition for MIC failure indication - MAC reports this each time a MIC failure occures on Rx TKIP packet - */ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr bssId; // BSSID - tSirMicFailureInfo info; -} tSirMicFailureInd, *tpSirMicFailureInd; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSirMicFailureInd micFailureInd; -} tMicFailureIndMsg, *tpMicFailureIndMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 opMode; - tANI_U16 staId; -}tUpdateVHTOpMode, *tpUpdateVHTOpMode; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateVHTOpMode updateVhtOpMode; -} tUpdateVhtOpModeReqMsg, *tpUpdateVhtOpModeReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; -} tUpdateVhtOpModeParamsRsp, *tpUpdateVhtOpModeParamsRsp; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateVhtOpModeParamsRsp updateVhtOpModeRspParam; -} tUpdateVhtOpModeParamsRspMsg, *tpUpdateVhtOpModeParamsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_BEACON_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - - tANI_U8 bssIdx; - - //shortPreamble mode. HAL should update all the STA rates when it - //receives this message - tANI_U8 fShortPreamble; - //short Slot time. - tANI_U8 fShortSlotTime; - //Beacon Interval - tANI_U16 beaconInterval; - //Protection related - tANI_U8 llaCoexist; - tANI_U8 llbCoexist; - tANI_U8 llgCoexist; - tANI_U8 ht20MhzCoexist; - tANI_U8 llnNonGFCoexist; - tANI_U8 fLsigTXOPProtectionFullSupport; - tANI_U8 fRIFSMode; - - tANI_U16 paramChangeBitmap; -}tUpdateBeaconParams, *tpUpdateBeaconParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateBeaconParams updateBeaconParam; -} tUpdateBeaconReqMsg, *tpUpdateBeaconReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_BEACON_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; -} tUpdateBeaconRspParams, *tpUpdateBeaconRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateBeaconRspParams updateBeaconRspParam; -} tUpdateBeaconRspMsg, *tpUpdateBeaconRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SEND_BEACON_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 beaconLength; //length of the template. - tANI_U8 beacon[BEACON_TEMPLATE_SIZE]; // Beacon data. - tSirMacAddr bssId; - tANI_U32 timIeOffset; //TIM IE offset from the beginning of the template. - tANI_U16 p2pIeOffset; //P2P IE offset from the begining of the template -}tSendBeaconParams, *tpSendBeaconParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendBeaconParams sendBeaconParam; -}tSendBeaconReqMsg, *tpSendBeaconReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SEND_BEACON_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; -} tSendBeaconRspParams, *tpSendBeaconRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendBeaconRspParams sendBeaconRspParam; -} tSendBeaconRspMsg, *tpSendBeaconRspMsg; - -#ifdef FEATURE_5GHZ_BAND - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENABLE_RADAR_DETECT_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr BSSID; - tANI_U8 channel; -}tSirEnableRadarInfoType, *tptSirEnableRadarInfoType; - - -typedef PACKED_PRE struct PACKED_POST -{ - /* Link Parameters */ - tSirEnableRadarInfoType EnableRadarInfo; -}tEnableRadarReqParams, *tpEnableRadarReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEnableRadarReqParams enableRadarReqParams; -}tEnableRadarReqMsg, *tpEnableRadarReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENABLE_RADAR_DETECT_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Link Parameters */ - tSirMacAddr BSSID; - /* success or failure */ - tANI_U32 status; -}tEnableRadarRspParams, *tpEnableRadarRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEnableRadarRspParams enableRadarRspParams; -}tEnableRadarRspMsg, *tpEnableRadarRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_RADAR_DETECT_INTR_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 radarDetChannel; -}tRadarDetectIntrIndParams, *tpRadarDetectIntrIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRadarDetectIntrIndParams radarDetectIntrIndParams; -}tRadarDetectIntrIndMsg, *tptRadarDetectIntrIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_RADAR_DETECT_IND - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*channel number in which the RADAR detected*/ - tANI_U8 channelNumber; - - /*RADAR pulse width*/ - tANI_U16 radarPulseWidth; // in usecond - - /*Number of RADAR pulses */ - tANI_U16 numRadarPulse; -}tRadarDetectIndParams,*tpRadarDetectIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRadarDetectIndParams radarDetectIndParams; -}tRadarDetectIndMsg, *tptRadarDetectIndMsg; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_GET_TPC_REPORT_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr sta; - tANI_U8 dialogToken; - tANI_U8 txpower; -}tSirGetTpcReportReqParams, *tpSirGetTpcReportReqParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSirGetTpcReportReqParams getTpcReportReqParams; -}tSirGetTpcReportReqMsg, *tpSirGetTpcReportReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_TPC_REPORT_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSirGetTpcReportRspParams, *tpSirGetTpcReportRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSirGetTpcReportRspParams getTpcReportRspParams; -}tSirGetTpcReportRspMsg, *tpSirGetTpcReportRspMsg; - -#endif - -/*--------------------------------------------------------------------------- - *WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 pProbeRespTemplate[BEACON_TEMPLATE_SIZE]; - tANI_U32 probeRespTemplateLen; - tANI_U32 ucProxyProbeReqValidIEBmap[8]; - tSirMacAddr bssId; - -}tSendProbeRespReqParams, *tpSendProbeRespReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendProbeRespReqParams sendProbeRespReqParams ; -}tSendProbeRespReqMsg, *tpSendProbeRespReqMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSendProbeRespRspParams, *tpSendProbeRespRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendProbeRespRspParams sendProbeRespRspParams; -}tSendProbeRespRspMsg, *tpSendProbeRespRspMsg; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_UNKNOWN_ADDR2_FRAME_RX_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSendUnkownFrameRxIndParams, *tpSendUnkownFrameRxIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendUnkownFrameRxIndParams sendUnkownFrameRxIndParams; -}tSendUnkownFrameRxIndMsg, *tpSendUnkownFrameRxIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_DELETE_STA_CONTEXT_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 assocId; - tANI_U16 staId; - tSirMacAddr bssId; // TO SUPPORT BT-AMP - // HAL copies bssid from the sta table. - tSirMacAddr addr2; // - tANI_U16 reasonCode; // To unify the keepalive / unknown A2 / tim-based disa - -}tDeleteStaContextParams, *tpDeleteStaContextParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteStaContextParams deleteStaContextParams; -}tDeleteStaContextIndMsg, *tpDeleteStaContextIndMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U8 assocId; - tANI_U8 staIdx; - tANI_U8 bssIdx; - tANI_U8 uReasonCode; - tANI_U32 uStatus; -} tIndicateDelSta, *tpIndicateDelSta; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SIGNAL_BTAMP_EVENT_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tBtAmpEventType btAmpEventType; - -}tBtAmpEventParams, *tpBtAmpEventParams; - - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tBtAmpEventParams btAmpEventParams; -}tBtAmpEventMsg, *tpBtAmpEventMsg; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SIGNAL_BTAMP_EVENT_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tBtAmpEventRspParams, *tpBtAmpEventRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tBtAmpEventRspParams btAmpEventRspParams; -}tBtAmpEventRsp, *tpBtAmpEventRsp; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_TL_HAL_FLUSH_AC_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - // Station Index. originates from HAL - tANI_U8 ucSTAId; - - // TID for which the transmit queue is being flushed - tANI_U8 ucTid; - -}tTlHalFlushAcParams, *tpTlHalFlushAcParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTlHalFlushAcParams tlHalFlushAcParam; -}tTlHalFlushAcReq, *tpTlHalFlushAcReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_TL_HAL_FLUSH_AC_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - // Station Index. originates from HAL - tANI_U8 ucSTAId; - - // TID for which the transmit queue is being flushed - tANI_U8 ucTid; - - /* success or failure */ - tANI_U32 status; -}tTlHalFlushAcRspParams, *tpTlHalFlushAcRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTlHalFlushAcRspParams tlHalFlushAcRspParam; -}tTlHalFlushAcRspMsg, *tpTlHalFlushAcRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_IMPS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalEnterImpsReqMsg, *tpHalEnterImpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_IMPS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalExitImpsReqMsg, *tpHalExitImpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_BMPS_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - //TBTT value derived from the last beacon -#ifndef BUILD_QWPTTSTATIC - tANI_U64 tbtt; -#endif - tANI_U8 dtimCount; - //DTIM period given to HAL during association may not be valid, - //if association is based on ProbeRsp instead of beacon. - tANI_U8 dtimPeriod; - - // For CCX and 11R Roaming - tANI_U32 rssiFilterPeriod; - tANI_U32 numBeaconPerRssiAverage; - tANI_U8 bRssiFilterEnable; - -} tHalEnterBmpsReqParams, *tpHalEnterBmpsReqParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterBmpsReqParams enterBmpsReq; -} tHalEnterBmpsReqMsg, *tpHalEnterBmpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_BMPS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 sendDataNull; - tANI_U8 bssIdx; -} tHalExitBmpsReqParams, *tpHalExitBmpsReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitBmpsReqParams exitBmpsReqParams; -} tHalExitBmpsReqMsg, *tpHalExitBmpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_MISSED_BEACON_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; -} tHalMissedBeaconIndParams, *tpHalMissedBeaconIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMissedBeaconIndParams missedBeaconIndParams; -} tHalMissedBeaconIndMsg, *tpHalMissedBeaconIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BCN_FILTER_REQ - *--------------------------------------------------------------------------*/ -/* Beacon Filtering data structures */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 offset; - tANI_U8 value; - tANI_U8 bitMask; - tANI_U8 ref; -} tEidByteInfo, *tpEidByteInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 capabilityInfo; - tANI_U16 capabilityMask; - tANI_U16 beaconInterval; - tANI_U16 ieNum; - tANI_U8 bssIdx; - tANI_U8 reserved; -} tBeaconFilterMsg, *tpBeaconFilterMsg; - -/* The above structure would be followed by multiple of below mentioned structure */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 elementId; - tANI_U8 checkIePresence; - tEidByteInfo byte; -} tBeaconFilterIe, *tpBeaconFilterIe; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tBeaconFilterMsg addBcnFilterParams; -} tHalAddBcnFilterReqMsg, *tpHalAddBcnFilterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_REM_BCN_FILTER_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 ucIeCount; - tANI_U8 ucRemIeId[1]; -} tRemBeaconFilterMsg, *tpRemBeaconFilterMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemBeaconFilterMsg remBcnFilterParams; -} tHalRemBcnFilterReqMsg, *tpHalRemBcnFilterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_OFFLOAD_REQ - *--------------------------------------------------------------------------*/ -#define HAL_IPV4_ARP_REPLY_OFFLOAD 0 -#define HAL_IPV6_NEIGHBOR_DISCOVERY_OFFLOAD 1 -#define HAL_IPV6_NS_OFFLOAD 2 -#define HAL_IPV6_ADDR_LEN 16 -#define HAL_MAC_ADDR_LEN 6 -#define HAL_OFFLOAD_DISABLE 0 -#define HAL_OFFLOAD_ENABLE 1 -#define HAL_OFFLOAD_BCAST_FILTER_ENABLE 0x2 -#define HAL_OFFLOAD_MCAST_FILTER_ENABLE 0x4 -#define HAL_OFFLOAD_ARP_AND_BCAST_FILTER_ENABLE (HAL_OFFLOAD_ENABLE|HAL_OFFLOAD_BCAST_FILTER_ENABLE) -#define HAL_OFFLOAD_IPV6NS_AND_MCAST_FILTER_ENABLE (HAL_OFFLOAD_ENABLE|HAL_OFFLOAD_MCAST_FILTER_ENABLE) - -typedef PACKED_PRE struct PACKED_POST _tHalNSOffloadParams -{ - tANI_U8 srcIPv6Addr[HAL_IPV6_ADDR_LEN]; - tANI_U8 selfIPv6Addr[HAL_IPV6_ADDR_LEN]; - //Only support 2 possible Network Advertisement IPv6 address - tANI_U8 targetIPv6Addr1[HAL_IPV6_ADDR_LEN]; - tANI_U8 targetIPv6Addr2[HAL_IPV6_ADDR_LEN]; - tANI_U8 selfMacAddr[HAL_MAC_ADDR_LEN]; - tANI_U8 srcIPv6AddrValid : 1; - tANI_U8 targetIPv6Addr1Valid : 1; - tANI_U8 targetIPv6Addr2Valid : 1; - tANI_U8 reserved1 : 5; - tANI_U8 reserved2; //make it DWORD aligned - tANI_U8 bssIdx; - tANI_U32 slotIndex; // slot index for this offload -} tHalNSOffloadParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 offloadType; - tANI_U8 enableOrDisable; - PACKED_PRE union PACKED_POST - { - tANI_U8 hostIpv4Addr [4]; - tANI_U8 hostIpv6Addr [HAL_IPV6_ADDR_LEN]; - } params; -} tHalHostOffloadReq, *tpHalHostOffloadReq; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalHostOffloadReq hostOffloadParams; - tHalNSOffloadParams nsOffloadParams; -} tHalHostOffloadReqMsg, *tpHalHostOffloadReqMsg; - - -#ifdef FEATURE_WLAN_LPHB -typedef enum -{ - WIFI_HB_SET_ENABLE = 0x0001, - WIFI_HB_SET_TCP_PARAMS = 0x0002, - WIFI_HB_SET_TCP_PKT_FILTER = 0x0003, - WIFI_HB_SET_UDP_PARAMS = 0x0004, - WIFI_HB_SET_UDP_PKT_FILTER = 0x0005, - WIFI_HB_SET_NETWORK_INFO = 0x0006, -}tLowPowerHeartBeatCmdType ; - -#define MAX_FLITER_SIZE 64 -/*--------------------------------------------------------------------------- - *FEATURE_WLAN_LPHB REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - uint32 hostIpv4Addr; - uint32 destIpv4Addr; - uint16 hostPort; - uint16 destPort; - uint16 timeOutSec; // in seconds - tSirMacAddr gatewayMacAddr; - uint16 timePeriodSec; // in seconds - uint32 tcpSn; -} tlowPowerHeartBeatParamsTcpStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 hostIpv4Addr; - uint32 destIpv4Addr; - uint16 hostPort; - uint16 destPort; - uint16 timePeriodSec;// in seconds - uint16 timeOutSec; // in seconds - tSirMacAddr gatewayMacAddr; -} tlowPowerHeartBeatParamsUdpStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 offset; - uint32 filterLength; - uint8 filter[MAX_FLITER_SIZE]; -} tlowPowerHeartBeatFilterStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 heartBeatEnable; - uint8 heartBeatType; //TCP or UDP -} tlowPowerHeartBeatEnableStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 dummy; -} tlowPowerHeartBeatNetworkInfoStruct; - - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 sessionIdx; - uint16 lowPowerHeartBeatCmdType; - PACKED_PRE union PACKED_PRO - { - tlowPowerHeartBeatEnableStruct control; - tlowPowerHeartBeatFilterStruct tcpUdpFilter; - tlowPowerHeartBeatParamsTcpStruct tcpParams; - tlowPowerHeartBeatParamsUdpStruct udpParams; - tlowPowerHeartBeatNetworkInfoStruct info; - }options; -} tHalLowPowerHeartBeatReq, *tpHalLowPowerHeartBeatReq; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLowPowerHeartBeatReq lowPowerHeartBeatParams; -} tHalLowPowerHeartBeatReqMsg, *tpHalLowPowerHeartBeatReqMsg; - -/*--------------------------------------------------------------------------- - * FEATURE_WLAN_LPHB RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - uint8 sessionIdx; - uint32 status; - uint16 lowPowerHeartBeatCmdType; -}tHalLowPowerHeartBeatRspParams, *tpHalLowPowerHeartBeatRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLowPowerHeartBeatRspParams lowPowerHeartBeatRspParams; -}tHalLowPowerHeartBeatRspMsg, *tpHalLowPowerHeartBeatRspMsg; - - -/*--------------------------------------------------------------------------- - * FEATURE_WLAN_LPHB IND - *--------------------------------------------------------------------------*/ -#define WIFI_HB_EVENT_TCP_RX_TIMEOUT 0x0001 -#define WIFI_HB_EVENT_UDP_RX_TIMEOUT 0x0002 - -#define WIFI_LPHB_EVENT_REASON_TIMEOUT 0x01 -#define WIFI_LPHB_EVENT_REASON_FW_ON_MONITOR 0x02 -#define WIFI_LPHB_EVENT_REASON_FW_OFF_MONITOR 0x03 - - -#define WIFI_LPHB_PROTO_UDP 0x01 -#define WIFI_LPHB_PROTO_TCP 0x02 - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 bssIdx; - uint8 sessionIdx; - uint8 protocolType; /*TCP or UDP*/ - uint8 eventReason; - -}tHalLowPowerHeartBeatIndParam,*tpHalLowPowerHeartBeatIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLowPowerHeartBeatIndParam lowPowerHeartBeatIndParams; -}tHalLowPowerHeartBeatIndMsg, *tpHalLowPowerHeartBeatIndMsg; - -#endif - -#ifdef FEATURE_WLAN_BATCH_SCAN - -/*--------------------------------------------------------------------------- - * WLAN_HAL_BATCHSCAN_SET_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Scan Frerquency - default to 30Sec*/ - tANI_U32 scanInterval; - tANI_U32 numScan2Batch; - tANI_U32 bestNetworks; - tANI_U8 rfBand; - tANI_U8 rtt; -} tHalBatchScanSetParams, *tpHalBatchScanSetParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanSetParams batchScanParams; -} tHalBatchScanSetReqMsg, *tpHalBatchScanSetReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_BATCHSCAN_SET_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 supportedMscan; -} tHalBatchScanSetRspParam, *tpHalBatchScanSetRspParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanSetRspParam setBatchScanRspParam; -} tHalBatchScanSetRspMsg, *tpHalBatchScanSetRspMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_BATCHSCAN_STOP_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 param; -} tHalBatchScanStopIndParam, *tpHalBatchScanStopIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanStopIndParam param; -} tHalBatchScanStopIndMsg, *tpHalBatchScanStopIndMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_BATCHSCAN_TRIGGER_RESULT_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 param; -} tHalBatchScanTriggerResultParam, *tpHalBatchScanTriggerResultParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanTriggerResultParam param; -} tHalBatchScanTriggerResultIndMsg, *tpHalBatchScanTriggerResultIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_BATCHSCAN_GET_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssid[6]; /* BSSID */ - tANI_U8 ssid[32]; /* SSID */ - tANI_U8 ch; /* Channel */ - tANI_U8 rssi; /* RSSI or Level */ - /* Timestamp when Network was found. Used to calculate age based on timestamp in GET_RSP msg header */ - tANI_U32 timestamp; -} tHalBatchScanNetworkInfo, *tpHalBatchScanNetworkInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 scanId; /* Scan List ID. */ - /* No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg */ - tANI_U32 numNetworksInScanList; - /* Variable data ptr: Number of AP in Scan List */ - /* following numNetworkInScanList is data of type tHalBatchScanNetworkInfo - * of sizeof(tHalBatchScanNetworkInfo) * numNetworkInScanList */ - tANI_U8 scanList[1]; -} tHalBatchScanList, *tpHalBatchScanList; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 timestamp; - tANI_U32 numScanLists; - boolean isLastResult; - /* Variable Data ptr: Number of Scan Lists*/ - /* following isLastResult is data of type tHalBatchScanList - * of sizeof(tHalBatchScanList) * numScanLists*/ - tANI_U8 scanResults[1]; -} tHalBatchScanResultIndParam, *tpHalBatchScanResultIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanResultIndParam resultIndMsgParam; -} tHalBatchScanResultIndMsg, *tpHalBatchScanResultIndMsg; - -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_KEEP_ALIVE_REQ - *--------------------------------------------------------------------------*/ -/* Packet Types. */ -#define HAL_KEEP_ALIVE_NULL_PKT 1 -#define HAL_KEEP_ALIVE_UNSOLICIT_ARP_RSP 2 - -/* Enable or disable keep alive */ -#define HAL_KEEP_ALIVE_DISABLE 0 -#define HAL_KEEP_ALIVE_ENABLE 1 - -/* Keep Alive request. */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 packetType; - tANI_U32 timePeriod; - tHalIpv4Addr hostIpv4Addr; - tHalIpv4Addr destIpv4Addr; - tSirMacAddr destMacAddr; - tANI_U8 bssIdx; -} tHalKeepAliveReq, *tpHalKeepAliveReq; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalKeepAliveReq KeepAliveParams; -} tHalKeepAliveReqMsg, *tpHalKeepAliveReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_RSSI_THRESH_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_S8 ucRssiThreshold1 : 8; - tANI_S8 ucRssiThreshold2 : 8; - tANI_S8 ucRssiThreshold3 : 8; - tANI_U8 bRssiThres1PosNotify : 1; - tANI_U8 bRssiThres1NegNotify : 1; - tANI_U8 bRssiThres2PosNotify : 1; - tANI_U8 bRssiThres2NegNotify : 1; - tANI_U8 bRssiThres3PosNotify : 1; - tANI_U8 bRssiThres3NegNotify : 1; - tANI_U8 bReserved10 : 2; -} tHalRSSIThresholds, *tpHalRSSIThresholds; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRSSIThresholds rssiThreshParams; -} tHalRSSIThresholdReqMsg, *tpHalRSSIThresholdReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_UAPSD_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bkDeliveryEnabled:1; - tANI_U8 beDeliveryEnabled:1; - tANI_U8 viDeliveryEnabled:1; - tANI_U8 voDeliveryEnabled:1; - tANI_U8 bkTriggerEnabled:1; - tANI_U8 beTriggerEnabled:1; - tANI_U8 viTriggerEnabled:1; - tANI_U8 voTriggerEnabled:1; - tANI_U8 bssIdx; -} tUapsdReqParams, *tpUapsdReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUapsdReqParams enterUapsdParams; -} tHalEnterUapsdReqMsg, *tpHalEnterUapsdReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_UAPSD_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U8 bssIdx; -} tHalExitUapsdReqMsg, *tpHalExitUapsdReqMsg; - -#define HAL_PERIODIC_TX_PTRN_MAX_SIZE 1536 -#define HAL_MAXNUM_PERIODIC_TX_PTRNS 6 -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 selfStaIdx:8; - tANI_U32 ucPtrnId:8; // Pattern ID - tANI_U32 usPtrnSize:16; // Non-Zero Pattern size - tANI_U32 uPtrnIntervalMs; // In msec - tANI_U8 ucPattern[HAL_PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer -} tHalAddPeriodicTxPtrn, *tpHalAddPeriodicTxPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalAddPeriodicTxPtrn ptrnParams; -} tHalAddPeriodicTxPtrnIndMsg, *tpHalAddPeriodicTxPtrnIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_PERIODIC_TX_PTRN_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 selfStaIdx:8; - tANI_U32 rsvd:24; - /* Bitmap of pattern IDs that needs to be deleted */ - tANI_U32 uPatternIdBitmap; -} tHalDelPeriodicTxPtrn, *tpHalDelPeriodicTxPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDelPeriodicTxPtrn ptrnParams; -} tHalDelPeriodicTxPtrnIndMsg, *tpHalDelPeriodicTxPtrnIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_PERIODIC_TX_PTRN_FW_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Type of Failure indication */ - tANI_U32 bssIdx:8; - tANI_U32 selfStaIdx:8; - tANI_U32 rsvd:16; - tANI_U32 status; - tANI_U32 patternIdBitmap; -} tHalPeriodicTxPtrnFwInd, *tpHalPeriodicTxPtrnFwInd; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalPeriodicTxPtrnFwInd fwIndParams; -} tHalPeriodicTxPtrnFwIndMsg, *tpHalPeriodicTxPtrnFwIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_WOWL_BCAST_PTRN - *--------------------------------------------------------------------------*/ -#define HAL_WOWL_BCAST_PATTERN_MAX_SIZE 128 -#define HAL_WOWL_BCAST_MAX_NUM_PATTERNS 16 - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 ucPatternId; // Pattern ID - // Pattern byte offset from beginning of the 802.11 packet to start of the - // wake-up pattern - tANI_U8 ucPatternByteOffset; - tANI_U8 ucPatternSize; // Non-Zero Pattern size - tANI_U8 ucPattern[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern - tANI_U8 ucPatternMaskSize; // Non-zero pattern mask size - tANI_U8 ucPatternMask[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask - tANI_U8 ucPatternExt[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern - tANI_U8 ucPatternMaskExt[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask - tANI_U8 bssIdx; -} tHalWowlAddBcastPtrn, *tpHalWowlAddBcastPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlAddBcastPtrn ptrnParams; -} tHalWowlAddBcastPtrnReqMsg, *tpHalWowlAddBcastPtrnReqMsg; - - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_WOWL_BCAST_PTRN - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Pattern ID of the wakeup pattern to be deleted */ - tANI_U8 ucPatternId; - tANI_U8 bssIdx; -} tHalWowlDelBcastPtrn, *tpHalWowlDelBcastPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlDelBcastPtrn ptrnParams; -} tHalWowlDelBcastPtrnReqMsg, *tpHalWowlDelBcastPtrnReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_WOWL_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Enables/disables magic packet filtering */ - tANI_U8 ucMagicPktEnable; - - /* Magic pattern */ - tSirMacAddr magicPtrn; - - /* Enables/disables packet pattern filtering in firmware. - Enabling this flag enables broadcast pattern matching - in Firmware. If unicast pattern matching is also desired, - ucUcastPatternFilteringEnable flag must be set tot true - as well - */ - tANI_U8 ucPatternFilteringEnable; - - /* Enables/disables unicast packet pattern filtering. - This flag specifies whether we want to do pattern match - on unicast packets as well and not just broadcast packets. - This flag has no effect if the ucPatternFilteringEnable - (main controlling flag) is set to false - */ - tANI_U8 ucUcastPatternFilteringEnable; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Channel Switch Action Frame. - */ - tANI_U8 ucWowChnlSwitchRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Deauthentication Frame. - */ - tANI_U8 ucWowDeauthRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Disassociation Frame. - */ - tANI_U8 ucWowDisassocRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it has missed - * consecutive beacons. This is a hardware register - * configuration (NOT a firmware configuration). - */ - tANI_U8 ucWowMaxMissedBeacons; - - /* This configuration is valid only when magicPktEnable=1. - * This is a timeout value in units of microsec. It requests - * hardware to unconditionally wake up after it has stayed - * in WoWLAN mode for some time. Set 0 to disable this feature. - */ - tANI_U8 ucWowMaxSleepUsec; - - /* This configuration directs the WoW packet filtering to look for EAP-ID - * requests embedded in EAPOL frames and use this as a wake source. - */ - tANI_U8 ucWoWEAPIDRequestEnable; - - /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY - * requests and use this as a wake source. - */ - tANI_U8 ucWoWEAPOL4WayEnable; - - /* This configuration allows a host wakeup on an network scan offload match. - */ - tANI_U8 ucWowNetScanOffloadMatch; - - /* This configuration allows a host wakeup on any GTK rekeying error. - */ - tANI_U8 ucWowGTKRekeyError; - - /* This configuration allows a host wakeup on BSS connection loss. - */ - tANI_U8 ucWoWBSSConnLoss; - - tANI_U8 bssIdx; - -} tHalWowlEnterParams, *tpHalWowlEnterParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlEnterParams enterWowlParams; -} tHalWowlEnterReqMsg, *tpHalWowlEnterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_WOWL_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - -} tHalWowlExitParams, *tpHalWowlExitParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlExitParams exitWowlParams; -} tHalWowlExitReqMsg, *tpHalWowlExitReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_RSSI_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalGetRssiReqMsg, *tpHalGetRssiReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Valid STA Idx for per STA stats request */ - tANI_U32 staId; - -}tHalRoamRssiReqParams, *tpHalRoamRssiReqParams; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_ROAM_RSSI_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRoamRssiReqParams roamRssiReqParams; -} tHalGetRoamRssiReqMsg, *tpHalGetRoamRssiReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_UAPSD_AC_PARAMS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 staidx; // STA index - tANI_U8 ac; // Access Category - tANI_U8 up; // User Priority - tANI_U32 srvInterval; // Service Interval - tANI_U32 susInterval; // Suspend Interval - tANI_U32 delayInterval; // Delay Interval -} tUapsdInfo, tpUapsdInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUapsdInfo enableUapsdAcParams; -} tHalSetUapsdAcParamsReqMsg, *tpHalSetUapsdAcParamsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_RXP_FILTER_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 setMcstBcstFilterSetting; - tANI_U8 setMcstBcstFilter; -} tHalConfigureRxpFilterReqParams, tpHalConfigureRxpFilterReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureRxpFilterReqParams configureRxpFilterReqParams; -} tHalConfigureRxpFilterReqMsg, *tpHalConfigureRxpFilterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_IMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalEnterImpsRspParams, *tpHalEnterImpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterImpsRspParams enterImpsRspParams; -} tHalEnterImpsRspMsg, *tpHalEnterImpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_IMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalExitImpsRspParams, *tpHalExitImpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitImpsRspParams exitImpsRspParams; -} tHalExitImpsRspMsg, *tpHalExitImpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_BMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalEnterBmpsRspParams, *tpHalEnterBmpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterBmpsRspParams enterBmpsRspParams; -} tHalEnterBmpsRspMsg, *tpHalEnterBmpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_BMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalExitBmpsRspParams, *tpHalExitBmpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitBmpsRspParams exitBmpsRspParams; -} tHalExitBmpsRspMsg, *tpHalExitBmpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_UAPSD_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -}tUapsdRspParams, *tpUapsdRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUapsdRspParams enterUapsdRspParams; -} tHalEnterUapsdRspMsg, *tpHalEnterUapsdRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_UAPSD_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalExitUapsdRspParams, *tpHalExitUapsdRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitUapsdRspParams exitUapsdRspParams; -} tHalExitUapsdRspMsg, *tpHalExitUapsdRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_RSSI_NOTIFICATION_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 bRssiThres1PosCross : 1; - tANI_U32 bRssiThres1NegCross : 1; - tANI_U32 bRssiThres2PosCross : 1; - tANI_U32 bRssiThres2NegCross : 1; - tANI_U32 bRssiThres3PosCross : 1; - tANI_U32 bRssiThres3NegCross : 1; - tANI_U32 avgRssi : 8; - tANI_U32 uBssIdx : 8; - tANI_U32 isBTCoexCompromise : 1; - tANI_U32 bReserved : 9; -} tHalRSSINotification, *tpHalRSSINotification; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRSSINotification rssiNotificationParams; -} tHalRSSINotificationIndMsg, *tpHalRSSINotificationIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_RSSI_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_S8 rssi; -} tHalGetRssiParams, *tpHalGetRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGetRssiParams rssiRspParams; -} tHalGetRssiRspMsg, *tpHalGetRssiRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_ROAM_RSSI_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - tANI_U8 staId; - tANI_S8 rssi; -} tHalGetRoamRssiParams, *tpHalGetRoamRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGetRoamRssiParams roamRssiRspParams; -} tHalGetRoamRssiRspMsg, *tpHalGetRoamRssiRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_WOWL_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalEnterWowlRspParams, *tpHalEnterWowlRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterWowlRspParams enterWowlRspParams; -} tHalWowlEnterRspMsg, *tpHalWowlEnterRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_WOWL_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalExitWowlRspParams, *tpHalExitWowlRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitWowlRspParams exitWowlRspParams; -} tHalWowlExitRspMsg, *tpHalWowlExitRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BCN_FILTER_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalAddBcnFilterRspParams, *tpHalAddBcnFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalAddBcnFilterRspParams addBcnFilterRspParams; -} tHalAddBcnFilterRspMsg, *tpHalAddBcnFilterRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_REM_BCN_FILTER_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalRemBcnFilterRspParams, *tpHalRemBcnFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRemBcnFilterRspParams remBcnFilterRspParams; -} tHalRemBcnFilterRspMsg, *tpHalRemBcnFilterRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_WOWL_BCAST_PTRN_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalAddWowlBcastPtrnRspParams, *tpHalAddWowlBcastPtrnRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalAddWowlBcastPtrnRspParams addWowlBcastPtrnRspParams; -} tHalAddWowlBcastPtrnRspMsg, *tpHalAddWowlBcastPtrnRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_WOWL_BCAST_PTRN_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalDelWowlBcastPtrnRspParams, *tpHalDelWowlBcastPtrnRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDelWowlBcastPtrnRspParams delWowlBcastRspParams; -} tHalDelWowlBcastPtrnRspMsg, *tpHalDelWowlBcastPtrnRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_OFFLOAD_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalHostOffloadRspParams, *tpHalHostOffloadRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalHostOffloadRspParams hostOffloadRspParams; -} tHalHostOffloadRspMsg, *tpHalHostOffloadRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_KEEP_ALIVE_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalKeepAliveRspParams, *tpHalKeepAliveRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalKeepAliveRspParams keepAliveRspParams; -} tHalKeepAliveRspMsg, *tpHalKeepAliveRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_RSSI_THRESH_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalSetRssiThreshRspParams, *tpHalSetRssiThreshRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalSetRssiThreshRspParams setRssiThreshRspParams; -} tHalSetRssiThreshRspMsg, *tpHalSetRssiThreshRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_UAPSD_AC_PARAMS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalSetUapsdAcParamsRspParams, *tpHalSetUapsdAcParamsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalSetUapsdAcParamsRspParams setUapsdAcParamsRspParams; -} tHalSetUapsdAcParamsRspMsg, *tpHalSetUapsdAcParamsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_RXP_FILTER_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalConfigureRxpFilterRspParams, *tpHalConfigureRxpFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureRxpFilterRspParams configureRxpFilterRspParams; -} tHalConfigureRxpFilterRspMsg, *tpHalConfigureRxpFilterRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_MAX_TX_POWER_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr bssId; // BSSID is needed to identify which session issued this request. As - //the request has power constraints, this should be applied only to that session - tSirMacAddr selfStaMacAddr; - //In request, - //power == MaxTx power to be used. - tPowerdBm power; - -}tSetMaxTxPwrParams, *tpSetMaxTxPwrParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrParams setMaxTxPwrParams; -}tSetMaxTxPwrReq, *tpSetMaxTxPwrReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_MAX_TX_POWER_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - //power == tx power used for management frames. - tPowerdBm power; - - /* success or failure */ - tANI_U32 status; -}tSetMaxTxPwrRspParams, *tpSetMaxTxPwrRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrRspParams setMaxTxPwrRspParams; -}tSetMaxTxPwrRspMsg, *tpSetMaxTxPwrRspMsg; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ - *--------------------------------------------------------------------------*/ - -/* Band types for WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ between WDI and HAL */ -typedef enum -{ - WLAN_HAL_SET_MAX_TX_POWER_BAND_ALL = 0, - // For 2.4GHz or 5GHz bands - WLAN_HAL_SET_MAX_TX_POWER_BAND_2_4_GHZ, - WLAN_HAL_SET_MAX_TX_POWER_BAND_5_0_GHZ, - // End of valid enums - WLAN_HAL_SET_MAX_TX_POWER_BAND_MAX = WLAN_HAL_MAX_ENUM_SIZE, -}tHalSetMaxTxPwrBandInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalSetMaxTxPwrBandInfo bandInfo; // 2_4_GHZ or 5_0_GHZ - tPowerdBm power; // In request, power == MaxTx power to be used. -}tSetMaxTxPwrPerBandParams, *tpSetMaxTxPwrPerBandParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrPerBandParams setMaxTxPwrPerBandParams; -}tSetMaxTxPwrPerBandReq, *tpSetMaxTxPwrPerBandReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - //power == tx power used for management frames. - tPowerdBm power; - - /* success or failure */ - tANI_U32 status; -}tSetMaxTxPwrPerBandRspParams, *tpSetMaxTxPwrPerBandRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrPerBandRspParams setMaxTxPwrPerBandRspParams; -}tSetMaxTxPwrPerBandRspMsg, *tpSetMaxTxPwrPerBandRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_TX_POWER_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* TX Power in milli watts */ - tANI_U32 txPower; - tANI_U8 bssIdx; -}tSetTxPwrReqParams, *tpSetTxPwrReqParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetTxPwrReqParams setTxPwrReqParams; -}tSetTxPwrReqMsg, *tpSetTxPwrReqMsg; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_TX_POWER_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSetTxPwrRspParams, *tpSetTxPwrRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetTxPwrRspParams setTxPwrRspParams; -}tSetTxPwrRspMsg, *tpSetTxPwrRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_GET_TX_POWER_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 staId; -}tGetTxPwrReqParams, *tpGetTxPwrReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tGetTxPwrReqParams getTxPwrReqParams; -}tGetTxPwrReqMsg, *tpGetTxPwrReqMsg; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_GET_TX_POWER_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - /* TX Power in milli watts */ - tANI_U32 txPower; -}tGetTxPwrRspParams, *tpGetTxPwrRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tGetTxPwrRspParams getTxPwrRspParams; -}tGetTxPwrRspMsg, *tpGetTxPwrRspMsg; - -#ifdef WLAN_FEATURE_P2P -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_P2P_GONOA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 opp_ps; - tANI_U32 ctWindow; - tANI_U8 count; - tANI_U32 duration; - tANI_U32 interval; - tANI_U32 single_noa_duration; - tANI_U8 psSelection; -}tSetP2PGONOAParams, *tpSetP2PGONOAParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetP2PGONOAParams setP2PGONOAParams; -}tSetP2PGONOAReq, *tpSetP2PGONOAReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_P2P_GONOA_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSetP2PGONOARspParams, *tpSetP2PGONOARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetP2PGONOARspParams setP2PGONOARspParams; -}tSetP2PGONOARspMsg, *tpSetP2PGONOARspMsg; -#endif - -/*--------------------------------------------------------------------------- - *WLAN_HAL_ADD_SELF_STA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr selfMacAddr; - tANI_U32 status; -}tAddStaSelfParams, *tpAddStaSelfParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr selfMacAddr; - tANI_U32 status; - tHalIfacePersona iface_persona; -}tAddStaSelfParams_V1, *tpAddStaSelfParams_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - PACKED_PRE union PACKED_POST { - tAddStaSelfParams addStaSelfParams; - tAddStaSelfParams_V1 addStaSelfParams_V1; - }uAddStaSelfParams; -}tAddStaSelfReq, *tpAddStaSelfReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_ADD_SELF_STA_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - /*Self STA Index */ - tANI_U8 selfStaIdx; - - /* DPU Index (IGTK, PTK, GTK all same) */ - tANI_U8 dpuIdx; - - /* DPU Signature */ - tANI_U8 dpuSignature; - -}tAddStaSelfRspParams, *tpAddStaSelfRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddStaSelfRspParams addStaSelfRspParams; -}tAddStaSelfRspMsg, *tpAddStaSelfRspMsg; - - -/*--------------------------------------------------------------------------- - WLAN_HAL_DEL_STA_SELF_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr selfMacAddr; - -}tDelStaSelfParams, *tpDelStaSelfParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelStaSelfParams delStaSelfParams; -} tDelStaSelfReqMsg, *tpDelStaSelfReqMsg; - - -/*--------------------------------------------------------------------------- - WLAN_HAL_DEL_STA_SELF_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - tSirMacAddr selfMacAddr; -}tDelStaSelfRspParams, *tpDelStaSelfRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelStaSelfRspParams delStaSelfRspParams; -} tDelStaSelfRspMsg, *tpDelStaSelfRspMsg; - - -#ifdef WLAN_FEATURE_VOWIFI_11R - -/*--------------------------------------------------------------------------- - *WLAN_HAL_AGGR_ADD_TS_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TSPEC handler uniquely identifying a TSPEC for a STA in a BSS */ - /* This will carry the bitmap with the bit positions representing different AC.s*/ - tANI_U16 tspecIdx; - - /* Tspec info per AC To program TPE with required parameters */ - tSirMacTspecIE tspec[WLAN_HAL_MAX_AC]; - - /* U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /* These parameters are for all the access categories */ - tANI_U32 srvInterval[WLAN_HAL_MAX_AC]; // Service Interval - tANI_U32 susInterval[WLAN_HAL_MAX_AC]; // Suspend Interval - tANI_U32 delayInterval[WLAN_HAL_MAX_AC]; // Delay Interval - -}tAggrAddTsParams, *tpAggrAddTsParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAggrAddTsParams aggrAddTsParam; -}tAggrAddTsReq, *tpAggrAddTsReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_AGGR_ADD_TS_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status0; - /* FIXME PRIMA for future use for 11R */ - tANI_U32 status1; -}tAggrAddTsRspParams, *tpAggrAddTsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAggrAddTsRspParams aggrAddTsRspParam; -}tAggrAddTsRspMsg, *tpAggrAddTsRspMsg; - -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 isAppsCpuAwake; -} tHalConfigureAppsCpuWakeupStateReqParams, *tpHalConfigureAppsCpuWakeupStatReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureAppsCpuWakeupStateReqParams appsStateReqParams; -} tHalConfigureAppsCpuWakeupStateReqMsg, *tpHalConfigureAppsCpuWakeupStateReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalConfigureAppsCpuWakeupStateRspParams, *tpHalConfigureAppsCpuWakeupStateRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureAppsCpuWakeupStateRspParams appsStateRspParams; -} tHalConfigureAppsCpuWakeupStateRspMsg, *tpHalConfigureAppsCpuWakeupStateRspMsg; -/*--------------------------------------------------------------------------- - * WLAN_HAL_DUMP_COMMAND_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 argument1; - tANI_U32 argument2; - tANI_U32 argument3; - tANI_U32 argument4; - tANI_U32 argument5; - -}tHalDumpCmdReqParams,*tpHalDumpCmdReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDumpCmdReqParams dumpCmdReqParams; -} tHalDumpCmdReqMsg, *tpHalDumpCmdReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DUMP_COMMAND_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - /*Length of the responce message*/ - tANI_U32 rspLength; - /*FiXME: Currently considering the the responce will be less than 100bytes */ - tANI_U8 rspBuffer[DUMPCMD_RSP_BUFFER]; - -} tHalDumpCmdRspParams, *tpHalDumpCmdRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDumpCmdRspParams dumpCmdRspParams; -} tHalDumpCmdRspMsg, *tpHalDumpCmdRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_COEX_IND - *-------------------------------------------------------------------------*/ -#define WLAN_COEX_IND_DATA_SIZE (4) -#define WLAN_COEX_IND_TYPE_DISABLE_HB_MONITOR (0) -#define WLAN_COEX_IND_TYPE_ENABLE_HB_MONITOR (1) -#define WLAN_COEX_IND_TYPE_SCANS_ARE_COMPROMISED_BY_COEX (2) -#define WLAN_COEX_IND_TYPE_SCANS_ARE_NOT_COMPROMISED_BY_COEX (3) -#define WLAN_COEX_IND_TYPE_DISABLE_AGGREGATION_IN_2p4 (4) -#define WLAN_COEX_IND_TYPE_ENABLE_AGGREGATION_IN_2p4 (5) - -typedef PACKED_PRE struct PACKED_POST -{ - /*Coex Indication Type*/ - tANI_U32 coexIndType; - - /*Coex Indication Data*/ - tANI_U32 coexIndData[WLAN_COEX_IND_DATA_SIZE]; -}tCoexIndParams,*tpCoexIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tCoexIndParams coexIndParams; -}tCoexIndMsg, *tpCoexIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_OTA_TX_COMPL_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Tx Complete Indication Success or Failure*/ - tANI_U32 status; -}tTxComplParams,*tpTxComplParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTxComplParams txComplParams; -}tTxComplIndMsg, *tpTxComplIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_SUSPEND_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 configuredMcstBcstFilterSetting; - tANI_U32 activeSessionCount; -}tHalWlanHostSuspendIndParam,*tpHalWlanHostSuspendIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanHostSuspendIndParam suspendIndParams; -}tHalWlanHostSuspendIndMsg, *tpHalWlanHostSuspendIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXCLUDE_UNENCRYTED_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_BOOLEAN bDot11ExcludeUnencrypted; - tSirMacAddr bssId; -}tHalWlanExcludeUnEncryptedIndParam,*tpHalWlanExcludeUnEncryptedIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanExcludeUnEncryptedIndParam excludeUnEncryptedIndParams; -}tHalWlanExcludeUnEncrptedIndMsg, *tpHalWlanExcludeUnEncrptedIndMsg; - -#ifdef WLAN_FEATURE_P2P -/*--------------------------------------------------------------------------- - *WLAN_HAL_NOA_ATTR_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 index ; - tANI_U8 oppPsFlag ; - tANI_U16 ctWin ; - - tANI_U16 uNoa1IntervalCnt; - tANI_U16 bssIdx; - tANI_U32 uNoa1Duration; - tANI_U32 uNoa1Interval; - tANI_U32 uNoa1StartTime; - - tANI_U16 uNoa2IntervalCnt; - tANI_U16 rsvd2; - tANI_U32 uNoa2Duration; - tANI_U32 uNoa2Interval; - tANI_U32 uNoa2StartTime; - - tANI_U32 status; -}tNoaAttrIndParams, *tpNoaAttrIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tNoaAttrIndParams noaAttrIndParams; -}tNoaAttrIndMsg, *tpNoaAttrIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_NOA_START_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - tANI_U32 bssIdx; -}tNoaStartIndParams, *tpNoaStartIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tNoaStartIndParams noaStartIndParams; -}tNoaStartIndMsg, tpNoaStartIndMsg; -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_RESUME_REQ - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 configuredMcstBcstFilterSetting; -}tHalWlanHostResumeReqParam,*tpHalWlanHostResumeReqParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanHostResumeReqParam resumeReqParams; -}tHalWlanHostResumeReqMsg, *tpHalWlanHostResumeReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_RESUME_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalHostResumeRspParams, *tpHalHostResumeRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalHostResumeRspParams hostResumeRspParams; -} tHalHostResumeRspMsg, *tpHalHostResumeRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 staIdx; - // Peer MAC Address, whose BA session has timed out - tSirMacAddr peerMacAddr; - // TID for which a BA session timeout is being triggered - tANI_U8 baTID; - // DELBA direction - // 1 - Originator - // 0 - Recipient - tANI_U8 baDirection; - tANI_U32 reasonCode; - tSirMacAddr bssId; // TO SUPPORT BT-AMP -} tHalWlanDelBaIndMsg, *tpHalWlanDelBaIndMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanDelBaIndMsg hostdelBaParam; -} tHalDelBAIndMsg, *tpHalDelBAIndMsg; - -/*--------------------------------------------------------------------------- - *PNO Messages - *-------------------------------------------------------------------------*/ -/* Max number of channels that a network can be found on*/ -/* WLAN_HAL_PNO_MAX_NETW_CHANNELS and WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX should - * be changed at same time - */ -#define WLAN_HAL_PNO_MAX_NETW_CHANNELS 60 - -/*Max number of channels that a network can be found on*/ -#define WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX 60 - -/*Maximum numbers of networks supported by PNO*/ -#define WLAN_HAL_PNO_MAX_SUPP_NETWORKS 16 - -/*The number of scan time intervals that can be programmed into PNO*/ -#define WLAN_HAL_PNO_MAX_SCAN_TIMERS 10 - -/*Maximum size of the probe template*/ -#define WLAN_HAL_PNO_MAX_PROBE_SIZE 450 - -/*Type of PNO enabling - Immediate - scanning will start immediately and PNO procedure will - be repeated based on timer - Suspend - scanning will start at suspend - Resume - scanning will start on system resume - Delay - start the scan timer to trigger PNO scan - */ -typedef enum -{ - ePNO_MODE_IMMEDIATE, - ePNO_MODE_ON_SUSPEND, - ePNO_MODE_ON_RESUME, - ePNO_MODE_DELAY, - ePNO_MODE_PROXIMITY, // FEATURE_WIFI_PROXIMITY - ePNO_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} ePNOMode; - -/*Authentication type*/ -typedef enum -{ - eAUTH_TYPE_ANY = 0, - eAUTH_TYPE_OPEN_SYSTEM = 1, - - // Upper layer authentication types - eAUTH_TYPE_WPA = 2, - eAUTH_TYPE_WPA_PSK = 3, - - eAUTH_TYPE_RSN = 4, - eAUTH_TYPE_RSN_PSK = 5, - eAUTH_TYPE_FT_RSN = 6, - eAUTH_TYPE_FT_RSN_PSK = 7, - eAUTH_TYPE_WAPI_WAI_CERTIFICATE = 8, - eAUTH_TYPE_WAPI_WAI_PSK = 9, - eAUTH_TYPE_CCKM_WPA = 10, - eAUTH_TYPE_CCKM_RSN = 11, - - eAUTH_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE - -}tAuthType; - -/* Encryption type */ -typedef enum eEdType -{ - eED_ANY = 0, - eED_NONE = 1, - eED_WEP = 2, - eED_TKIP = 3, - eED_CCMP = 4, - eED_WPI = 5, - - eED_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tEdType; - -/* SSID broadcast type */ -typedef enum eSSIDBcastType -{ - eBCAST_UNKNOWN = 0, - eBCAST_NORMAL = 1, - eBCAST_HIDDEN = 2, - - eBCAST_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSSIDBcastType; - -/* - The network description for which PNO will have to look for -*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*Authentication type for the network*/ - tAuthType authentication; - - /*Encryption type for the network*/ - tEdType encryption; - - /*Indicate the channel on which the Network can be found - 0 - if all channels */ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS]; - - /*Indicates the RSSI threshold for the network to be considered*/ - tANI_U8 rssiThreshold; -}tNetworkType; - -typedef PACKED_PRE struct PACKED_POST -{ - /*How much it should wait */ - tANI_U32 uTimerValue; - - /*How many times it should repeat that wait value - 0 - keep using this timer until PNO is disabled*/ - tANI_U32 uTimerRepeat; - - /*e.g: 2 3 - 4 0 - - it will wait 2s between consecutive scans for 3 times - - after that it will wait 4s between consecutive scans until disabled*/ -}tScanTimer; - -/* - The network parameters to be sent to the PNO algorithm -*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*set to 0 if you wish for PNO to use its default telescopic timer*/ - tANI_U8 ucScanTimersCount; - - /*A set value represents the amount of time that PNO will wait between - two consecutive scan procedures - If the desired is for a uniform timer that fires always at the exact same - interval - one single value is to be set - If there is a desire for a more complex - telescopic like timer multiple - values can be set - once PNO reaches the end of the array it will - continue scanning at intervals presented by the last value*/ - tScanTimer aTimerValues[WLAN_HAL_PNO_MAX_SCAN_TIMERS]; - -}tScanTimersType; - -typedef PACKED_PRE struct PACKED_POST { - - /*Enable PNO*/ - tANI_U32 enable; - - /*Immediate, On Suspend, On Resume*/ - ePNOMode modePNO; - - /*Number of networks sent for PNO*/ - tANI_U32 ucNetworksCount; - - /*The networks that PNO needs to look for*/ - tNetworkType aNetworks[WLAN_HAL_PNO_MAX_SUPP_NETWORKS]; - - /*The scan timers required for PNO*/ - tScanTimersType scanTimers; - - /*Probe template for 2.4GHz band*/ - tANI_U16 us24GProbeSize; - tANI_U8 a24GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - - /*Probe template for 5GHz band*/ - tANI_U16 us5GProbeSize; - tANI_U8 a5GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - -} tPrefNetwListParams, * tpPrefNetwListParams; - -/* - Preferred network list request -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPrefNetwListParams prefNetwListParams; -} tSetPrefNetwListReq, *tpSetPrefNetwListReq; - - -/* - The network description for which PNO will have to look for -*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*Authentication type for the network*/ - tAuthType authentication; - - /*Encryption type for the network*/ - tEdType encryption; - - /*SSID broadcast type, normal, hidden or unknown*/ - tSSIDBcastType bcastNetworkType; - - /*Indicate the channel on which the Network can be found - 0 - if all channels */ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS]; - - /*Indicates the RSSI threshold for the network to be considered*/ - tANI_U8 rssiThreshold; -}tNetworkTypeNew; - -typedef PACKED_PRE struct PACKED_POST { - - /*Enable PNO*/ - tANI_U32 enable; - - /*Immediate, On Suspend, On Resume*/ - ePNOMode modePNO; - - /*Number of networks sent for PNO*/ - tANI_U32 ucNetworksCount; - - /*The networks that PNO needs to look for*/ - tNetworkTypeNew aNetworks[WLAN_HAL_PNO_MAX_SUPP_NETWORKS]; - - /*The scan timers required for PNO*/ - tScanTimersType scanTimers; - - /*Probe template for 2.4GHz band*/ - tANI_U16 us24GProbeSize; - tANI_U8 a24GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - - /*Probe template for 5GHz band*/ - tANI_U16 us5GProbeSize; - tANI_U8 a5GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - -} tPrefNetwListParamsNew, * tpPrefNetwListParamsNew; - -/* - Preferred network list request new -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPrefNetwListParamsNew prefNetwListParams; -} tSetPrefNetwListReqNew, *tpSetPrefNetwListReqNew; - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacSSid ssId; - tANI_U8 currAPbssid[HAL_MAC_ADDR_LEN]; - tANI_U32 authentication; - tEdType encryption; - tEdType mcencryption; - tANI_U8 ChannelCount; - tANI_U8 ChannelCache[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; -}tRoamNetworkType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 mdiePresent; - tANI_U16 mobilityDomain; -}tMobilityDomainInfo; - -typedef PACKED_PRE struct PACKED_POST { - eAniBoolean RoamScanOffloadEnabled; - tANI_S8 LookupThreshold; - tANI_U8 RoamRssiDiff; - tANI_U8 ChannelCacheType; - tANI_U8 Command; - tANI_U8 StartScanReason; - tANI_U16 NeighborScanTimerPeriod; - tANI_U16 NeighborRoamScanRefreshPeriod; - tANI_U16 NeighborScanChannelMinTime; - tANI_U16 NeighborScanChannelMaxTime; - tANI_U16 EmptyRefreshScanPeriod; - tANI_U8 ValidChannelCount; - tANI_U8 ValidChannelList[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; - eAniBoolean IsCCXEnabled; - - tANI_U16 us24GProbeSize; - tANI_U8 a24GProbeTemplate[WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE]; - tANI_U16 us5GProbeSize; - tANI_U8 a5GProbeTemplate[WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE]; - /* Add Reserved bytes */ - tANI_U8 nProbes; - tANI_U16 HomeAwayTime; - eAniBoolean MAWCEnabled; - tANI_U8 ReservedBytes[WLAN_HAL_ROAM_SCAN_RESERVED_BYTES]; - tRoamNetworkType ConnectedNetwork; - tMobilityDomainInfo MDID; -} tRoamCandidateListParams, * tpRoamCandidateListParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRoamCandidateListParams RoamScanOffloadNetwListParams; -} tSetRoamScanOffloadReq, *tpRoamScanOffloadReq; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /* status of the request - just to indicate that PNO has acknowledged - * the request and will start scanning */ - tANI_U32 status; -} tSetRoamOffloadScanResp, *tpSetRoamOffloadScanResp; -#endif - -/* - Preferred network list response -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /* status of the request - just to indicate that PNO has acknowledged - * the request and will start scanning*/ - tANI_U32 status; -} tSetPrefNetwListResp, *tpSetPrefNetwListResp; - -/* - Preferred network indication parameters -*/ -typedef PACKED_PRE struct PACKED_POST { - - /*Network that was found with the highest RSSI*/ - tSirMacSSid ssId; - - /*Indicates the RSSI */ - tANI_U8 rssi; - - //The MPDU frame length of a beacon or probe rsp. data is the start of the frame - tANI_U16 frameLength; - -} tPrefNetwFoundParams, * tpPrefNetwFoundParams; - -/* - Preferred network found indication -*/ -typedef PACKED_PRE struct PACKED_POST { - - tHalMsgHeader header; - tPrefNetwFoundParams prefNetwFoundParams; -} tPrefNetwFoundInd, *tpPrefNetwFoundInd; - - -typedef PACKED_PRE struct PACKED_POST { - - /*RSSI Threshold*/ - tANI_U8 ucRssiThreshold; - -} tRssiFilterParams, * tpRssiFilterParams; - -/* - RSSI Filter request -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRssiFilterParams prefRSSIFilterParams; -} tSetRssiFilterReq, *tpSetRssiFilterReq; - -/* - Set RSSI filter resp -*/ -typedef PACKED_PRE struct PACKED_POST{ - tHalMsgHeader header; - /*status of the request */ - tANI_U32 status; -} tSetRssiFilterResp, *tpSetRssiFilterResp; -/* - Update scan params -*/ -typedef PACKED_PRE struct PACKED_POST -{ - - /*Host setting for 11d*/ - tANI_U8 b11dEnabled; - - /*Lets PNO know that host has determined the regulatory domain*/ - tANI_U8 b11dResolved; - - /*Channels on which PNO is allowed to scan*/ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS]; - - /*Minimum channel time*/ - tANI_U16 usActiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usActiveMaxChTime; - - /*Minimum channel time*/ - tANI_U16 usPassiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usPassiveMaxChTime; - - /*Cb State*/ - ePhyChanBondState cbState; - -} tUpdateScanParams, * tpUpdateScanParams; - -/* - Update scan params -*/ -typedef PACKED_PRE struct PACKED_POST -{ - - /*Host setting for 11d*/ - tANI_U8 b11dEnabled; - - /*Lets PNO know that host has determined the regulatory domain*/ - tANI_U8 b11dResolved; - - /*Channels on which PNO is allowed to scan*/ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX]; - - /*Minimum channel time*/ - tANI_U16 usActiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usActiveMaxChTime; - - /*Minimum channel time*/ - tANI_U16 usPassiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usPassiveMaxChTime; - - /*Cb State*/ - ePhyChanBondState cbState; - -} tUpdateScanParamsEx, * tpUpdateScanParamsEx; - -/* - Update scan params - sent from host to PNO - to be used during PNO scanning -*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - tUpdateScanParams scanParams; -} tUpdateScanParamsReq, *tpUpdateScanParamsReq; - -/* - Update scan params - sent from host to PNO - to be used during PNO scanning -*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - tUpdateScanParamsEx scanParams; -} tUpdateScanParamsReqEx, *tpUpdateScanParamsReqEx; - -/* - Update scan params - sent from host to PNO - to be used during PNO scanning -*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tUpdateScanParamsResp, *tpUpdateScanParamsResp; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_TX_PER_TRACKING_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */ - tANI_U8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */ - tANI_U8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */ - tANI_U32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */ -} tHalTxPerTrackingReqParam, *tpHalTxPerTrackingReqParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalTxPerTrackingReqParam txPerTrackingParams; -} tHalSetTxPerTrackingReqMsg, *tpHalSetTxPerTrackingReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_TX_PER_TRACKING_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalTxPerTrackingRspParams, *tpHalTxPerTrackingRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalTxPerTrackingRspParams txPerTrackingRspParams; -} tHalSetTxPerTrackingRspMsg, *tpHalSetTxPerTrackingRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TX_PER_HIT_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -}tTxPerHitIndMsg, *tpTxPerHitIndMsg; - -/*--------------------------------------------------------------------------- - *******************Packet Filtering Definitions Begin******************* - *--------------------------------------------------------------------------*/ -#define HAL_PROTOCOL_DATA_LEN 8 -#define HAL_MAX_NUM_MULTICAST_ADDRESS 240 -#define HAL_MAX_NUM_FILTERS 20 -#define HAL_MAX_CMP_PER_FILTER 10 - -typedef enum -{ - HAL_RCV_FILTER_TYPE_INVALID, - HAL_RCV_FILTER_TYPE_FILTER_PKT, - HAL_RCV_FILTER_TYPE_BUFFER_PKT, - HAL_RCV_FILTER_TYPE_MAX_ENUM_SIZE -}tHalReceivePacketFilterType; - -typedef enum -{ - HAL_FILTER_PROTO_TYPE_INVALID, - HAL_FILTER_PROTO_TYPE_MAC, - HAL_FILTER_PROTO_TYPE_ARP, - HAL_FILTER_PROTO_TYPE_IPV4, - HAL_FILTER_PROTO_TYPE_IPV6, - HAL_FILTER_PROTO_TYPE_UDP, - HAL_FILTER_PROTO_TYPE_MAX -}tHalRcvPktFltProtocolType; - -typedef enum -{ - HAL_FILTER_CMP_TYPE_INVALID, - HAL_FILTER_CMP_TYPE_EQUAL, - HAL_FILTER_CMP_TYPE_MASK_EQUAL, - HAL_FILTER_CMP_TYPE_NOT_EQUAL, - HAL_FILTER_CMP_TYPE_MAX -}tHalRcvPktFltCmpFlagType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 protocolLayer; - tANI_U8 cmpFlag; - tANI_U16 dataLength; /* Length of the data to compare */ - tANI_U8 dataOffset; /* from start of the respective frame header */ - tANI_U8 reserved; /* Reserved field */ - tANI_U8 compareData[HAL_PROTOCOL_DATA_LEN]; /* Data to compare */ - tANI_U8 dataMask[HAL_PROTOCOL_DATA_LEN]; /* Mask to be applied on the received packet data before compare */ -}tHalRcvPktFilterParams, *tpHalRcvPktFilterParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 filterId; - tANI_U8 filterType; - tANI_U8 numParams; - tANI_U32 coalesceTime; - tHalRcvPktFilterParams paramsData[1]; -}tHalRcvPktFilterCfgType, *tpHalRcvPktFilterCfgType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 filterId; - tANI_U8 filterType; - tANI_U8 numParams; - tANI_U32 coleasceTime; - tANI_U8 bssIdx; - tHalRcvPktFilterParams paramsData[1]; -}tHalSessionizedRcvPktFilterCfgType, *tpHalSessionizedRcvPktFilterCfgType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvPktFilterCfgType pktFilterCfg; -} tHalSetRcvPktFilterReqMsg, *tpHalSetRcvPktFilterReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 dataOffset; /* from start of the respective frame header */ - tANI_U32 cMulticastAddr; - tSirMacAddr multicastAddr[HAL_MAX_NUM_MULTICAST_ADDRESS]; - tANI_U8 bssIdx; -} tHalRcvFltMcAddrListType, *tpHalRcvFltMcAddrListType; - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalSetPktFilterRspParams, *tpHalSetPktFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalSetPktFilterRspParams pktFilterRspParams; -} tHalSetPktFilterRspMsg, *tpHalSetPktFilterRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; -} tHalRcvFltPktMatchCntReqParams, *tpHalRcvFltPktMatchCntReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktMatchCntReqParams pktMatchCntReqParams; -} tHalRcvFltPktMatchCntReqMsg, *tpHalRcvFltPktMatchCntReqMsg; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 filterId; - tANI_U32 matchCnt; -} tHalRcvFltPktMatchCnt; -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - tANI_U32 matchCnt; - tHalRcvFltPktMatchCnt filterMatchCnt[HAL_MAX_NUM_FILTERS]; - tANI_U8 bssIdx; -} tHalRcvFltPktMatchRspParams, *tptHalRcvFltPktMatchRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktMatchRspParams fltPktMatchRspParams; -} tHalRcvFltPktMatchCntRspMsg, *tpHalRcvFltPktMatchCntRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; /* only valid for response message */ - tANI_U8 filterId; - tANI_U8 bssIdx; -}tHalRcvFltPktClearParam, *tpHalRcvFltPktClearParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktClearParam filterClearParam; -} tHalRcvFltPktClearReqMsg, *tpHalRcvFltPktClearReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktClearParam filterClearParam; -} tHalRcvFltPktClearRspMsg, *tpHalRcvFltPktClearRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - tANI_U8 bssIdx; -}tHalRcvFltPktSetMcListRspType, *tpHalRcvFltPktSetMcListRspType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltMcAddrListType mcAddrList; -} tHalRcvFltPktSetMcListReqMsg, *tpHalRcvFltPktSetMcListReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktSetMcListRspType rspParam; -} tHalRcvFltPktSetMcListRspMsg, *tpHalRcvFltPktSetMcListRspMsg; - - -/*--------------------------------------------------------------------------- - *******************Packet Filtering Definitions End******************* - *--------------------------------------------------------------------------*/ - -/* - * There are two versions of this message - * Version 1 : Base version - * Current version : Base version + Max LI modulated DTIM - */ -typedef PACKED_PRE struct PACKED_POST -{ - /* Ignore DTIM */ - tANI_U32 uIgnoreDTIM; - - /*DTIM Period*/ - tANI_U32 uDTIMPeriod; - - /* Listen Interval */ - tANI_U32 uListenInterval; - - /* Broadcast Multicast Filter */ - tANI_U32 uBcastMcastFilter; - - /* Beacon Early Termination */ - tANI_U32 uEnableBET; - - /* Beacon Early Termination Interval */ - tANI_U32 uBETInterval; -}tSetPowerParamsVer1Type, *tpSetPowerParamsVer1Type; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetPowerParamsVer1Type powerParams; -} tSetPowerParamsVer1ReqMsg, *tpSetPowerParamsVer1ReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Ignore DTIM */ - tANI_U32 uIgnoreDTIM; - - /*DTIM Period*/ - tANI_U32 uDTIMPeriod; - - /* Listen Interval */ - tANI_U32 uListenInterval; - - /* Broadcast Multicast Filter */ - tANI_U32 uBcastMcastFilter; - - /* Beacon Early Termination */ - tANI_U32 uEnableBET; - - /* Beacon Early Termination Interval */ - tANI_U32 uBETInterval; - - /* MAX LI for modulated DTIM */ - tANI_U32 uMaxLIModulatedDTIM; -}tSetPowerParamsType, *tpSetPowerParamsType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetPowerParamsType powerParams; -} tSetPowerParamsReqMsg, *tpSetPowerParamsReqMsg; - -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tSetPowerParamsResp, *tpSetPowerParamsResp; - -/*--------------------------------------------------------------------------- - ****************Capability bitmap exchange definitions and macros starts************* - *--------------------------------------------------------------------------*/ - -typedef enum { - MCC = 0, - P2P = 1, - DOT11AC = 2, - SLM_SESSIONIZATION = 3, - DOT11AC_OPMODE = 4, - SAP32STA = 5, - TDLS = 6, - P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7, - WLANACTIVE_OFFLOAD = 8, - BEACON_OFFLOAD = 9, - SCAN_OFFLOAD = 10, - ROAM_OFFLOAD = 11, - BCN_MISS_OFFLOAD = 12, - STA_POWERSAVE = 13, - STA_ADVANCED_PWRSAVE = 14, - AP_UAPSD = 15, - AP_DFS = 16, - BLOCKACK = 17, - PHY_ERR = 18, - BCN_FILTER = 19, - RTT = 20, - RATECTRL = 21, - WOW = 22, - WLAN_ROAM_SCAN_OFFLOAD = 23, - SPECULATIVE_PS_POLL = 24, - SCAN_SCH = 25, - IBSS_HEARTBEAT_OFFLOAD = 26, - WLAN_SCAN_OFFLOAD = 27, - WLAN_PERIODIC_TX_PTRN = 28, - ADVANCE_TDLS = 29, - BATCH_SCAN = 30, - MAX_FEATURE_SUPPORTED = 128, -} placeHolderInCapBitmap; - -typedef PACKED_PRE struct PACKED_POST{ - - tANI_U32 featCaps[4]; -} tWlanFeatCaps, *tpWlanFeatCaps; - -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - tWlanFeatCaps wlanFeatCaps; - -} tWlanFeatCapsMsg, *tpWlanFeatCapsMsg; - -#define IS_MCC_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(MCC))) -#define IS_SLM_SESSIONIZATION_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(SLM_SESSIONIZATION))) -#define IS_FEATURE_SUPPORTED_BY_HOST(featEnumValue) (!!halMsg_GetHostWlanFeatCaps(featEnumValue)) -#define IS_WLANACTIVE_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLANACTIVE_OFFLOAD))) -#define IS_WLAN_ROAM_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD))) -#define IS_IBSS_HEARTBEAT_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD))) -#define IS_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_SCAN_OFFLOAD))) - -tANI_U8 halMsg_GetHostWlanFeatCaps(tANI_U8 feat_enum_value); - -#define setFeatCaps(a,b) { tANI_U32 arr_index, bit_index; \ - if ((b)<=127) { \ - arr_index = (b)/32; \ - bit_index = (b)%32; \ - if(arr_index < 4) \ - (a)->featCaps[arr_index] |= (1<<bit_index); \ - } \ - } -#define getFeatCaps(a,b,c) { tANI_U32 arr_index, bit_index; \ - if ((b)<=127) { \ - arr_index = (b)/32; \ - bit_index = (b)%32; \ - (c) = ((a)->featCaps[arr_index] & (1<<bit_index))?1:0; \ - } \ - } -#define clearFeatCaps(a,b) { tANI_U32 arr_index, bit_index; \ - if ((b)<=127) { \ - arr_index = (b)/32; \ - bit_index = (b)%32; \ - (a)->featCaps[arr_index] &= ~(1<<bit_index); \ - } \ - } - -/*--------------------------------------------------------------------------- - * WLAN_HAL_WAKE_REASON_IND - *--------------------------------------------------------------------------*/ - -/* status codes to help debug rekey failures */ -typedef enum -{ - WLAN_HAL_GTK_REKEY_STATUS_SUCCESS = 0, - WLAN_HAL_GTK_REKEY_STATUS_NOT_HANDLED = 1, /* rekey detected, but not handled */ - WLAN_HAL_GTK_REKEY_STATUS_MIC_ERROR = 2, /* MIC check error on M1 */ - WLAN_HAL_GTK_REKEY_STATUS_DECRYPT_ERROR = 3, /* decryption error on M1 */ - WLAN_HAL_GTK_REKEY_STATUS_REPLAY_ERROR = 4, /* M1 replay detected */ - WLAN_HAL_GTK_REKEY_STATUS_MISSING_KDE = 5, /* missing GTK key descriptor in M1 */ - WLAN_HAL_GTK_REKEY_STATUS_MISSING_IGTK_KDE = 6, /* missing iGTK key descriptor in M1 */ - WLAN_HAL_GTK_REKEY_STATUS_INSTALL_ERROR = 7, /* key installation error */ - WLAN_HAL_GTK_REKEY_STATUS_IGTK_INSTALL_ERROR = 8, /* iGTK key installation error */ - WLAN_HAL_GTK_REKEY_STATUS_RESP_TX_ERROR = 9, /* GTK rekey M2 response TX error */ - - WLAN_HAL_GTK_REKEY_STATUS_GEN_ERROR = 255 /* non-specific general error */ -} tGTKRekeyStatus; - -/* wake reason types */ -typedef enum -{ - WLAN_HAL_WAKE_REASON_NONE = 0, - WLAN_HAL_WAKE_REASON_MAGIC_PACKET = 1, /* magic packet match */ - WLAN_HAL_WAKE_REASON_PATTERN_MATCH = 2, /* host defined pattern match */ - WLAN_HAL_WAKE_REASON_EAPID_PACKET = 3, /* EAP-ID frame detected */ - WLAN_HAL_WAKE_REASON_EAPOL4WAY_PACKET = 4, /* start of EAPOL 4-way handshake detected */ - WLAN_HAL_WAKE_REASON_NETSCAN_OFFL_MATCH = 5, /* network scan offload match */ - WLAN_HAL_WAKE_REASON_GTK_REKEY_STATUS = 6, /* GTK rekey status wakeup (see status) */ - WLAN_HAL_WAKE_REASON_BSS_CONN_LOST = 7, /* BSS connection lost */ -} tWakeReasonType; - -/* - Wake Packet which is saved at tWakeReasonParams.DataStart - This data is sent for any wake reasons that involve a packet-based wakeup : - - WLAN_HAL_WAKE_REASON_TYPE_MAGIC_PACKET - WLAN_HAL_WAKE_REASON_TYPE_PATTERN_MATCH - WLAN_HAL_WAKE_REASON_TYPE_EAPID_PACKET - WLAN_HAL_WAKE_REASON_TYPE_EAPOL4WAY_PACKET - WLAN_HAL_WAKE_REASON_TYPE_GTK_REKEY_STATUS - - The information is provided to the host for auditing and debug purposes - -*/ - -/* - Wake reason indication parameters -*/ -typedef PACKED_PRE struct PACKED_POST -{ - uint32 ulReason; /* see tWakeReasonType */ - uint32 ulReasonArg; /* argument specific to the reason type */ - uint32 ulStoredDataLen; /* length of optional data stored in this message, in case - HAL truncates the data (i.e. data packets) this length - will be less than the actual length */ - uint32 ulActualDataLen; /* actual length of data */ - uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen) - see specific wake type */ -} tWakeReasonParams, *tpWakeReasonParams; - -/* - Wake reason indication -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tWakeReasonParams wakeReasonParams; - tANI_U32 uBssIdx : 8; - tANI_U32 bReserved : 24; -} tHalWakeReasonInd, *tpHalWakeReasonInd; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_REQ -*--------------------------------------------------------------------------*/ - -#define HAL_GTK_KEK_BYTES 16 -#define HAL_GTK_KCK_BYTES 16 - -#define WLAN_HAL_GTK_OFFLOAD_FLAGS_DISABLE (1 << 0) - -#define GTK_SET_BSS_KEY_TAG 0x1234AA55 - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 ulFlags; /* optional flags */ - tANI_U8 aKCK[HAL_GTK_KCK_BYTES]; /* Key confirmation key */ - tANI_U8 aKEK[HAL_GTK_KEK_BYTES]; /* key encryption key */ - tANI_U64 ullKeyReplayCounter; /* replay counter */ - tANI_U8 bssIdx; -} tHalGtkOffloadReqParams, *tpHalGtkOffloadReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadReqParams gtkOffloadReqParams; -} tHalGtkOffloadReqMsg, *tpHalGtkOffloadReqMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_RSP -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 ulStatus; /* success or failure */ - tANI_U8 bssIdx; -} tHalGtkOffloadRspParams, *tpHalGtkOffloadRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadRspParams gtkOffloadRspParams; -} tHalGtkOffloadRspMsg, *tpHalGtkOffloadRspMsg; - - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_GETINFO_REQ -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - -} tHalGtkOffloadGetInfoReqParams, *tptHalGtkOffloadGetInfoReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadGetInfoReqParams gtkOffloadGetInfoReqParams; -} tHalGtkOffloadGetInfoReqMsg, *tpHalGtkOffloadGetInfoReqMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_GETINFO_RSP -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 ulStatus; /* success or failure */ - tANI_U32 ulLastRekeyStatus; /* last rekey status when the rekey was offloaded */ - tANI_U64 ullKeyReplayCounter; /* current replay counter value */ - tANI_U32 ulTotalRekeyCount; /* total rekey attempts */ - tANI_U32 ulGTKRekeyCount; /* successful GTK rekeys */ - tANI_U32 ulIGTKRekeyCount; /* successful iGTK rekeys */ - tANI_U8 bssIdx; -} tHalGtkOffloadGetInfoRspParams, *tptHalGtkOffloadGetInfoRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams; -} tHalGtkOffloadGetInfoRspMsg, *tpHalGtkOffloadGetInfoRspMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_DHCP_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the device mode which indicates about the DHCP activity */ - tANI_U8 device_mode; - tSirMacAddr macAddr; -} tDHCPInfo, *tpDHCPInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U32 status; /* success or failure */ -} tDHCPIndStatus, *tpDHCPIndstatus; - -/* - Thermal Mitigation mode of operation. - HAL_THERMAL_MITIGATION_MODE_0 - Based on AMPDU disabling aggregation - HAL_THERMAL_MITIGATION_MODE_1 - Based on AMPDU disabling aggregation and - reducing transmit power - HAL_THERMAL_MITIGATION_MODE_2 - Not supported -*/ -typedef enum -{ - HAL_THERMAL_MITIGATION_MODE_INVALID = -1, - HAL_THERMAL_MITIGATION_MODE_0, - HAL_THERMAL_MITIGATION_MODE_1, - HAL_THERMAL_MITIGATION_MODE_2, - HAL_THERMAL_MITIGATION_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE, -}tHalThermalMitigationModeType; -//typedef tANI_S16 tHalThermalMitigationModeType; - -/* - Thermal Mitigation level. - Note the levels are incremental i.e HAL_THERMAL_MITIGATION_LEVEL_2 = - HAL_THERMAL_MITIGATION_LEVEL_0 + HAL_THERMAL_MITIGATION_LEVEL_1 - - HAL_THERMAL_MITIGATION_LEVEL_0 - lowest level of thermal mitigation. This - level indicates normal mode of operation - HAL_THERMAL_MITIGATION_LEVEL_1 - 1st level of thermal mitigation - HAL_THERMAL_MITIGATION_LEVEL_2 - 2nd level of thermal mitigation - HAL_THERMAL_MITIGATION_LEVEL_3 - 3rd level of thermal mitigation - HAL_THERMAL_MITIGATION_LEVEL_4 - 4th level of thermal mitigation -*/ -typedef enum -{ - HAL_THERMAL_MITIGATION_LEVEL_INVALID = -1, - HAL_THERMAL_MITIGATION_LEVEL_0, - HAL_THERMAL_MITIGATION_LEVEL_1, - HAL_THERMAL_MITIGATION_LEVEL_2, - HAL_THERMAL_MITIGATION_LEVEL_3, - HAL_THERMAL_MITIGATION_LEVEL_4, - HAL_THERMAL_MITIGATION_LEVEL_MAX = WLAN_HAL_MAX_ENUM_SIZE, -}tHalThermalMitigationLevelType; -//typedef tANI_S16 tHalThermalMitigationLevelType; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Thermal Mitigation Operation Mode */ - tHalThermalMitigationModeType thermalMitMode; - - /* Thermal Mitigation Level */ - tHalThermalMitigationLevelType thermalMitLevel; - -}tSetThermalMitgationType, *tpSetThermalMitgationType; - -/* WLAN_HAL_SET_THERMAL_MITIGATION_REQ */ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetThermalMitgationType thermalMitParams; -} tSetThermalMitigationReqMsg, *tpSetThermalMitigationReqMsg; - -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tSetThermalMitigationResp, *tpSetThermalMitigationResp; - -/* Per STA Class B Statistics. Class B statistics are STA TX/RX stats -provided to FW from Host via periodic messages */ -typedef PACKED_PRE struct PACKED_POST { - /* TX stats */ - uint32 txBytesPushed; - uint32 txPacketsPushed; - - /* RX stats */ - uint32 rxBytesRcvd; - uint32 rxPacketsRcvd; - uint32 rxTimeTotal; -} tStaStatsClassB, *tpStaStatsClassB; - -typedef PACKED_PRE struct PACKED_POST { - - /* Duration over which this stats was collected */ - tANI_U32 duration; - - /* Per STA Stats */ - tStaStatsClassB staStatsClassB[HAL_NUM_STA]; -} tStatsClassBIndParams, *tpStatsClassBIndParams; - -typedef PACKED_PRE struct PACKED_POST { - - tHalMsgHeader header; - - /* Class B Stats */ - tStatsClassBIndParams statsClassBIndParams; -} tStatsClassBInd, *tpStatsClassBInd; - -/*Wifi Proximity paramters in AP mode*/ -#ifdef FEATURE_WIFI_PROXIMITY - -typedef PACKED_PRE struct PACKED_POST{ - - tANI_U8 wifiProximityChannel; - tANI_U32 wifiProximityDuration; - tANI_U32 wifiProximityInterval; - tANI_U32 wifiProximityMode; - tANI_U32 wifiProximityStatus; - tSirMacAddr bssId; - tSirMacSSid ssId; - -} tSetWifiProximityReqParam, *tpSetWifiProximityReqParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - tSetWifiProximityReqParam wifiProximityReqParams; - -}tSetWifiProximityReqMsg, *tpSetWifiProximityReqMsg; - -/*WLAN_HAL_WIFI_PROXIMITY_RSP*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tSetWifiProximityRspMsg, *tpSetWifiProxmityRspMsg; - -#endif - -#ifdef FEATURE_SPECULATIVE_PS_POLL -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - tANI_U16 serviceInterval; - tANI_U16 suspendInterval; - tANI_U8 acMask; -} tHalStartSpecPsPollReqParams, *tpHalStartSpecPsPollReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStartSpecPsPollReqParams specPsPollReq; -} tHalStartSpecPsPollReqMsg, *tpHalStartSpecPsPollReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalStartSpecPsPollRspParams, *tpHalStartSpecPsPollRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStartSpecPsPollRspParams startSpecPsPollRspParams; -} tHalStartSpecPsPollRspMsg, *tpHalStartSpecPsPollRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U8 bssIdx; -} tHalStopSpecPsPollsIndMsg, *tpHalStopSpecPsPollsIndMsg; -#endif - -#ifdef FEATURE_WLAN_TDLS -#define HAL_MAX_SUPP_CHANNELS 128 -#define HAL_MAX_SUPP_OPER_CLASSES 32 -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; - - /* if this is 1, self is initiator and peer is reponder */ - tANI_U8 bIsResponder; - - /* QoS Info */ - tANI_U8 acVOUAPSDFlag:1; - tANI_U8 acVIUAPSDFlag:1; - tANI_U8 acBKUAPSDFlag:1; - tANI_U8 acBEUAPSDFlag:1; - tANI_U8 aAck:1; - tANI_U8 maxServicePeriodLength:2; - tANI_U8 moreDataAck:1; - - /*TDLS Peer U-APSD Buffer STA Support*/ - tANI_U8 TPUBufferStaSupport; - - /*TDLS off channel related params */ - tANI_U8 tdlsOffChannelSupport; - tANI_U8 peerCurrOperClass; - tANI_U8 selfCurrOperClass; - tANI_U8 validChannelsLen; - tANI_U8 validChannels[HAL_MAX_SUPP_CHANNELS]; - tANI_U8 validOperClassesLen; - tANI_U8 validOperClasses[HAL_MAX_SUPP_OPER_CLASSES]; -}tTDLSLinkEstablishedType, *tpTDLSLinkEstablishedType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkEstablishedType tdlsLinkEstablishedParams; -} tTDLSLinkEstablishedReqMsg, *tpTDLSLinkEstablishedReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - - /*STA Index*/ - tANI_U16 staIdx; -} tTDLSLinkEstablishedResp, *tpTDLSLinkEstablishedResp; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkEstablishedResp TDLSLinkEstablishedRespParams; -} tTDLSLinkEstablishedRespMsg, *tpTDLSLinkEstablishedRespMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_TEARDOWN_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; -}tTDLSLinkTeardownType, *tpTDLSLinkTeardownType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkTeardownType tdlsLinkTeardownParams; -} tTDLSLinkTeardownReqMsg, *tpTDLSLinkTeardownReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_TEARDOWN_RSP - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - - /*STA Index*/ - tANI_U16 staIdx; -} tTDLSLinkTeardownResp, *tpTDLSLinkTeardownResp; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkTeardownResp TDLSLinkTeardownRespParams; -} tTDLSLinkTeardownRespMsg, *tpTDLSLinkTeardownRespMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_TDLS_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 assocId; - tANI_U16 staIdx; - tANI_U16 status; - tANI_U16 reasonCode; -}tTdlsIndParams, *tpTdlsIndParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTdlsIndParams tdlsIndParams; -}tTdlsIndMsg, *tpTdlsIndMsg; - -#endif - -/*--------------------------------------------------------------------------- - *WLAN_HAL_IBSS_PEER_INACTIVITY_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - tANI_U8 staIdx; - tSirMacAddr staAddr; -}tIbssPeerInactivityIndParams, *tpIbssPeerInactivityIndParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tIbssPeerInactivityIndParams ibssPeerInactivityIndParams; -}tIbssPeerInactivityIndMsg, *tpIbssPeerInactivityIndMsg; - - -/*********** Scan Offload Related Structures *************/ -#define HAL_NUM_SCAN_SSID 10 -#define HAL_NUM_SCAN_BSSID 4 - -/* - * Enumetation to indicate scan type (active/passive) - */ -typedef enum -{ - eSIR_PASSIVE_SCAN, - eSIR_ACTIVE_SCAN = WLAN_HAL_MAX_ENUM_SIZE, -} tSirScanType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 numBssid; - tSirMacAddr bssid[HAL_NUM_SCAN_BSSID]; - tANI_U8 numSsid; - tSirMacSSid ssid[HAL_NUM_SCAN_SSID]; - tANI_BOOLEAN hiddenSsid; - tSirMacAddr selfMacAddr; - tSirBssType bssType; - tSirScanType scanType; - tANI_U32 minChannelTime; - tANI_U32 maxChannelTime; - tANI_BOOLEAN p2pSearch; - tANI_U8 channelCount; - tANI_U8 channels[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; - tANI_U16 ieFieldLen; - tANI_U8 ieField[1]; -}tScanOffloadReqType, *tpScanOffloadReqType; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SCAN_OFFLOAD_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tScanOffloadReqType scanOffloadParams; -} tHalStartScanOffloadReqMsg, *tpHalStartScanOffloadReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SCAN_OFFLOAD_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /*status of the request - just to indicate SO has acknowledged - * * the request and will start scanning*/ - tANI_U32 status; -} tHalStartScanOffloadRspMsg, *tpHalStartScanOffloadRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STOP_SCAN_OFFLOAD_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalStopScanOffloadReqMsg, *tpHalStopScanOffloadReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STOP_SCAN_OFFLOAD_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /*status of the request - just to indicate SO has acknowledged - the request and will start scanning*/ - tANI_U32 status; -} tHalStopScanOffloadRspMsg, *tpHalStopScanOffloadRspMsg; - -/* - * Enumetation of scan events indicated by firmware to the host - */ -typedef enum -{ - WLAN_HAL_SCAN_EVENT_STARTED = 0x1, /* Scan command accepted by FW */ - WLAN_HAL_SCAN_EVENT_COMPLETED = 0x2, /* Scan has been completed by FW */ - WLAN_HAL_SCAN_EVENT_BSS_CHANNEL = 0x4, /* FW is going to move to HOME channel */ - WLAN_HAL_SCAN_EVENT_FOREIGN_CHANNEL = 0x8,/* FW is going to move to FORIEGN channel */ - WLAN_HAL_SCAN_EVENT_DEQUEUED = 0x10, /* scan request got dequeued */ - WLAN_HAL_SCAN_EVENT_PREEMPTED = 0x20, /* preempted by other high priority scan */ - WLAN_HAL_SCAN_EVENT_START_FAILED = 0x40, /* scan start failed */ - WLAN_HAL_SCAN_EVENT_RESTARTED = 0x80, /*scan restarted*/ - WLAN_HAL_SCAN_EVENT_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tScanEventType; - -typedef PACKED_PRE struct PACKED_POST -{ - tScanEventType event; - tANI_U32 channel; - tANI_U32 scanId; -} tScanOffloadEventInfo; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_OFFLOAD_SCAN_EVENT_IND - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tScanOffloadEventInfo scanOffloadInd; -} tHalScanOffloadIndMsg, *tpHalScanOffloadIndMsg; - -typedef PACKED_PRE struct PACKED_POST { - /** primary 20 MHz channel frequency in mhz */ - tANI_U32 mhz; - /** Center frequency 1 in MHz*/ - tANI_U32 band_center_freq1; - /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/ - tANI_U32 band_center_freq2; - /* The first 26 bits are a bit mask to indicate any channel flags, - (see WLAN_HAL_CHAN_FLAG*) - The last 6 bits indicate the mode (see tChannelPhyModeType)*/ - tANI_U32 channel_info; - /** contains min power, max power, reg power and reg class id. */ - tANI_U32 reg_info_1; - /** contains antennamax */ - tANI_U32 reg_info_2; -} tUpdateChannelParam; - - -typedef enum { - WLAN_HAL_MODE_11A = 0, /* 11a Mode */ - WLAN_HAL_MODE_11G = 1, /* 11b/g Mode */ - WLAN_HAL_MODE_11B = 2, /* 11b Mode */ - WLAN_HAL_MODE_11GONLY = 3, /* 11g only Mode */ - WLAN_HAL_MODE_11NA_HT20 = 4, /* 11a HT20 mode */ - WLAN_HAL_MODE_11NG_HT20 = 5, /* 11g HT20 mode */ - WLAN_HAL_MODE_11NA_HT40 = 6, /* 11a HT40 mode */ - WLAN_HAL_MODE_11NG_HT40 = 7, /* 11g HT40 mode */ - WLAN_HAL_MODE_11AC_VHT20 = 8, - WLAN_HAL_MODE_11AC_VHT40 = 9, - WLAN_HAL_MODE_11AC_VHT80 = 10, - WLAN_HAL_MODE_11AC_VHT20_2G = 11, - WLAN_HAL_MODE_11AC_VHT40_2G = 12, - WLAN_HAL_MODE_11AC_VHT80_2G = 13, - WLAN_HAL_MODE_UNKNOWN = 14, - -} tChannelPhyModeType; - -#define WLAN_HAL_CHAN_FLAG_HT40_PLUS 6 -#define WLAN_HAL_CHAN_FLAG_PASSIVE 7 -#define WLAN_HAL_CHAN_ADHOC_ALLOWED 8 -#define WLAN_HAL_CHAN_AP_DISABLED 9 -#define WLAN_HAL_CHAN_FLAG_DFS 10 -#define WLAN_HAL_CHAN_FLAG_ALLOW_HT 11 /* HT is allowed on this channel */ -#define WLAN_HAL_CHAN_FLAG_ALLOW_VHT 12 /* VHT is allowed on this channel */ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 numChan; - tUpdateChannelParam chanParam[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; -} tUpdateChannelReqType; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_CHANNEL_LIST_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateChannelReqType updateChannelParams; -} tHalUpdateChannelReqMsg, *tpHalUpdateChannelReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_CHANNEL_LIST_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /*status of the request - just to indicate SO has acknowledged - * * the request and will start scanning*/ - tANI_U32 status; -} tHalUpdateChannelRspMsg, *tpHalUpdateChannelRspMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_LBP_LEADER_REQ - *-------------------------------------------------------------------------*/ - -/* Maximum number of RMCAST sessions in each role (transmitter or Leader) */ -#define HAL_MAX_RMCAST_SESSIONS 2 - -/* Maximum number of leaders in blacklist or candidate leader list */ -#define HAL_NUM_MAX_LEADERS 8 - -typedef enum -{ - WLAN_HAL_SUGGEST_LEADER, - WLAN_HAL_BECOME_LEADER, - WLAN_HAL_LEADER_CMD_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tLeaderReqCmdType, tLeaderRspCmdType; - -typedef PACKED_PRE struct PACKED_POST -{ - tLeaderReqCmdType cmd; - - /* MAC address of MCAST Transmitter (source) */ - tSirMacAddr mcastTransmitter; - - /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */ - tSirMacAddr mcastGroup; - - /* Optional black list for cmd = WLAN_HAL_SUGGEST_LEADER */ - tSirMacAddr blacklist[HAL_NUM_MAX_LEADERS]; -} tHalLbpLeaderReqParams, *tpHalLbpLeaderReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLbpLeaderReqParams leaderReqParams; -} tHalLbpLeaderReqMsg, *tpHalLbpLeaderReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_LBP_LEADER_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - /* Command Type */ - tLeaderRspCmdType cmd; - - /* MAC address of MCAST Transmitter (source) */ - tSirMacAddr mcastTransmitter; - - /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */ - tSirMacAddr mcastGroup; - - /* List of candidates for cmd = WLAN_HAL_SUGGEST_LEADER*/ - tSirMacAddr leader[HAL_NUM_MAX_LEADERS]; - -} tHalLbpLeaderRspParams, *tpHalLbpLeaderRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLbpLeaderRspParams leaderRspParams; -} tHalLbpLeaderRspMsg, *tpHalLbpLeaderRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_LBP_UPDATE_IND - *-------------------------------------------------------------------------*/ -typedef enum -{ - WLAN_HAL_LEADER_ACCEPTED, //Host-->FW - WLAN_HAL_LEADER_CANCELED, //Host-->FW - WLAN_HAL_LEADER_PICK_NEW, //FW-->Host - WLAN_HAL_LEADER_IND_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tLbpUpdateIndType; - -typedef enum -{ - WLAN_HAL_LBP_LEADER_ROLE, - WLAN_HAL_LBP_TRANSMITTER_ROLE, - WLAN_HAL_LBP_ROLE_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tLbpRoleType; - -typedef PACKED_PRE struct PACKED_POST -{ - tLbpUpdateIndType indication; - - /* Role of the entity generating this indication */ - tLbpRoleType role; - - /* MAC address of MCAST Transmitter (source) */ - tSirMacAddr mcastTransmitter; - - /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */ - tSirMacAddr mcastGroup; - - /* MAC address of MCAST Receiver Leader */ - tSirMacAddr mcastLeader; - - /* Candidate list for indication = WLAN_HAL_LEADER_PICK_NEW */ - tSirMacAddr leader[HAL_NUM_MAX_LEADERS]; -} tHalLbpUpdateIndParams, *tpHalLbpUpdateIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLbpUpdateIndParams leaderIndParams; -} tHalLbpUpdateInd, *tpHalLbpUpdateInd; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 staIdx; // Station Idx; - tANI_U32 txRate; // Legacy transmit rate, in units of 500 kbit/sec, - // for the most recently transmitted frame - tANI_U32 mcsIndex; // mcs index for HT20 and HT40 rates - tANI_U32 txRateFlags; // to differentiate between HT20 and - // HT40 rates; short and long guard interval - tANI_S8 rssi; // RSSI of the last received beacon -}tHalIbssPeerParams, *tpHalIbssPeerParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; // success or failure - tANI_U8 numOfPeers; // Number of Peers for - // which stats are being reported - tHalIbssPeerParams ibssPeerParams[1]; // Stats of peer in IBSS -}tHalIbssPeerInfoRspParams, *tpHalIbssPeerInfoRspParams; - -// WLAN_HAL_GET_IBSS_PEER_INFO_RSP -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalIbssPeerInfoRspParams ibssPeerInfoRspParams; -}tHalIbssPeerInfoRsp, *tpHalIbssPeerInfoRsp; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; // Bss Index - tANI_BOOLEAN allPeerInfoReqd; // If set, all IBSS peers stats are reported - tANI_U8 staIdx; // If allPeerInfoReqd is not set, - // only stats of peer with - // staIdx is reported -}tHalIbssPeerInfoReqParams, *tpHalIbssPeerInfoReqParams; - -// WLAN_HAL_GET_IBSS_PEER_INFO_REQ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalIbssPeerInfoReqParams ibssPeerInfoReqParams; -}tHalIbssPeerInfoReq, *tpHalIbssPeerInfoReq; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RATE_UPDATE_IND - *-------------------------------------------------------------------------*/ - typedef PACKED_PRE struct PACKED_POST -{ - /* 0 implies UCAST RA, positive value implies fixed rate, -1 implies ignore this param */ - tANI_S32 ucastDataRate; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags ucastDataRateTxFlag; - - /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */ - tSirMacAddr bssid; - - /* 0 implies MCAST RA, positive value implies fixed rate, -1 implies ignore */ - tANI_S32 reliableMcastDataRate; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags reliableMcastDataRateTxFlag; - - /* Default (non-reliable) MCAST(or BCAST) fixed rate in 2.4 GHz, 0 implies ignore */ - tANI_U32 mcastDataRate24GHz; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags mcastDataRate24GHzTxFlag; - - /* Default (non-reliable) MCAST(or BCAST) fixed rate in 5 GHz, 0 implies ignore */ - tANI_U32 mcastDataRate5GHz; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags mcastDataRate5GHzTxFlag; - -} tHalRateUpdateParams, *tpHalRateUpdateParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRateUpdateParams halRateUpdateParams; -} tHalRateUpdateInd, * tpHalRateUpdateInd; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_TX_FAIL_IND -*--------------------------------------------------------------------------*/ -// Northbound indication from FW to host on weak link detection -typedef PACKED_PRE struct PACKED_POST -{ - // Sequence number increases by 1 whenever the device driver - // sends a notification event. This is cleared as 0 when the - // JOIN IBSS commamd is issued - tANI_U16 seqNo; - tANI_U16 staId; - tANI_U8 macAddr[HAL_MAC_ADDR_LEN]; -} tHalTXFailIndParams, *tpHalTXFailIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalTXFailIndParams txFailIndParams; -} tHalTXFailIndMsg, *tpHalTXFailIndMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_TX_FAIL_MONITOR_IND -*--------------------------------------------------------------------------*/ -// Southbound message from Host to monitor the Tx failures -typedef PACKED_PRE struct PACKED_POST -{ - // tx_fail_count = 0 should disable the TX Fail monitor, non-zero value should enable it. - tANI_U8 tx_fail_count; -} tTXFailMonitorInfo, *tpTXFailMonitorInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTXFailMonitorInfo txFailMonitor; -} tTXFailMonitorInd, *tpTXFailMonitorInd; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_IP_FORWARD_TABLE_UPDATE_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 destIpv4Addr[HAL_IPV4_ADDR_LEN]; - tANI_U8 nextHopMacAddr[HAL_MAC_ADDR_LEN]; -} tDestIpNextHopMacPair; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 numEntries; - tDestIpNextHopMacPair destIpMacPair[1]; -} tWlanIpForwardTableUpdateIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tWlanIpForwardTableUpdateIndParam ipForwardTableParams; -} tWlanIpForwardTableUpdateInd; - -/*--------------------------------------------------------------------------- - *-------------------------------------------------------------------------*/ - -#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK) -#pragma pack(pop) -#elif defined(__ANI_COMPILER_PRAGMA_PACK) -#else -#endif - -#endif /* _WLAN_HAL_MSG_H_ */ - diff --git a/riva/inc/wlan_nv.h b/riva/inc/wlan_nv.h deleted file mode 100644 index 69f728653e9d..000000000000 --- a/riva/inc/wlan_nv.h +++ /dev/null @@ -1,792 +0,0 @@ -/* -* Copyright (c) 2012 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/** ------------------------------------------------------------------------- * - ------------------------------------------------------------------------- * - - - \file wlan_nv.h - - \brief Types for NV implementation - Anything that needs to be publicly available should - be in this file - - $Id$ - - Copyright (C) 2006 Airgo Networks, Incorporated - - - ========================================================================== */ - -#if !defined( __WLAN_NV_H ) -#define __WLAN_NV_H - -#include "halLegacyPalTypes.h" -#include "halCompiler.h" - -//From HAL/inc/halNv.h -typedef enum -{ - //Common Nv Fields - NV_COMMON_PRODUCT_ID, // 0 - NV_COMMON_PRODUCT_BANDS, // 1 - NV_COMMON_NUM_OF_TX_CHAINS, // 2 - NV_COMMON_NUM_OF_RX_CHAINS, // 3 - NV_COMMON_MAC_ADDR, // 4 - NV_COMMON_MFG_SERIAL_NUMBER, // 5 - NV_COMMON_WLAN_NV_REV_ID, // 6 - NV_COMMON_COUPLER_TYPE, // 7 - NV_COMMON_NV_VERSION, // 8 - NV_COMMON_RESERVED, // 9 - - NUM_NV_FIELDS, - NV_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ - -}eNvField; - - -#define NV_FIELD_MAC_ADDR_SIZE 6 -#define NV_FIELD_MFG_SN_SIZE 40 -typedef enum -{ - PRODUCT_BAND_11_B_G = 0, //Gen6.0 is only this setting - PRODUCT_BAND_11_A_B_G = 1, - PRODUCT_BAND_11_A = 2, - - NUM_PRODUCT_BANDS, - NUM_PRODUCT_BANDS_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}eNvProductBands; //NV_COMMON_PRODUCT_BANDS - -#define EXTERNAL_PA 1 -#define INTERNAL_PA 0 - -#define EXTERNAL_LNA 1 -#define INTERNAL_LNA 0 - -#define EXTERNAL_COUPLER 1 -#define INTERNAL_COUPLER 0 - -#define EXTERNAL_PDET 1 -#define INTERNAL_PDET 0 - -#define DPD_ENABLED 1 -#define DPD_DISABLED 0 - -#define TPC_MODE_OPEN_LOOP 0 -#define TPC_MODE_SCPC 1 -#define TPC_MODE_CLPC_MODE2 2 -#define TPC_MODE_CLPC_MODE3 3 - -#define PA_POLARITY_TX_UNUSED 0 -#define PA_POLARITY_TX_POSITIVE 1 -#define PA_POLARITY_TX_NEGATIVE 2 -#define PA_POLARITY_RX_UNUSED 0 -#define PA_POLARITY_RX_POSITIVE 1 -#define PA_POLARITY_RX_NEGATIVE 2 - -#define NV_VERSION_INVALID 0xFF -#define NV_VERSION_11N_11AC_COUPER_TYPE 0 -#define NV_VERSION_11N_11AC_FW_CONFIG 1 -#define NV_VERSION_LPDC_FW_CONFIG 2 - -#ifdef WCN_PRONTO -#define WLAN_NV_VERSION NV_VERSION_LPDC_FW_CONFIG -#else //WCN_PRONTO -#define WLAN_NV_VERSION NV_VERSION_11N_11AC_FW_CONFIG -#endif //WCN_PRONTO - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 macAddr1[NV_FIELD_MAC_ADDR_SIZE]; /* Default, not change name for compatibility */ - uint8 macAddr2[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr3[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr4[NV_FIELD_MAC_ADDR_SIZE]; -} sMacAddr; - -typedef PACKED_PRE union PACKED_POST -{ - //common NV fields - uint16 productId; - uint8 productBands; - uint8 wlanNvRevId; - uint8 numOfTxChains; - uint8 numOfRxChains; - sMacAddr macAddr; - uint8 mfgSN[NV_FIELD_MFG_SN_SIZE]; - uint8 couplerType; - uint8 nvVersion; -} uNvFields; - - -//format of common part of nv -typedef PACKED_PRE struct PACKED_POST -{ - //always ensure fields are aligned to 32-bit boundaries - uint16 productId; - uint8 productBands; - uint8 wlanNvRevId; //0: WCN1312, 1: WCN1314, 2: WCN3660 - - uint8 numOfTxChains; - uint8 numOfRxChains; - uint8 macAddr[NV_FIELD_MAC_ADDR_SIZE]; /* Default, not change name for compatibility */ - uint8 macAddr2[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr3[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr4[NV_FIELD_MAC_ADDR_SIZE]; - uint8 mfgSN[NV_FIELD_MFG_SN_SIZE]; - uint8 couplerType; - uint8 nvVersion; -} sNvFields; - - -//From wlanfw/inc/halPhyTypes.h - -typedef int8 tPowerdBm; //power in signed 8-bit integer, no decimal places - -typedef PACKED_PRE union PACKED_POST -{ - uint32 measurement; //measured values can be passed to pttApi, but are maintained to 2 decimal places internally - int16 reported; //used internally only - reported values only maintain 2 decimals places -}uAbsPwrPrecision; - -typedef enum -{ - PHY_TX_CHAIN_0 = 0, - - NUM_PHY_MAX_TX_CHAINS = 1, - PHY_MAX_TX_CHAINS = NUM_PHY_MAX_TX_CHAINS, - PHY_ALL_TX_CHAINS, - - //possible tx chain combinations - PHY_NO_TX_CHAINS, - PHY_TX_CHAIN_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}ePhyTxChains; - -//From wlanfw/inc/halRfTypes.h - -typedef enum -{ - REG_DOMAIN_FCC, - REG_DOMAIN_ETSI, - REG_DOMAIN_JAPAN, - REG_DOMAIN_WORLD, - REG_DOMAIN_N_AMER_EXC_FCC, - REG_DOMAIN_APAC, - REG_DOMAIN_KOREA, - REG_DOMAIN_HI_5GHZ, - REG_DOMAIN_NO_5GHZ, - - NUM_REG_DOMAINS, - NUM_REG_DOMAINS_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}eRegDomainId; - -typedef enum -{ - RF_SUBBAND_2_4_GHZ = 0, - RF_SUBBAND_5_LOW_GHZ = 1, //Low & Mid U-NII - RF_SUBBAND_5_MID_GHZ = 2, //ETSI - RF_SUBBAND_5_HIGH_GHZ = 3, //High U-NII - RF_SUBBAND_4_9_GHZ = 4, //Japanese - - - NUM_RF_SUBBANDS, - - MAX_RF_SUBBANDS, - INVALID_RF_SUBBAND, - - RF_BAND_2_4_GHZ = 0, - RF_BAND_5_GHZ = 1, - NUM_RF_BANDS, - BOTH_RF_BANDS, - RF_SUBBAND_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}eRfSubBand; - -typedef enum -{ - //2.4GHz Band - RF_CHAN_1 = 0, - RF_CHAN_2 = 1, - RF_CHAN_3 = 2, - RF_CHAN_4 = 3, - RF_CHAN_5 = 4, - RF_CHAN_6 = 5, - RF_CHAN_7 = 6, - RF_CHAN_8 = 7, - RF_CHAN_9 = 8, - RF_CHAN_10 = 9, - RF_CHAN_11 = 10, - RF_CHAN_12 = 11, - RF_CHAN_13 = 12, - RF_CHAN_14 = 13, - - //4.9GHz Band - RF_CHAN_240 = 14, - RF_CHAN_244 = 15, - RF_CHAN_248 = 16, - RF_CHAN_252 = 17, - RF_CHAN_208 = 18, - RF_CHAN_212 = 19, - RF_CHAN_216 = 20, - - //5GHz Low & Mid U-NII Band - RF_CHAN_36 = 21, - RF_CHAN_40 = 22, - RF_CHAN_44 = 23, - RF_CHAN_48 = 24, - RF_CHAN_52 = 25, - RF_CHAN_56 = 26, - RF_CHAN_60 = 27, - RF_CHAN_64 = 28, - - //5GHz Mid Band - ETSI & FCC - RF_CHAN_100 = 29, - RF_CHAN_104 = 30, - RF_CHAN_108 = 31, - RF_CHAN_112 = 32, - RF_CHAN_116 = 33, - RF_CHAN_120 = 34, - RF_CHAN_124 = 35, - RF_CHAN_128 = 36, - RF_CHAN_132 = 37, - RF_CHAN_136 = 38, - RF_CHAN_140 = 39, - - //5GHz High U-NII Band - RF_CHAN_149 = 40, - RF_CHAN_153 = 41, - RF_CHAN_157 = 42, - RF_CHAN_161 = 43, - RF_CHAN_165 = 44, - - //CHANNEL BONDED CHANNELS - RF_CHAN_BOND_3 = 45, - RF_CHAN_BOND_4 = 46, - RF_CHAN_BOND_5 = 47, - RF_CHAN_BOND_6 = 48, - RF_CHAN_BOND_7 = 49, - RF_CHAN_BOND_8 = 50, - RF_CHAN_BOND_9 = 51, - RF_CHAN_BOND_10 = 52, - RF_CHAN_BOND_11 = 53, - RF_CHAN_BOND_242 = 54, //4.9GHz Band - RF_CHAN_BOND_246 = 55, - RF_CHAN_BOND_250 = 56, - RF_CHAN_BOND_210 = 57, - RF_CHAN_BOND_214 = 58, - RF_CHAN_BOND_38 = 59, //5GHz Low & Mid U-NII Band - RF_CHAN_BOND_42 = 60, - RF_CHAN_BOND_46 = 61, - RF_CHAN_BOND_50 = 62, - RF_CHAN_BOND_54 = 63, - RF_CHAN_BOND_58 = 64, - RF_CHAN_BOND_62 = 65, - RF_CHAN_BOND_102 = 66, //5GHz Mid Band - ETSI & FCC - RF_CHAN_BOND_106 = 67, - RF_CHAN_BOND_110 = 68, - RF_CHAN_BOND_114 = 69, - RF_CHAN_BOND_118 = 70, - RF_CHAN_BOND_122 = 71, - RF_CHAN_BOND_126 = 72, - RF_CHAN_BOND_130 = 73, - RF_CHAN_BOND_134 = 74, - RF_CHAN_BOND_138 = 75, - RF_CHAN_BOND_151 = 76, //5GHz High U-NII Band - RF_CHAN_BOND_155 = 77, - RF_CHAN_BOND_159 = 78, - RF_CHAN_BOND_163 = 79, - - NUM_RF_CHANNELS, - - MIN_2_4GHZ_CHANNEL = RF_CHAN_1, - MAX_2_4GHZ_CHANNEL = RF_CHAN_14, - - MIN_5GHZ_CHANNEL = RF_CHAN_240, - MAX_5GHZ_CHANNEL = RF_CHAN_165, - NUM_5GHZ_CHANNELS = (MAX_5GHZ_CHANNEL - MIN_5GHZ_CHANNEL + 1), - - MIN_20MHZ_RF_CHANNEL = RF_CHAN_1, - MAX_20MHZ_RF_CHANNEL = RF_CHAN_165, - NUM_20MHZ_RF_CHANNELS = (MAX_20MHZ_RF_CHANNEL - MIN_20MHZ_RF_CHANNEL + 1), - - MIN_40MHZ_RF_CHANNEL = RF_CHAN_BOND_3, - MAX_40MHZ_RF_CHANNEL = RF_CHAN_BOND_163, - NUM_40MHZ_RF_CHANNELS = (MAX_40MHZ_RF_CHANNEL - MIN_40MHZ_RF_CHANNEL + 1), - - MIN_CB_2_4GHZ_CHANNEL = RF_CHAN_BOND_3, - MAX_CB_2_4GHZ_CHANNEL = RF_CHAN_BOND_11, - - MIN_CB_5GHZ_CHANNEL = RF_CHAN_BOND_242, - MAX_CB_5GHZ_CHANNEL = RF_CHAN_BOND_163, - - NUM_TPC_2_4GHZ_CHANNELS = 14, - NUM_TPC_5GHZ_CHANNELS = NUM_5GHZ_CHANNELS, - - INVALID_RF_CHANNEL = 0xBAD, - RF_CHANNEL_INVALID_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ -}eRfChannels; - -typedef enum -{ - RF_CHAN_1_1 = RF_CHAN_1, - RF_CHAN_2_1 = RF_CHAN_2, - RF_CHAN_3_1 = RF_CHAN_3, - RF_CHAN_4_1 = RF_CHAN_4, - RF_CHAN_5_1 = RF_CHAN_5, - RF_CHAN_6_1 = RF_CHAN_6, - RF_CHAN_7_1 = RF_CHAN_7, - RF_CHAN_8_1 = RF_CHAN_8, - RF_CHAN_9_1 = RF_CHAN_9, - RF_CHAN_10_1 = RF_CHAN_10, - RF_CHAN_11_1 = RF_CHAN_11, - RF_CHAN_12_1 = RF_CHAN_12, - RF_CHAN_13_1 = RF_CHAN_13, - RF_CHAN_14_1 = RF_CHAN_14, -// The above params are used for scripts. - NUM_2_4GHZ_CHANNELS, -}eRfChannels_2_4GHz; - -enum -{ - NV_CHANNEL_DISABLE, - NV_CHANNEL_ENABLE, - NV_CHANNEL_DFS, - NV_CHANNEL_INVALID -}; -typedef uint8 eNVChannelEnabledType; - -typedef PACKED_PRE struct PACKED_POST -{ - eNVChannelEnabledType enabled; - tPowerdBm pwrLimit; -}sRegulatoryChannel; - -typedef PACKED_PRE struct PACKED_POST -{ - sRegulatoryChannel channels[NUM_RF_CHANNELS]; - uAbsPwrPrecision antennaGain[NUM_RF_SUBBANDS]; - uAbsPwrPrecision bRatePowerOffset[NUM_2_4GHZ_CHANNELS]; - uAbsPwrPrecision gnRatePowerOffset[NUM_RF_CHANNELS]; -}ALIGN_4 sRegulatoryDomains; - -typedef PACKED_PRE struct PACKED_POST -{ - int16 bRssiOffset[NUM_RF_CHANNELS]; - int16 gnRssiOffset[NUM_RF_CHANNELS]; -}ALIGN_4 sRssiChannelOffsets; - -typedef PACKED_PRE struct PACKED_POST -{ - uint16 targetFreq; //number in MHz - uint16 channelNum; //channel number as in the eRfChannels enumeration - eRfSubBand band; //band that this channel belongs to -}tRfChannelProps; - -typedef enum -{ - MODE_802_11B = 0, - MODE_802_11AG = 1, - MODE_802_11N = 2, - NUM_802_11_MODES, - MODE_802_11_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -} e80211Modes; - -#define HW_CAL_VALUES_VALID_BMAP_UNUSED 0 //Value -//Bit mask -#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_2G_MASK 0x1 -#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_5G_MASK 0x2 -#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_xLNA_5G_MASK 0x4 -#define HW_VAL_VALUES_VALID_TXBBF_SEL_9MHZ_MASK 0x8 -#define HW_VAL_VALUES_VALID_CUSTOM_TCXO_REG8_MASK 0x10 -#define HW_VAL_VALUES_VALID_CUSTOM_TCXO_REG9_MASK 0x20 - - -//From wlanfw/inc/halPhyCalMemory.h -typedef PACKED_PRE struct PACKED_POST -{ - uint16 psSlpTimeOvrHd2G; - uint16 psSlpTimeOvrHd5G; - - uint16 psSlpTimeOvrHdxLNA5G; - uint8 nv_TxBBFSel9MHz : 1; - uint8 hwParam1 : 7; - uint8 hwParam2; - - uint16 custom_tcxo_reg8; - uint16 custom_tcxo_reg9; - - uint32 hwParam3; - uint32 hwParam4; - uint32 hwParam5; - uint32 hwParam6; - uint32 hwParam7; - uint32 hwParam8; - uint32 hwParam9; - uint32 hwParam10; - uint32 hwParam11; -}sCalData; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 validBmap; //use eNvCalID - sCalData calData; -}sHwCalValues; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 txFirFilterMode; -}sTxBbFilterMode; - -typedef PACKED_PRE struct PACKED_POST -{ - int16 ofdmPwrOffset; - int16 rsvd; -}sOfdmCmdPwrOffset; - -//From wlanfw/inc/halPhyCfg.h -typedef uint8 tTpcLutValue; - -#define MAX_TPC_CAL_POINTS (8) - -typedef uint8 tPowerDetect; //7-bit power detect reading - -typedef PACKED_PRE struct PACKED_POST -{ - tPowerDetect pwrDetAdc; //= SENSED_PWR register, which reports the 8-bit ADC - // the stored ADC value gets shifted to 7-bits as the index to the LUT - tPowerDetect adjustedPwrDet; //7-bit value that goes into the LUT at the LUT[pwrDet] location - //MSB set if extraPrecision.hi8_adjustedPwrDet is used -}tTpcCaldPowerPoint; - -typedef tTpcCaldPowerPoint tTpcCaldPowerTable[NUM_PHY_MAX_TX_CHAINS][MAX_TPC_CAL_POINTS]; - -typedef PACKED_PRE struct PACKED_POST -{ - tTpcCaldPowerTable empirical; //calibrated power points -}tTpcConfig; - -//From wlanfw/inc/phyTxPower.h -#ifndef TPC_MEM_POWER_LUT_DEPTH -#define TPC_MEM_POWER_LUT_DEPTH 256 -#endif - -typedef tTpcLutValue tTpcPowerTable[NUM_PHY_MAX_TX_CHAINS][TPC_MEM_POWER_LUT_DEPTH]; - -typedef PACKED_PRE struct PACKED_POST -{ - tTpcConfig *pwrSampled; //points to CLPC data in calMemory -}tPhyTxPowerBand; - -//From halPhyRates.h -typedef enum -{ - //802.11b Rates - HAL_PHY_RATE_11B_LONG_1_MBPS, - HAL_PHY_RATE_11B_LONG_2_MBPS, - HAL_PHY_RATE_11B_LONG_5_5_MBPS, - HAL_PHY_RATE_11B_LONG_11_MBPS, - HAL_PHY_RATE_11B_SHORT_2_MBPS, - HAL_PHY_RATE_11B_SHORT_5_5_MBPS, - HAL_PHY_RATE_11B_SHORT_11_MBPS, - - //Spica_Virgo 11A 20MHz Rates - HAL_PHY_RATE_11A_6_MBPS, - HAL_PHY_RATE_11A_9_MBPS, - HAL_PHY_RATE_11A_12_MBPS, - HAL_PHY_RATE_11A_18_MBPS, - HAL_PHY_RATE_11A_24_MBPS, - HAL_PHY_RATE_11A_36_MBPS, - HAL_PHY_RATE_11A_48_MBPS, - HAL_PHY_RATE_11A_54_MBPS, - - // 11A 20MHz Rates - HAL_PHY_RATE_11A_DUP_6_MBPS, - HAL_PHY_RATE_11A_DUP_9_MBPS, - HAL_PHY_RATE_11A_DUP_12_MBPS, - HAL_PHY_RATE_11A_DUP_18_MBPS, - HAL_PHY_RATE_11A_DUP_24_MBPS, - HAL_PHY_RATE_11A_DUP_36_MBPS, - HAL_PHY_RATE_11A_DUP_48_MBPS, - HAL_PHY_RATE_11A_DUP_54_MBPS, - - //MCS Index #0-7 (20/40MHz) - HAL_PHY_RATE_MCS_1NSS_6_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_13_MBPS, - HAL_PHY_RATE_MCS_1NSS_19_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_26_MBPS, - HAL_PHY_RATE_MCS_1NSS_39_MBPS, - HAL_PHY_RATE_MCS_1NSS_52_MBPS, - HAL_PHY_RATE_MCS_1NSS_58_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_65_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_7_2_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_14_4_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_21_7_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_28_9_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_43_3_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_57_8_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_65_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_72_2_MBPS, - - //MCS Index #8-15 (20/40MHz) - HAL_PHY_RATE_MCS_1NSS_CB_13_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_27_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_40_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_54_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_81_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_108_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_121_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_135_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_15_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_30_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_45_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_60_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_90_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_120_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_135_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_150_MBPS, - -#ifdef WLAN_FEATURE_11AC - /*11A duplicate 80MHz Rates*/ - HAL_PHY_RATE_11AC_DUP_6_MBPS, - HAL_PHY_RATE_11AC_DUP_9_MBPS, - HAL_PHY_RATE_11AC_DUP_12_MBPS, - HAL_PHY_RATE_11AC_DUP_18_MBPS, - HAL_PHY_RATE_11AC_DUP_24_MBPS, - HAL_PHY_RATE_11AC_DUP_36_MBPS, - HAL_PHY_RATE_11AC_DUP_48_MBPS, - HAL_PHY_RATE_11AC_DUP_54_MBPS, - - /*11AC rate 20MHZ Normal GI*/ - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_6_5_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_13_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_19_5_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_26_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_39_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_52_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_58_5_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_65_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_78_MBPS, -#ifdef WCN_PRONTO - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_86_5_MBPS, -#endif - - /*11AC rate 20MHZ Shortl GI*/ - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_7_2_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_14_4_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_21_6_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_28_8_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_43_3_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_57_7_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_65_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_72_2_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_86_6_MBPS, -#ifdef WCN_PRONTO - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_96_1_MBPS, -#endif - - /*11AC rates 40MHZ normal GI*/ - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_13_5_MBPS , - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_27_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_40_5_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_54_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_81_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_108_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_121_5_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_135_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_162_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_180_MBPS, - - /*11AC rates 40MHZ short GI*/ - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_15_MBPS , - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_30_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_45_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_60_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_90_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_120_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_135_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_150_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_180_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_200_MBPS, - - /*11AC rates 80 MHZ normal GI*/ - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_29_3_MBPS , - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_58_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_87_8_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_117_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_175_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_234_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_263_3_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_292_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_351_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_390_MBPS, - - /*11AC rates 80 MHZ short GI*/ - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_32_5_MBPS , - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_65_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_97_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_130_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_195_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_260_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_292_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_325_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_390_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_433_3_MBPS, -#endif //WLAN_FEATURE_11AC - - NUM_HAL_PHY_RATES, - HAL_PHY_RATE_INVALID, - MIN_RATE_INDEX = 0, - MAX_RATE_INDEX = NUM_HAL_PHY_RATES - 1, - HAL_PHY_RATE_INVALID_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ -}eHalPhyRates; - -#define NUM_RATE_POWER_GROUPS NUM_HAL_PHY_RATES //total number of rate power groups including the CB_RATE_POWER_OFFSET -typedef uAbsPwrPrecision tRateGroupPwr[NUM_HAL_PHY_RATES]; - -//From halNvTables.h -#define NV_FIELD_COUNTRY_CODE_SIZE 3 -typedef PACKED_PRE struct PACKED_POST -{ - uint8 regDomain; //from eRegDomainId - uint8 countryCode[NV_FIELD_COUNTRY_CODE_SIZE]; // string identifier -}sDefaultCountry; - - -#define GF_PA_BIAS_SELECT_MASK 0X7 //(3 bits) -#define TSMC_PA_BIAS_SELECT_MASK 0x7 //(3 bits) - -#define GF_PA_BIAS_SELECT_1 0X0 -#define GF_PA_BIAS_SELECT_2 0X1 - -#define TSMC_PA_BIAS_SELECT_1 0X0 -#define TSMC_PA_BIAS_SELECT_2 0X1 -#define TSMC_PA_BIAS_SELECT_3 0x2 - - -#define EXT_PA_CTRL_POLARITY_DEFAULT 0X0 -#define EXT_PA_CTRL_POLARITY_VALID 0X80 - -#define EXT_PA_CTRL0_POLARITY_MASK 0X3 -#define EXT_PA_CTRL0_POLARITY_OFFSET 0X0 -#define EXT_PA_CTRL1_POLARITY_MASK 0XC -#define EXT_PA_CTRL1_POLARITY_OFFSET 0X2 - -#define EXT_PA_CTRL_POLARITY_ZERO 0X1 -#define EXT_PA_CTRL_POLARITY_ONE 0X2 - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 skuID; - uint8 tpcMode2G; - uint8 tpcMode5G; - uint8 configItem1; - - uint8 xPA2G; - uint8 xPA5G; - uint8 extPaCtrl0Polarity; - uint8 extPaCtrl1Polarity; - - uint8 xLNA2G; - uint8 xLNA5G; - uint8 xCoupler2G; - uint8 xCoupler5G; - - uint8 xPdet2G; - uint8 xPdet5G; - uint8 enableDPD2G; - uint8 enableDPD5G; - - uint8 pdadcSelect2G; - uint8 pdadcSelect5GLow; - uint8 pdadcSelect5GMid; - uint8 pdadcSelect5GHigh; - - uint32 configItem2; - uint32 configItem3; - uint32 configItem4; -}sFwConfig; - - -#define NUM_RF_VR_RATE 13 -typedef uAbsPwrPrecision tRateGroupPwrVR[NUM_RF_VR_RATE]; - -typedef PACKED_PRE union PACKED_POST -{ - tRateGroupPwr pwrOptimum[NUM_RF_SUBBANDS]; // NV_TABLE_RATE_POWER_SETTINGS - sRegulatoryDomains regDomains[NUM_REG_DOMAINS]; // NV_TABLE_REGULATORY_DOMAINS - sDefaultCountry defaultCountryTable; // NV_TABLE_DEFAULT_COUNTRY - tTpcPowerTable plutCharacterized[NUM_RF_CHANNELS]; // NV_TABLE_TPC_POWER_TABLE - int16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS - tRateGroupPwrVR pwrOptimum_virtualRate[NUM_RF_SUBBANDS]; // NV_TABLE_VIRTUAL_RATE - sFwConfig fwConfig; // NV_TABLE_FW_CONFIG - sRssiChannelOffsets rssiChanOffsets[2]; // NV_TABLE_RSSI_CHANNEL_OFFSETS - sHwCalValues hwCalValues; // NV_TABLE_HW_CAL_VALUES - int16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS - int16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS - sOfdmCmdPwrOffset ofdmCmdPwrOffset; // NV_TABLE_OFDM_CMD_PWR_OFFSET - sTxBbFilterMode txbbFilterMode; // NV_TABLE_TX_BB_FILTER_MODE -}ALIGN_4 uNvTables; - -//From halPhy.h -typedef tPowerdBm tChannelPwrLimit; - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 chanId; - tChannelPwrLimit pwr; -} ALIGN_4 tChannelListWithPower; - -//From HAL/inc/halNvTables.h -typedef enum -{ - NV_FIELDS_IMAGE = 0, //contains all fields - - NV_TABLE_RATE_POWER_SETTINGS = 2, - NV_TABLE_REGULATORY_DOMAINS = 3, - NV_TABLE_DEFAULT_COUNTRY = 4, - NV_TABLE_TPC_POWER_TABLE = 5, - NV_TABLE_TPC_PDADC_OFFSETS = 6, - NV_TABLE_HW_CAL_VALUES = 7, - NV_TABLE_RSSI_CHANNEL_OFFSETS = 9, - NV_TABLE_CAL_MEMORY = 10, //cal memory structure from halPhyCalMemory.h preceded by status - NV_TABLE_FW_CONFIG = 11, - NV_TABLE_ANTENNA_PATH_LOSS = 12, - NV_TABLE_PACKET_TYPE_POWER_LIMITS = 13, - NV_TABLE_OFDM_CMD_PWR_OFFSET = 14, - NV_TABLE_TX_BB_FILTER_MODE = 15, - NV_TABLE_VIRTUAL_RATE = 18, - - NUM_NV_TABLE_IDS, - NV_ALL_TABLES = 0xFFF, - NV_BINARY_IMAGE = 0x1000, - NV_MAX_TABLE = 0x7FFFFFFF /* define as 4 bytes data */ -}eNvTable; - -typedef PACKED_PRE struct PACKED_POST -{ - tRateGroupPwr pwrOptimum[NUM_RF_SUBBANDS]; // NV_TABLE_RATE_POWER_SETTINGS - sRegulatoryDomains regDomains[NUM_REG_DOMAINS]; // NV_TABLE_REGULATORY_DOMAINS - sDefaultCountry defaultCountryTable; // NV_TABLE_DEFAULT_COUNTRY - tTpcPowerTable plutCharacterized[NUM_RF_CHANNELS]; // NV_TABLE_TPC_POWER_TABLE - int16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS - tRateGroupPwrVR pwrOptimum_virtualRate[NUM_RF_SUBBANDS]; // NV_TABLE_VIRTUAL_RATE - sFwConfig fwConfig; // NV_TABLE_FW_CONFIG - sRssiChannelOffsets rssiChanOffsets[2]; // NV_TABLE_RSSI_CHANNEL_OFFSETS - sHwCalValues hwCalValues; // NV_TABLE_HW_CAL_VALUES - int16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS - int16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS - sOfdmCmdPwrOffset ofdmCmdPwrOffset; // NV_TABLE_OFDM_CMD_PWR_OFFSET - sTxBbFilterMode txbbFilterMode; // NV_TABLE_TX_BB_FILTER_MODE -}ALIGN_4 sNvTables; - -typedef PACKED_PRE struct PACKED_POST -{ - sNvFields fields; - sNvTables tables; -}ALIGN_4 sHalNv; - -extern const sHalNv nvDefaults; - -#endif - diff --git a/riva/inc/wlan_phy.h b/riva/inc/wlan_phy.h deleted file mode 100644 index 9e8df121bb50..000000000000 --- a/riva/inc/wlan_phy.h +++ /dev/null @@ -1,898 +0,0 @@ -/* -* Copyright (c) 2012-2013 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -#ifndef WLAN_PHY_H -#define WLAN_PHY_H -/*============================================================================ -@file wlan_phy.h - -Contains definitions of all PHY related structures that aree needed by FTM/PTT - -Copyright (c) 2007 Qualcomm Technologies, Inc. All Rights Reserved. -Qualcomm Technologies Proprietary and Confidential -============================================================================*/ -#include <wlan_nv.h> - -/* Currently this structure holds the information about the current calibration mode. -In future, if anymore info is needed, that can be added here */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 currentCalibration; -} sCalibrationInfo; - -typedef PACKED_PRE struct PACKED_POST { - tANI_S16 I; //ADC sample of PHY_I_RAIL - tANI_S16 Q; //ADC sample of PHY_Q_RAIL -}tIQSamples; - -typedef tIQSamples tIQAdc; -typedef tIQSamples tIQDac; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 maxGainIndex; - tANI_U8 topGainDb; - tANI_U8 bottomGainDb; - tANI_U8 unused[1]; -}tAsicAgc; - -#define TXFIR_MEM QWLAN_TXFIR_TXCAL_MEM0_MREG -#define TXFIR_MEM_GAIN_MULT (16) //bytes per gain -#define TXFIR_MEM_PER_CHAIN (16 * TXFIR_MEM_GAIN_MULT) //# of gains per chain * bytes per gain - -typedef tIQAdc tTxCarrierError; - -#define ONE_MICROSECOND (160) -#define DEFAULT_INTERFRAME_SPACE (ONE_MICROSECOND * 10) //10 microseconds - -typedef enum { - PHYDBG_TX_IDLE = 0, - PHYDBG_TX_START = 1, - PHYDBG_TX_WARMUP = 2, - PHYDBG_TX_INFD = 3, - PHYDBG_TX_CMD = 4, - PHYDBG_TX_SVC = 5, - PHYDBG_TX_PYLDF = 6, - PHYDBG_TX_PYLDR = 7, - PHYDBG_TX_CRC = 8, - PHYDBG_TX_FLUSH = 9, - PHYDBG_TX_TXDONEWAIT = 10, - PHYDBG_TX_TIFWAIT = 11 -} ePhyDbgTxStatus; - -typedef enum { - PHYDBG_PREAMBLE_OFDM, - PHYDBG_PREAMBLE_GREENFIELD, - PHYDBG_PREAMBLE_MIXED, - PHYDBG_PREAMBLE_SHORTB, - PHYDBG_PREAMBLE_LONGB, - - PHYDBG_LDPC_PREAMBLE_OFDM = 0x10, - PHYDBG_LDPC_PREAMBLE_GREENFIELD = 0x11, - PHYDBG_LDPC_PREAMBLE_MIXED = 0x12 -} ePhyDbgPreamble; - - -//grab ram -#ifdef VERIFY_HALPHY_SIMV_MODEL -#define GRAB_RAM_DBLOCK_SIZE (256) //number of samples in full capture -#else -#define GRAB_RAM_DBLOCK_SIZE (1024) //number of samples in full capture -#endif - -#define MAX_REQUESTED_GRAB_RAM_SAMPLES 256 //only allow 256 samples at a time -#define GRAB_RAM_BUFFER_DEPTH (4*1024) //maximum grab ram size in full capture -#define LAST_GRAB_RAM_SAMPLE_INDEX (GRAB_RAM_BUFFER_DEPTH - 1) - - -typedef PACKED_PRE struct PACKED_POST { - tIQAdc rx0; -} tGrabRamSample; - - -enum { - GRABRAM_RAWADC = 0, - GRABRAM_POSTIQ -}; -typedef tANI_U32 eGrabRamSampleType; - -typedef tANI_S8 tANI_S6; -typedef tANI_S16 tANI_S9; -typedef tANI_S16 tANI_S10; -typedef tANI_S16 tANI_S12; -typedef tANI_U16 tANI_U10; - - - -//convert float to a format that preserves enough accuracy to be used by driver -typedef tANI_S16 t2Decimal; -#define CONVERT_TO_2DECIMAL_PLACES(x) (x * 100) -#define CONVERT_FROM_2DECIMAL_PLACES(x) (x / 100) - -#ifndef PTT_FLOAT -#define PTT_FLOAT tANI_U32 // driver code can't include float, -//so this reserves space in our structures to allow floating point measurements -#endif - -typedef enum -{ - PHY_RX_CHAIN_0 = 0, - - PHY_MAX_RX_CHAINS = 1, - PHY_ALL_RX_CHAINS, - PHY_NO_RX_CHAINS -}ePhyRxChains; - -typedef enum -{ - PHY_I_RAIL = 0, - PHY_Q_RAIL = 1, - PHY_NUM_IQ_RAILS -}ePhyIQ; - -//[RY] extend total gain steps to 24 - -enum -{ - TX_GAIN_STEP_0, - TX_GAIN_STEP_1, - TX_GAIN_STEP_2, - TX_GAIN_STEP_3, - TX_GAIN_STEP_4, - TX_GAIN_STEP_5, - TX_GAIN_STEP_6, - TX_GAIN_STEP_7, - TX_GAIN_STEP_8, - TX_GAIN_STEP_9, - TX_GAIN_STEP_10, - TX_GAIN_STEP_11, - TX_GAIN_STEP_12, - TX_GAIN_STEP_13, - TX_GAIN_STEP_14, - TX_GAIN_STEP_15, - TX_GAIN_STEP_16, - TX_GAIN_STEP_17, - TX_GAIN_STEP_18, - TX_GAIN_STEP_19, - TX_GAIN_STEP_20, - TX_GAIN_STEP_21, - TX_GAIN_STEP_22, - TX_GAIN_STEP_23, - TX_GAIN_STEP_24, - TX_GAIN_STEP_25, - TX_GAIN_STEP_26, - TX_GAIN_STEP_27, - TX_GAIN_STEP_28, - TX_GAIN_STEP_29, - TX_GAIN_STEP_30, - TX_GAIN_STEP_31, - - RX_GAIN_STEP_0 = 0, - RX_GAIN_STEP_1, - RX_GAIN_STEP_2, - RX_GAIN_STEP_3, - RX_GAIN_STEP_4, - RX_GAIN_STEP_5, - RX_GAIN_STEP_6, - RX_GAIN_STEP_7, - RX_GAIN_STEP_8, - RX_GAIN_STEP_9, - RX_GAIN_STEP_10, - RX_GAIN_STEP_11, - RX_GAIN_STEP_12, - RX_GAIN_STEP_13, - RX_GAIN_STEP_14, - RX_GAIN_STEP_15, - - NUM_TX_GAIN_STEPS = 32, - MAX_TX_GAIN_STEP = TX_GAIN_STEP_31, - - NUM_RX_GAIN_STEPS = 16, - MAX_RX_GAIN_STEP = RX_GAIN_STEP_15, -}; -typedef tANI_U32 eGainSteps; - - -//[RY] new for PRIMA -#define DPD_RESPONSE_SIZE 128 -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 dpdCalFailCnt; //Count for number of times DPD cal failed. - tANI_U8 dpdCalSuccessCnt; //Count for number of times DPD cal passed. - tANI_U8 dpdColdBootRepeatCalStatus; - tANI_U8 dpdLastIteration; - tANI_S16 dpd_threshold[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_aoffset[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_again[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_poffset[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_pgain[DPD_RESPONSE_SIZE]; - tANI_S32 dpd_sample[20]; - tANI_U8 dpd_try; - tANI_U8 band; -}sDPDcorrectionCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sDPDcorrectionCalValues dpd[PHY_MAX_TX_CHAINS]; -}sTxChainsDPDCalValues; - - -//[RY] RX IQ correction coefficients Memory -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 coeff_i[5]; - tANI_S9 coeff_q[5]; -}sIQCalValues; - -//[RY], added for RIVA -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 iq_ampimb_coeff; - tANI_S16 txloleakage_i; // raw data is 6-bit 2's compliment - tANI_S16 txloleakage_q; // raw data is 6-bit 2's compliment -}sTXIQCalValues; - -//[RY], added for RIVA -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 iqphaseimb_coeff_i[5]; - tANI_S9 iqphaseimb_coeff_q[5]; -}sTXIQPhaseImbCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sIQCalValues iq[PHY_MAX_RX_CHAINS]; -}sRxChainsIQCalValues; - -//[RY] change for PRIMA -typedef PACKED_PRE struct PACKED_POST { - sTXIQCalValues iq[PHY_MAX_TX_CHAINS]; - sTXIQPhaseImbCalValues iqImb[PHY_MAX_TX_CHAINS]; -}sTxChainsIQCalValues; - -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 co_i[3]; - tANI_S9 co_q[3]; -}sHKIQCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sHKIQCalValues co[PHY_MAX_TX_CHAINS]; -}sTxChainsHKIQCalValues; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 lna_code; //wlan_lna_5g_control1,wl_5g_lna_load_ctune - tANI_U8 gm_code; //wlan_rxgm_5g_control4,wlgm_ctune -}sLnaBandCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sLnaBandCalValues lnaCode[PHY_MAX_RX_CHAINS]; -}sTxChainsLnaBandCalValues; - -typedef tANI_U16 t_mW; //milliWatts -typedef tANI_U8 tPwrTemplateIndex; //5-bit number used as the index into the tx gain tables - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 txPowerAdc[PHY_MAX_TX_CHAINS]; -}sTxChainsPowerAdcReadings; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 agcGain; -}tRxGain; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 rx[PHY_MAX_RX_CHAINS]; -}sRxChainsData; - -typedef sRxChainsData sRxChainsRssi; -typedef sRxChainsData sRxChainsAgcDisable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN rx[PHY_MAX_RX_CHAINS]; -}sRxChainsBoolean; - -typedef sRxChainsBoolean sRxChainsAgcEnable; - -#define NUM_AGC_GAINS 64 -typedef tRxGain sAgcGainLut[NUM_AGC_GAINS]; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_S6 iLo; - tANI_S6 qLo; -}sTxFirLoCorrect; - -typedef tIQAdc sTxLoCorrectBB[PHY_MAX_TX_CHAINS][NUM_TX_GAIN_STEPS]; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 txIqLoCache[PHY_MAX_TX_CHAINS][NUM_TX_GAIN_STEPS][4]; - tANI_U32 spatialRotation; -}tAsicTxFir; - -//Tx Power Config -//A collection of selected calibrated power points at selected frequencies. -//The algorithm does not need to know any particulars about which frequencies or cal points, -// just the linearized adjustments at the selected calibration points -#define MAX_TPC_CHANNELS (NUM_RF_CHANNELS) -#define START_TPC_CHANNEL (2412) -#define END_TPC_CHANNEL (2484) - -#define MAX_PWR_LUT_DBM (24) -#define MIN_PWR_LUT_DBM (8) - - -/* The reason that MAX_PWR_LUT_DBM_2DEC_PLACES is not simply (MAX_PWR_LUT_DBM * 100) is due to the fact - that we are interpolating the 5-bit power template index from this range compared to a LUT range of 0 to 127. - There is an expectation that this power range is evenly divided in 0.5dBm steps. - We expect that a commanded 13dBm would yield a power template index of 10, where a power template index of 0 would represent 8dBm. - If we used an even 2400 to represent the max power, then the calculation for 13dBm actually returns 9: - (127 - 0)*((1300 - 800)/(2400 - 800))+0 = 39.6875 = 39. When shifted to 5 bits, =9. Not what we wanted. - What we need to do is find the 2-decimal place power that corresponds as closely as possible to the 127 in the 0 to 127 range. - For the 800 to 2400 range, that comes out to 2386.5, so 2386. So again for a commanded power of 13dBm: - (127 - 0)*((1300 - 800)/(2386 - 800))+0 = 40.0378 = 40. When shifted to 5-bits, = 10, which is what we wanted. - -*/ - -#define MIN_PWR_LUT_DBM_2DEC_PLACES (MIN_PWR_LUT_DBM * 100) -#define MAX_PWR_LUT_DBM_2DEC_PLACES ((MAX_PWR_LUT_DBM * 100) - (1 + (100 * (MAX_PWR_LUT_DBM - MIN_PWR_LUT_DBM))/TPC_MEM_POWER_LUT_DEPTH)) - -//macro provides a quick conversion of dbm value between MIN_PWR_LUT_DBM and MAX_PWR_LUT_DBM to a power template index(0 to 31) -//based on convention, which may not hold true in the future. -#define CONVERT_DBM_GINDEX(dbm) (((dbm - MIN_PWR_LUT_DBM) * 32) / (MAX_PWR_LUT_DBM - MIN_PWR_LUT_DBM)) - -typedef tANI_U8 tTxGainCombo; //7-bit gain value used to get the power measurement - -typedef PACKED_PRE struct PACKED_POST -{ - tPowerDetect min; - tPowerDetect max; -}tPwrTemplateRange; - - - -/* - The following union affords backward compatibility with txGain usage with band-specific tTpcConfig tables. - Due to my finding that 7-bits is not enough precision, we need to reuse the txGain space as extra precision bits - for the adjustedPwrDet. My spreadsheet shows that we need at least 4 bits more precision. - To know which usage, the MSB of adjustedPwrDet can be set to signify the extra precision in place of the txGain, which isn't used anyway. - We just need to be careful not to interpret a pre-existing table's txGain as extra precision. -*/ - - typedef union - { - tTxGainCombo txGain; //7-bit gain used to measure the pwrDetAdc value - tANI_U8 hi8_adjustedPwrDet; //if the MSB is set in adjustedPwrDet, then these are extra bits of precision - }uExtraLutBits; - - -typedef PACKED_PRE struct PACKED_POST -{ - t2Decimal min; //sometimes used for comparing chain powers - t2Decimal max; //sometimes used for comparing chain powers -}tPowerdBmRange; //absolute power measurement precision maintained to two decimal places - - -typedef tANI_U16 tRfADCVal; -typedef tRfADCVal tTempADCVal; - -typedef PACKED_PRE struct PACKED_POST -{ - tRfADCVal pdadc_offset; - tANI_U8 reserved[2]; -}tTpcParams; - - -//these definitions used as indexing to power per channel per rate table stored in NV -#define CB_RATE_POWER_OFFSET 0 -#define CB_RATE_POWER_OFFSET_LAST_INDEX 60 //last index where we would apply the CB_RATE_POWER_OFFSET - -/* TX Power Calibration & Report Types */ - - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U8 temperatureAdc; //= 5 bit temperature measured at time sample was taken - tANI_U8 txGain; //= 7 bit gain value used to get the power measurement - tANI_U8 pwrDetAdc; //= 8 bit ADC power detect value - tANI_U8 reserved; - uAbsPwrPrecision absPowerMeasured; //= dBm measurement, will be truncated to two decimal places - }tTpcCalPoint; - - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U16 numTpcCalPoints; - tANI_U16 reserved; - tTpcCalPoint chain[MAX_TPC_CAL_POINTS]; - }tTpcChainData; - - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U16 freq; //frequency in MHz - tANI_U16 reserved; - tTpcChainData empirical[PHY_MAX_TX_CHAINS]; //TPC samples passed in - }tTpcFreqData; - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U8 numChannels; - tANI_U8 reserved[3]; - tTpcFreqData calValues[MAX_TPC_CHANNELS]; - }sTpcFreqCalTable; - - -typedef PACKED_PRE struct PACKED_POST { - tPowerDetect lut; //7-bit value in the power Lookup Table - tANI_U8 reserved[3]; - - uAbsPwrPrecision abs; //LUT value conversion to absolute dBm -}tTxPowerLutOutput; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 gain; //8-bit coarse(bits 4-7) & fine(bits 0-3) gain commanded for the current index - tPowerDetect adc; //8-bit power ADC sampled during the packet preamble - tANI_U16 rawAdc; //11-bit power raw ADC sampled - - tTxPowerLutOutput indexMinMatch; //minimum LUT matching power that satisfies the power template index setting - tTxPowerLutOutput indexMaxMatch; //maximum LUT matching power that satisfies the power template index setting - tTxPowerLutOutput output; //output power values corresponding to power ADC index -}tTxChainPower; - -extern const tRfChannelProps rfChannels[NUM_RF_CHANNELS]; - -typedef enum -{ - RF_CAL_TONE_28NEG, - RF_CAL_TONE_24NEG, - RF_CAL_TONE_20NEG, - RF_CAL_TONE_16NEG, - RF_CAL_TONE_12NEG, - RF_CAL_TONE_8NEG, - RF_CAL_TONE_4NEG, - RF_CAL_TONE_4POS, - RF_CAL_TONE_8POS, - RF_CAL_TONE_12POS, - RF_CAL_TONE_16POS, - RF_CAL_TONE_20POS, - RF_CAL_TONE_24POS, - RF_CAL_TONE_28POS, - - NUM_RF_TONES, - - MIN_RF_TONE = RF_CAL_TONE_28NEG, - MAX_RF_TONE = RF_CAL_TONE_28POS -}eRfTones; - -typedef tANI_U8 tDcoCorrect; -typedef tANI_S8 tIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - tDcoCorrect IDcoCorrect; - tDcoCorrect QDcoCorrect; - tANI_U8 dcRange; -}tRxDcoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxDcoCorrect dco[PHY_MAX_RX_CHAINS]; -}tRxChainsDcoCorrections; - -typedef PACKED_PRE struct PACKED_POST { - tIm2Correct ICorrect; - tIm2Correct QCorrect; -}tRxIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - tRxIm2Correct dco[PHY_MAX_RX_CHAINS]; -}tRxChainsIm2Corrections; - -typedef PACKED_PRE struct PACKED_POST { - tDcoCorrect IDcoCorrect; - tDcoCorrect QDcoCorrect; -}tTxLoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tTxLoCorrect txLo[PHY_MAX_TX_CHAINS]; -}sTxChainsLoCorrections; - - -//tDcoCorrect is needed to define rf specific structures - -#define NUM_RF_RX_GAIN_STEPS (128) -#define MAX_RF_RX_GAIN_STEP (NUM_RF_RX_GAIN_STEPS - 1) - -#define NUM_RF_TX_GAIN_STEPS (16) -#define MAX_RF_TX_GAIN_STEP (NUM_RF_TX_GAIN_STEPS - 1) - -#define RF_AGC_GAIN_LUT_DEPTH (128) -#define NUM_RF_DCO_VALUES (128) //There are only 32 DCO values, but our algorithm it makes more sense for us to access these by AGC gain index -#define MAX_RF_DCO_VALUE (NUM_RF_DCO_VALUES - 1) - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 gainReg1; //GEMINI_REG_RX_GC_0 (lna + mix + tia + bq1 + bq2 + pga) -}tRfRxGain; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 bbf_gain_cnt; - tANI_U16 bbf_lin_adj; - tANI_U16 lo_mix_da_gain_cntl; - tANI_U16 pa_gain_cntl; - tANI_U16 da_pa_bias_1_cnt; - tANI_U16 da_pa_bias_2_cntl; -}tRfTxGain; - -typedef PACKED_PRE struct PACKED_POST -{ - //TODO:define this struct for Gemini - tANI_U8 rxIf; - tANI_U8 txIf; - tANI_U8 txRf; - tANI_U8 reserved; -}sRfSpecificFilterSettings; - -typedef sRfSpecificFilterSettings sRfChannelFilterSettings[NUM_RF_CHANNELS]; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 hdet_ctl_ext_atten; - tANI_U8 hdet_dcoc_code; - tANI_U8 hdet_dcoc_ib_rcal_en; - tANI_U8 hdet_dcoc_ib_scal_en; -}sRfNvCalValues; //stored in QFUSE - - - -typedef enum -{ - SYNTH_UNLOCKED, - SYNTH_LOCK -}eRfSynthLock; - -typedef enum -{ - TEMP_SENSOR_PA, - TEMP_SENSOR_RX -}eRfTempSensor; - -typedef enum -{ - TEMPERATURE_BIN_0, //-30 to 5 C - TEMPERATURE_BIN_1, //5 to 45 C - TEMPERATURE_BIN_2, //45 to 85 C - TEMPERATURE_BIN_3, //85 to 125 C - NUM_TEMPERATURE_BINS -}eTemperatureBins; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 hdetDcocCode; - tANI_U16 hdetDcoOffset; -}sRfHdetCalValues; - -#define TPC_TXPWR_ENABLE_MASK QWLAN_TPC_TXPWR_ENABLE_EN_MASK - - -#define TPC_MEM_TX0_PWR_LUT_OFFSET QWLAN_TPC_POWERDET0_RAM_MREG -#define TPC_MEM_TX1_PWR_LUT_OFFSET QWLAN_TPC_POWERDET1_RAM_MREG -#define TPC_MEM_TX2_PWR_LUT_OFFSET QWLAN_TPC_POWERDET2_RAM_MREG -#define TPC_MEM_TX3_PWR_LUT_OFFSET QWLAN_TPC_POWERDET3_RAM_MREG -#define TPC_MEM_TX0_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT0_MREG -#define TPC_MEM_TX1_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT1_MREG -#define TPC_MEM_TX2_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT2_MREG -#define TPC_MEM_TX3_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT3_MREG - -//these masks are the same for both chains -#define TPC_POWERDET_MASK QWLAN_TPC_POWERDET0_RAM_POWER_MASK -#define TPC_GAIN_RF_MASK QWLAN_TPC_GAIN_LUT0_RF_GAIN_MASK -#define TPC_GAIN_RF_OFFSET QWLAN_TPC_GAIN_LUT0_RF_GAIN_OFFSET -#define TPC_GAIN_DIG_MASK QWLAN_TPC_GAIN_LUT0_DIG_GAIN_MASK - - -#define TPC_MEM_GAIN_LUT_DEPTH 32 - - -#define TPC_ADC_CTRL_REG QWLAN_TPC_ADC_CTRL_GET_ADC_REG -#define TPC_ADC_GET_MASK QWLAN_TPC_ADC_CTRL_GET_ADC_GET_ADC_MASK - -#define TPC_ADC_FAILED_MASK QWLAN_TPC_ADC_STATUS_FAILED_MASK -#define TPC_ADC_BUSY_P_MASK QWLAN_TPC_ADC_STATUS_BUSY_P_MASK -#define TPC_ADC_BUSY_T_MASK QWLAN_TPC_ADC_STATUS_BUSY_T_MASK - - -#define MSK_1 0x1 -#define MSK_2 0x3 -#define MSK_3 0x7 -#define MSK_4 0xF -#define MSK_5 0x1F -#define MSK_6 0x3F -#define MSK_7 0x7F -#define MSK_8 0xFF -#define MSK_9 0x1FF -#define MSK_10 0x3FF -#define MSK_11 0x7FF -#define MSK_12 0xFFF -#define MSK_13 0x1FFF -#define MSK_14 0x3FFF -#define MSK_15 0x7FFF -#define MSK_16 0xFFFF -#define MSK_17 0x1FFFF -#define MSK_18 0x3FFFF -#define MSK_19 0x7FFFF -#define MSK_20 0xFFFFF -#define MSK_21 0x1FFFFF -#define MSK_22 0x3FFFFF -#define MSK_23 0x7FFFFF -#define MSK_24 0xFFFFFF -#define MSK_25 0x1FFFFFF -#define MSK_26 0x3FFFFFF -#define MSK_27 0x7FFFFFF -#define MSK_28 0xFFFFFFF -#define MSK_29 0x1FFFFFFF -#define MSK_30 0x3FFFFFFF -#define MSK_31 0x7FFFFFFF -#define MSK_32 0xFFFFFFFF - - -#define COARSE_GAIN_MASK MSK_4 -#define COARSE_GAIN_OFFSET 4 -#define FINE_GAIN_MASK MSK_4 //the upper most bit overlaps the coarse gain and should not be used for TPC LUT data -#define FINE_GAIN_OFFSET 0 - -typedef enum -{ - TPC_COARSE_TXPWR_0, - TPC_COARSE_TXPWR_1, - TPC_COARSE_TXPWR_2, - TPC_COARSE_TXPWR_3, - TPC_COARSE_TXPWR_4, - TPC_COARSE_TXPWR_5, - TPC_COARSE_TXPWR_6, - TPC_COARSE_TXPWR_7, - TPC_COARSE_TXPWR_8, - TPC_COARSE_TXPWR_9, - TPC_COARSE_TXPWR_10, - TPC_COARSE_TXPWR_11, - TPC_COARSE_TXPWR_12, - TPC_COARSE_TXPWR_13, - TPC_COARSE_TXPWR_14, - TPC_COARSE_TXPWR_15, - TPC_COARSE_TXPWR_16, - TPC_COARSE_TXPWR_17, - TPC_COARSE_TXPWR_18, - TPC_COARSE_TXPWR_19, - TPC_COARSE_TXPWR_20, - TPC_COARSE_TXPWR_21, - TPC_COARSE_TXPWR_22, - TPC_COARSE_TXPWR_23, - TPC_COARSE_TXPWR_24, - TPC_COARSE_TXPWR_25, - TPC_COARSE_TXPWR_26, - TPC_COARSE_TXPWR_27, - TPC_COARSE_TXPWR_28, - TPC_COARSE_TXPWR_29, - TPC_COARSE_TXPWR_30, - TPC_COARSE_TXPWR_31, - NUM_TPC_COARSE_STEPS = TPC_COARSE_TXPWR_31 - TPC_COARSE_TXPWR_0 + 1, - MIN_TPC_COARSE_TXPWR = TPC_COARSE_TXPWR_0, - MAX_TPC_COARSE_TXPWR = TPC_COARSE_TXPWR_31 -}eTxCoarseGain; //refers to the external RF power adjustment - -typedef enum -{ - TPC_FINE_TXPWR_0, - TPC_FINE_TXPWR_1, - TPC_FINE_TXPWR_2, - TPC_FINE_TXPWR_3, - TPC_FINE_TXPWR_4, - TPC_FINE_TXPWR_5, - TPC_FINE_TXPWR_6, - TPC_FINE_TXPWR_7, - TPC_FINE_TXPWR_8, - TPC_FINE_TXPWR_9, - TPC_FINE_TXPWR_10, - TPC_FINE_TXPWR_11, - TPC_FINE_TXPWR_12, - TPC_FINE_TXPWR_13, - TPC_FINE_TXPWR_14, - TPC_FINE_TXPWR_15, - MIN_TPC_FINE_TXPWR = TPC_FINE_TXPWR_0, - MAX_TPC_FINE_TXPWR = TPC_FINE_TXPWR_15 -}eTxFineGain; //refers to the internal TxFIR power adjustment - -typedef PACKED_PRE struct PACKED_POST { - eTxCoarseGain coarsePwr; - eTxFineGain finePwr; -}tTxGain; - -//for 30second periodic interrupt, do this every 5 minutes -#define HAL_PHY_PERIODIC_CAL_ITER_LIMIT 10 - -typedef enum -{ - //these show which rx and tx chains are enabled, other chains are disable accordingly - //Production modes - PHY_CHAIN_SEL_R0_T0_ON, - - PHY_CHAIN_SEL_BT_R0_T0_ON, //simultaneous bluetooth receive enabled - - - //test modes - PHY_CHAIN_SEL_R0_ON, - PHY_CHAIN_SEL_T0_ON, - PHY_CHAIN_SEL_NO_RX_TX, - - MAX_PHY_CHAIN_SEL, - INVALID_PHY_CHAIN_SEL, - PHY_MAX_CHAIN_SELECT = 0x7FFFFFFF /* define as 4 bytes data */ -}ePhyChainSelect; - -typedef enum -{ -#ifdef CHANNEL_BONDED_CAPABLE - - PHY_CCA_40MHZ_SOURCE = 0, -#endif - - PHY_CCA_20MHZ_SOURCE = 1 -}ePhyCCASource; - -typedef enum -{ - PHY_CCA_FORCED_ON = 0, - PHY_CCA_ED = 1, - PHY_CCA_CD = 2, - PHY_CCA_CD_AND_CS = 3, - PHY_CCA_ED_AND_CD = 4, - PHY_CCA_ED_OR_CD = 5, - PHY_CCA_ED_AND_CD_AND_CS = 6, - PHY_CCA_ED_OR_CD_AND_CS = 7, - PHY_CCA_SEC_ED40_AND_NOR_PKTDET40_PKTDET20 = 8, - PHY_CCA_SEC_BUSY = 9 -}ePhyCCAMode; - -typedef enum -{ - PHY_RX_DISABLE_NONE = 0, - PHY_RX_DISABLE_11AG = 0x00000001, - PHY_RX_DISABLE_11B = 0x00000002, - PHY_RX_DISABLE_11N40 = 0x00000004, - PHY_RX_DISABLE_11AC80 = 0x00000008, - - PHY_RX_DISABLE_11ABG = (PHY_RX_DISABLE_11AG | PHY_RX_DISABLE_11B), - PHY_RX_DISABLE_ALL_TYPES = (PHY_RX_DISABLE_11B | PHY_RX_DISABLE_11AG | - PHY_RX_DISABLE_11N40 | PHY_RX_DISABLE_11AC80), -}ePhyRxDisabledPktTypes; - - -// Enum for network density setting. -typedef enum -{ - PHY_NW_DENSITY_LOW = 0, - PHY_NW_DENSITY_MED, - PHY_NW_DENSITY_HIGH, - PHY_NW_DENSITY_ADAPTIVE -} ePhyNwDensity; - - -typedef enum -{ - ALL_CALS, //RxDco 1st, TxLO 2nd - RX_DCO_CAL_ONLY, - RX_IM2_CAL_ONLY, - RX_DCO_IM2_CAL, - TX_LO_CAL_ONLY, - RX_IQ_CAL_ONLY, - TX_IQ_CAL_ONLY, - HKDAC_TX_IQ_CAL_ONLY, - NO_CALS = 0xFF -}eCalSelection; - - -//supports testing of closed-loop power control -typedef enum -{ - FORCE_CLOSED_LOOP_GAIN = 0, //phyDbg pkt gen only uses gain index 0 when we are taking measurements with the closed-loop gain - FORCE_POWER_TEMPLATE_INDEX = 1, //only use forced power template index - FIXED_POWER_DBM = 2, //only use to specify fixed power, ignoring rate/channel/reg limits - REGULATORY_POWER_LIMITS = 3, //use production power Lut settings limited by power limit table per channel - RATE_POWER_NON_LIMITED = 4, //use power specified per rate and channel group, but don't limit power by channel - POWER_INDX_SRC_MAX_VAL = 0x7FFFFFFF, //dummy val to set enum to 4 bytes -}ePowerTempIndexSource; - -#define BIT_0 0x00000001 -#define BIT_1 0x00000002 -#define BIT_2 0x00000004 -#define BIT_3 0x00000008 -#define BIT_4 0x00000010 -#define BIT_5 0x00000020 -#define BIT_6 0x00000040 -#define BIT_7 0x00000080 -#define BIT_8 0x00000100 -#define BIT_9 0x00000200 -#define BIT_10 0x00000400 -#define BIT_11 0x00000800 -#define BIT_12 0x00001000 -#define BIT_13 0x00002000 -#define BIT_14 0x00004000 -#define BIT_15 0x00008000 -#define BIT_16 0x00010000 -#define BIT_17 0x00020000 -#define BIT_18 0x00040000 -#define BIT_19 0x00080000 -#define BIT_20 0x00100000 -#define BIT_21 0x00200000 -#define BIT_22 0x00400000 -#define BIT_23 0x00800000 -#define BIT_24 0x01000000 -#define BIT_25 0x02000000 -#define BIT_26 0x04000000 -#define BIT_27 0x08000000 -#define BIT_28 0x10000000 -#define BIT_29 0x20000000 -#define BIT_30 0x40000000 -#define BIT_31 0x80000000 - -#define WFM_CLK_80 BIT_3 -#define WFM_START BIT_0 -#define WFM_STOP BIT_1 - -#define WFM_MEM_I_DATA_MASK (0x7FF) -#define WFM_MEM_Q_DATA_OFFSET (0xB) -#define WFM_MEM_Q_DATA_MASK (0x3FF800) - -typedef enum -{ - WAVE_SINGLE_SHOT = 0, - WAVE_CONTINUOUS = BIT_2 -}eWaveMode; - -typedef enum -{ - RATE_240 = 0, - RATE_160 = 1, - RATE_120 = 2, - RATE_80 = 3, - RATE_40 = 4, - RATE_20 = 5, -}eWaveRate; - -#define MAX_TONE_AMPLITUDE (2^11) // peak to peak - -#define MAX_TEST_WAVEFORM_SAMPLES 500 - -#define NUM_RX_IMB_CAL_TONES 4 - -#define CAL_WFM_TX_TONE_8_START_IDX 0 -#define CAL_WFM_TX_TONE_8_STOP_IDX 255 -#define CAL_WFM_TX_TONE_MINUS_8_START_IDX 256 -#define CAL_WFM_TX_TONE_MINUS_8_STOP_IDX 511 -#define CAL_WFM_RX_TONE_START_IDX 512 -#define CAL_WFM_RX_TONE_STOP_IDX 767 - -#define B_RATE_CAL_ADJUSTMENT -150 -#define GN_RATE_BANDEDGE_ADJUSTMENT -100 - -#define TPC_INDEX_WIFI_DIRECT 0 -#define TPC_INDEX_LOW_POWER 1 -#define MIN_TPC_GAIN_INDEX 0 //Index 0 used for Wifi Direct -#define TPC_GAIN_LUT_PWR_SLOPE 2 -#define MAX_TPC_GAIN_LUT_DBM (22) -#define MIN_TPC_GAIN_LUT_DBM (6) - -#define MAX_TPC_GAIN_LUT_DBM_2DEC_PLACES (MAX_TPC_GAIN_LUT_DBM * 100) -#define MIN_TPC_GAIN_LUT_DBM_2DEC_PLACES (MIN_TPC_GAIN_LUT_DBM * 100) - -typedef enum -{ - RF_BANDWIDTH_20MHZ = 20, - RF_BANDWIDTH_40MHZ = 40, - RF_BANDWIDTH_80MHZ = 80, - RF_MIN_BANDWIDTH = RF_BANDWIDTH_20MHZ, - RF_MAX_BANDWIDTH = RF_BANDWIDTH_80MHZ, - RF_BANDWIDTH_INVALID = 0x7FFFFFFF -}eRfBandwidth; - -#endif /* WLAN_PHY_H */ diff --git a/riva/inc/wlan_qct_dev_defs.h b/riva/inc/wlan_qct_dev_defs.h deleted file mode 100644 index 12d07fcb8a67..000000000000 --- a/riva/inc/wlan_qct_dev_defs.h +++ /dev/null @@ -1,360 +0,0 @@ -/* -* Copyright (c) 2012-2013 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/** - * - * @file: wlan_qct_dev_defs.h - * - * @brief: This file contains the hardware related definitions. - * - * Copyright (C) 2008, Qualcomm Technologies, Inc. All rights reserved. - */ - -#ifndef __WLAN_QCT_DEV_DEFS_H -#define __WLAN_QCT_DEV_DEFS_H - - -/* -------------------------------------------------------------------- - * HW definitions for WLAN Chip - * -------------------------------------------------------------------- - */ - -#ifdef WCN_PRONTO - -#ifdef WLAN_SOFTAP_VSTA_FEATURE -//supports both V1 and V2 -#define HAL_NUM_ASSOC_STA 32 // HAL_NUM_STA - No of GP STAs - 2 (1 self Sta + 1 Bcast Sta) -#define HAL_NUM_STA 41 -#define HAL_NUM_HW_STA 16 - -#define HAL_NUM_GPSTA 4 -#define HAL_NUM_UMA_DESC_ENTRIES HAL_NUM_HW_STA // or HAL_NUM_STA - -#define HAL_NUM_BSSID 2 -#define HAL_NUM_STA_WITHOUT_VSTA 12 -#define HAL_NUM_STA_INCLUDING_VSTA 32 - -#define HAL_NUM_VSTA (HAL_NUM_STA - HAL_NUM_HW_STA) -#define QWLANFW_MAX_NUM_VSTA (HAL_NUM_VSTA) -#define QWLANFW_VSTA_INVALID_IDX (HAL_NUM_STA+1) -#define QWLAN_VSTA_MIN_IDX (HAL_NUM_HW_STA) -#define QWLANFW_NUM_GPSTA (HAL_NUM_GPSTA) - -// For Pronto -#define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V1 9 -#define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V2 (HAL_NUM_STA_WITHOUT_VSTA) - -#define IS_VSTA_VALID_IDX(__x) \ - ((__x) != QWLANFW_VSTA_INVALID_IDX) - -#define IS_VSTA_IDX(__x) \ - (((__x) >= QWLAN_VSTA_MIN_IDX) && ((__x) < HAL_NUM_STA)) - -#define GET_VSTA_INDEX_FOR_STA_INDEX(__idx) ((__idx) - QWLAN_VSTA_MIN_IDX) - -// is the STA a General Purpose STA? -#define IS_GPSTA_IDX(__x) \ - (((__x) >= (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) && \ - ((__x) < HAL_NUM_HW_STA)) - -// is the STA a HW STA (excluding GP STAs) -#define IS_HWSTA_IDX(__x) \ - ((__x) < (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) - -#define HAL_NUM_STA_INCLUDING_VSTA 32 - -#elif WCN_PRONTO_V1 - -/* In Pronto 1.0 TPE descriptor size is increased to 1K per station - * but not the cMEM allocated for hardware descriptors. Due to this - * memory limitation the number of stations are limited to 9 and BSS - * to 2 respectively. - * - * In Pronto 2.0, TPE descriptor size is reverted - * back to 512 bytes and hence more stations and BSSs can be supported - * from Pronto 2.0 - * - * In Pronto 1.0, 9 HW stations are supported including BCAST STA(staId 0) - * and SELF STA(staId 1). So total ASSOC stations which can connect to - * Pronto 1.0 Softap = 9 - 1(self sta) - 1(Bcast sta) = 7 stations - */ -#define HAL_NUM_HW_STA 9 -#define HAL_NUM_STA (HAL_NUM_HW_STA) -#define HAL_NUM_BSSID 2 -#define HAL_NUM_UMA_DESC_ENTRIES 9 -#define HAL_NUM_ASSOC_STA 7 - - -#else /* WCN_PRONTO_V1 */ - -#define HAL_NUM_HW_STA 14 -#define HAL_NUM_STA (HAL_NUM_HW_STA) -#define HAL_NUM_BSSID 4 -#define HAL_NUM_UMA_DESC_ENTRIES 14 -#define HAL_NUM_ASSOC_STA 12 - - -#endif /* WCN_PRONTO_V1 and WLAN_SOFTAP_VSTA_FEATURE*/ -#else /* WCN_PRONTO */ - -/* - * Riva supports 16 stations in hardware - * - * Riva without Virtual STA feature can only support 12 stations: - * 1 Broadcast STA (hard) - * 1 "Self" STA (hard) - * 10 Soft AP Stations (hard) - * - * Riva with Virtual STA feature supports 38 stations: - * 1 Broadcast STA (hard) - * 1 "Self" STA (hard) - * 4 General Purpose Stations to support Virtual STAs (hard) - * 32 Soft AP Stations (10 hard/22 virtual) - * - * To support concurrency with Vsta, number of stations are increased to 41 (from 38). - * 1 for the second interface. - * 1 for reserving an infra peer STA index (hard) for the other interface. - * 1 for P2P device role. - */ -#ifdef WLAN_SOFTAP_VSTA_FEATURE -#define HAL_NUM_ASSOC_STA 32 -#define HAL_NUM_STA 41 -#define HAL_NUM_HW_STA 16 -#define HAL_NUM_GPSTA 4 -#define HAL_NUM_VSTA (HAL_NUM_STA - HAL_NUM_HW_STA) - -#define QWLANFW_MAX_NUM_VSTA HAL_NUM_VSTA -#define QWLANFW_VSTA_INVALID_IDX (HAL_NUM_STA+1) -#define QWLAN_VSTA_MIN_IDX HAL_NUM_HW_STA -#define QWLANFW_NUM_GPSTA HAL_NUM_GPSTA - - -#define IS_VSTA_VALID_IDX(__x) \ - ((__x) != QWLANFW_VSTA_INVALID_IDX) - -#define IS_VSTA_IDX(__x) \ - (((__x) >= QWLAN_VSTA_MIN_IDX) && ((__x) < HAL_NUM_STA)) - -#define GET_VSTA_INDEX_FOR_STA_INDEX(__idx) ((__idx) - QWLAN_VSTA_MIN_IDX) - -// is the STA a General Purpose STA? -#define IS_GPSTA_IDX(__x) \ - (((__x) >= (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) && \ - ((__x) < HAL_NUM_HW_STA)) - -// is the STA a HW STA (excluding GP STAs) -#define IS_HWSTA_IDX(__x) \ - ((__x) < (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) - -#define HAL_NUM_STA_INCLUDING_VSTA 32 -#define HAL_NUM_STA_WITHOUT_VSTA 12 - -#else -#define HAL_NUM_STA 12 -#define HAL_NUM_ASSOC_STA 10 -#define HAL_NUM_HW_STA 12 -#endif - -#define HAL_NUM_BSSID 2 -#define HAL_NUM_UMA_DESC_ENTRIES HAL_NUM_HW_STA - -#endif /* WCN_PRONTO */ - -#ifdef FEATURE_WLAN_TDLS -#define CXM_TDLS_MAX_NUM_STA 32 -#endif - -#define HAL_INVALID_BSSIDX HAL_NUM_BSSID - -#define MAX_NUM_OF_BACKOFFS 8 -#define HAL_MAX_ASSOC_ID HAL_NUM_STA - -#define WLANHAL_TX_BD_HEADER_SIZE 40 //FIXME_PRIMA - Revisit -#define WLANHAL_RX_BD_HEADER_SIZE 76 - -/* - * From NOVA Mac Arch document - * Encryp. mode The encryption mode - * 000: Encryption functionality is not enabled - * 001: Encryption is set to WEP - * 010: Encryption is set to WEP 104 - * 011: Encryption is set to TKIP - * 100: Encryption is set to AES - * 101 - 111: Reserved for future - */ - -#define HAL_ENC_POLICY_NULL 0 -#define HAL_ENC_POLICY_WEP40 1 -#define HAL_ENC_POLICY_WEP104 2 -#define HAL_ENC_POLICY_TKIP 3 -#define HAL_ENC_POLICY_AES_CCM 4 - -/* --------------------------------------------------------------------- */ -/* BMU */ -/* --------------------------------------------------------------------- */ - -/* - * BMU WQ assignment, as per Prima Programmer's Guide - FIXME_PRIMA: Revisit - * - */ - -typedef enum sBmuWqId { - - /* ====== In use WQs ====== */ - - /* BMU */ - BMUWQ_BMU_IDLE_BD = 0, - BMUWQ_BMU_IDLE_PDU = 1, - - /* RxP */ - BMUWQ_RXP_UNKNWON_ADDR = 2, /* currently unhandled by HAL */ - - /* DPU RX */ - BMUWQ_DPU_RX = 3, - - /* DPU TX */ - BMUWQ_DPU_TX = 6, - - /* Firmware */ - BMUWQ_FW_TRANSMIT = 12, /* DPU Tx->FW Tx */ - BMUWQ_FW_RECV = 7, /* DPU Rx->FW Rx */ - - BMUWQ_FW_RPE_RECV = 16, /* RXP/RPE Rx->FW Rx */ - FW_SCO_WQ = BMUWQ_FW_RPE_RECV, - - /* DPU Error */ - BMUWQ_DPU_ERROR_WQ = 8, - - /* DXE RX */ - BMUWQ_DXE_RX = 11, - - BMUWQ_DXE_RX_HI = 4, - - /* ADU/UMA */ - BMUWQ_ADU_UMA_TX = 23, - BMUWQ_ADU_UMA_RX = 24, - - /* BMU BTQM */ - BMUWQ_BTQM = 25, - - /* Special WQ for BMU to dropping all frames coming to this WQ ID */ - BMUWQ_SINK = 255, - -#ifdef WCN_PRONTO - BMUWQ_BMU_CMEM_IDLE_BD = 27, - /* Total BMU WQ count in Pronto */ - BMUWQ_NUM = 28, - - //WQs 17 through 22 are enabled in Pronto. So, set not supported mask to 0. - BMUWQ_NOT_SUPPORTED_MASK = 0x0, -#else - /* Total BMU WQ count in Prima */ - BMUWQ_NUM = 27, - - //Prima has excluded support for WQs 17 through 22. - BMUWQ_NOT_SUPPORTED_MASK = 0x7e0000, -#endif //WCN_PRONTO - - - /* Aliases */ - BMUWQ_BTQM_TX_MGMT = BMUWQ_BTQM, - BMUWQ_BTQM_TX_DATA = BMUWQ_BTQM, - BMUWQ_BMU_WQ2 = BMUWQ_RXP_UNKNWON_ADDR, - BMUWQ_FW_DPU_TX = 5, - - //WQ where all the frames with addr1/addr2/addr3 with value 254/255 go to. - BMUWQ_FW_RECV_EXCEPTION = 14, //using BMUWQ_FW_MESSAGE WQ for this purpose. - - //WQ where all frames with unknown Addr2 filter exception cases frames will pushed if FW wants host to - //send deauth to the sender. - BMUWQ_HOST_RX_UNKNOWN_ADDR2_FRAMES = 15, //using BMUWQ_FW_DXECH2_0 for this purpose. - - /* ====== Unused/Reserved WQ ====== */ - - /* ADU/UMA Error WQ */ - BMUWQ_ADU_UMA_TX_ERROR_WQ = 13, /* Not in use by HAL */ - BMUWQ_ADU_UMA_RX_ERROR_WQ = 10, /* Not in use by HAL */ - - /* DPU Error WQ2 */ - BMUWQ_DPU_ERROR_WQ2 = 9, /* Not in use by HAL */ - - /* FW WQs */ - //This WQ is being used for RXP to push in frames in exception cases ( addr1/add2/addr3 254/255) - //BMUWQ_FW_MESG = 14, /* DxE Tx->FW, Not in use by FW */ - //BMUWQ_FW_DXECH2_0 = 15, /* BD/PDU<->MEM conversion using DxE CH2. Not in use by FW */ - BMUWQ_FW_DXECH2_1 = 16, /* BD/PDU<->MEM conversion using DxE CH2. Not in use by FW */ - - /* NDPA Addr3 workaround */ - BMUWQ_RXP_DEFAULT_PUSH_WQ = 17, -/* These WQs are not supported in Volans - BMUWQ_BMU_WQ17 = 17, - BMUWQ_BMU_WQ18 = 18, - BMUWQ_BMU_WQ19 = 19, - BMUWQ_BMU_WQ20 = 20, - BMUWQ_BMU_WQ21 = 21, - BMUWQ_BMU_WQ22 = 22 -*/ -} tBmuWqId; - -typedef enum -{ - BTQM_QID0 = 0, - BTQM_QID1, - BTQM_QID2, - BTQM_QID3, - BTQM_QID4, - BTQM_QID5, - BTQM_QID6, - BTQM_QID7, - BTQM_QID8, - BTQM_QID9, - BTQM_QID10, - - BTQM_QUEUE_TX_TID_0 = BTQM_QID0, - BTQM_QUEUE_TX_TID_1, - BTQM_QUEUE_TX_TID_2, - BTQM_QUEUE_TX_TID_3, - BTQM_QUEUE_TX_TID_4, - BTQM_QUEUE_TX_TID_5, - BTQM_QUEUE_TX_TID_6, - BTQM_QUEUE_TX_TID_7, - - - /* Queue Id <-> BO - */ - BTQM_QUEUE_TX_nQOS = BTQM_QID8, - BTQM_QUEUE_SELF_STA_BCAST_MGMT = BTQM_QID10, - BTQM_QUEUE_SELF_STA_UCAST_MGMT = BTQM_QID9, - BTQM_QUEUE_SELF_STA_UCAST_DATA = BTQM_QID9, - BTQM_QUEUE_NULL_FRAME = BTQM_QID9, - BTQM_QUEUE_SELF_STA_PROBE_RSP = BTQM_QID9, - BTQM_QUEUE_TX_AC_BE = BTQM_QUEUE_TX_TID_0, - BTQM_QUEUE_TX_AC_BK = BTQM_QUEUE_TX_TID_2, - BTQM_QUEUE_TX_AC_VI = BTQM_QUEUE_TX_TID_4, - BTQM_QUEUE_TX_AC_VO = BTQM_QUEUE_TX_TID_6 -}tBtqmQId; - -#define STACFG_MAX_TC 8 - -/* --------------------------------------------------------------------- */ -/* BD type*/ -/* --------------------------------------------------------------------- */ -#define HWBD_TYPE_GENERIC 0 /* generic BD format */ -#define HWBD_TYPE_FRAG 1 /* fragmentation BD format*/ - -/*---------------------------------------------------------------------- */ -/* HW Tx power */ -/*---------------------------------------------------------------------- */ -#ifdef WLAN_HAL_PRIMA - #define WLAN_SOC_PRIMA_MAX_TX_POWER 22 - #define WLAN_SOC_PRIMA_MIN_TX_POWER 6 -#else - /* add more platforms here */ - #define WLAN_SOC_PRIMA_MAX_TX_POWER 22 - #define WLAN_SOC_PRIMA_MIN_TX_POWER 6 -#endif //#ifdef WCN_PRIMA - -#endif /* __WLAN_QCT_DEV_DEFS_H */ diff --git a/riva/inc/wlan_status_code.h b/riva/inc/wlan_status_code.h deleted file mode 100644 index 2005aac8dd69..000000000000 --- a/riva/inc/wlan_status_code.h +++ /dev/null @@ -1,160 +0,0 @@ -/* -* Copyright (c) 2012 Qualcomm Atheros, Inc. -* All Rights Reserved. -* Qualcomm Atheros Confidential and Proprietary. -*/ - -/*=========================================================================== - * - * @file: wlan_status_code.h - * - * @brief: Common header file containing all the status codes - * All status codes have been consolidated into one enum - * - * @author: Kumar Anand - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#ifndef __WLAN_STATUS_CODE_H__ -#define __WLAN_STATUS_CODE_H__ - -/*------------------------------------------------------------------------- - Include Files --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ - -/* This is to force compiler to use the maximum of an int ( 4 bytes ) */ -#define WLAN_STATUS_MAX_ENUM_SIZE 0x7FFFFFFF - -/*---------------------------------------------------------------------------- - * Type Declarations - * -------------------------------------------------------------------------*/ - -typedef enum -{ - /* PAL Request succeeded!*/ - PAL_STATUS_SUCCESS = 0, - - /* HAL Request succeeded!*/ - eHAL_STATUS_SUCCESS = 0, - - /* Request failed because there of an invalid request. This is - typically the result of invalid parameters on the request*/ - PAL_STATUS_INVAL, - - /* Request refused because a request is already in place and - another cannot be handled currently */ - PAL_STATUS_ALREADY, - - /* Request failed because of an empty condition */ - PAL_STATUS_EMPTY, - - /* Request failed for some unknown reason. */ - PAL_STATUS_FAILURE, - - /* HAL general failure */ - eHAL_STATUS_FAILURE, - - /* Invalid Param*/ - eHAL_STATUS_INVALID_PARAMETER, - - /* Invalid Station Index*/ - eHAL_STATUS_INVALID_STAIDX, - - /* DPU descriptor table full*/ - eHAL_STATUS_DPU_DESCRIPTOR_TABLE_FULL, - - /* No interrupts */ - eHAL_STATUS_NO_INTERRUPTS, - - /* Interrupt present */ - eHAL_STATUS_INTERRUPT_PRESENT, - - /* Stable Table is full */ - eHAL_STATUS_STA_TABLE_FULL, - - /* Duplicate Station found */ - eHAL_STATUS_DUPLICATE_STA, - - /* BSSID is invalid */ - eHAL_STATUS_BSSID_INVALID, - - /* STA is invalid */ - eHAL_STATUS_STA_INVALID, - - /* BSSID is is duplicate */ - eHAL_STATUS_DUPLICATE_BSSID, - - /* BSS Idx is invalid */ - eHAL_STATUS_INVALID_BSSIDX, - - /* BSSID Table is full */ - eHAL_STATUS_BSSID_TABLE_FULL, - - /* Invalid DPU signature*/ - eHAL_STATUS_INVALID_SIGNATURE, - - /* Invalid key Id */ - eHAL_STATUS_INVALID_KEYID, - - /* Already on requested channel */ - eHAL_STATUS_SET_CHAN_ALREADY_ON_REQUESTED_CHAN, - - /* UMA descriptor table is full */ - eHAL_STATUS_UMA_DESCRIPTOR_TABLE_FULL, - - /* MIC Key table is full */ - eHAL_STATUS_DPU_MICKEY_TABLE_FULL, - - /* A-MPDU/BA related Error codes */ - eHAL_STATUS_BA_RX_BUFFERS_FULL, - eHAL_STATUS_BA_RX_MAX_SESSIONS_REACHED, - eHAL_STATUS_BA_RX_INVALID_SESSION_ID, - - eHAL_STATUS_TIMER_START_FAILED, - eHAL_STATUS_TIMER_STOP_FAILED, - eHAL_STATUS_FAILED_ALLOC, - - /* Scan failure codes */ - eHAL_STATUS_NOTIFY_BSS_FAIL, - - /* Self STA not deleted as reference count is not zero */ - eHAL_STATUS_DEL_STA_SELF_IGNORED_REF_COUNT_NOT_ZERO, - - /* Self STA not added as entry already exists*/ - eHAL_STATUS_ADD_STA_SELF_IGNORED_REF_COUNT_NOT_ZERO, - - /* Message from SLM has failure status */ - eHAL_STATUS_FW_SEND_MSG_FAILED, - - /* BSS disconnect status : beacon miss */ - eHAL_STATUS_BSS_DISCONN_BEACON_MISS, - /* BSS disconnect status : deauth */ - eHAL_STATUS_BSS_DISCONN_DEAUTH, - /* BSS disconnect status : disassoc */ - eHAL_STATUS_BSS_DISCONN_DISASSOC, - - /* Data abort happened in PHY sw */ - eHAL_STATUS_PHY_DATA_ABORT, - - /* Invalid NV field */ - eHAL_STATUS_PHY_INVALID_NV_FIELD, - - /* WLAN boot test failed */ - eHAL_STATUS_WLAN_BOOT_TEST_FAILURE, - - /* Max status value */ - eHAL_STATUS_MAX_VALUE = WLAN_STATUS_MAX_ENUM_SIZE - -} palStatus, eHalStatus; - -/* Helper Macros */ -#define PAL_IS_STATUS_SUCCESS(status) (PAL_STATUS_SUCCESS == (status)) -#define HAL_STATUS_SUCCESS( status ) (eHAL_STATUS_SUCCESS == (status)) - -#endif //__WLAN_STATUS_CODE_H__ diff --git a/wcnss/riva/inc/halCompiler.h b/wcnss/riva/inc/halCompiler.h deleted file mode 100644 index 0705972ea78f..000000000000 --- a/wcnss/riva/inc/halCompiler.h +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/*========================================================================== - * - * @file: aniCompiler.h - * - * @brief: This file tries to abstract the differences among compilers. - * Supported compilers are: - * ARM RVCT compiler - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ -#ifndef __ANI_COMPILER_ABSTRACT_H -#define __ANI_COMPILER_ABSTRACT_H - -/* - * 1. GNU C/C++ Compiler - * - * How to detect gcc : __GNUC__ - * How to detect gcc version : - * major version : __GNUC__ (2 = 2.x, 3 = 3.x, 4 = 4.x) - * minor version : __GNUC_MINOR__ - * - * 2. Microsoft C/C++ Compiler - * - * How to detect msc : _MSC_VER - * How to detect msc version : - * _MSC_VER (1200 = MSVC 6.0, 1300 = MSVC 7.0, ...) - * - * 3. Intel C/C++ Compiler - * - * How to detect icc : __INTEL_COMPILER, __ICC (legacy), __ECC (legacy) - * How to detect icc version : - * __INTEL_COMPILER, __ICC, __ECC (700 = 7.0, 900 = 9.0, ...) - * - * 4. Other compilers (not supported) - * - * Borland : __BORLANDC__ - * Greenhills : __ghs - * Metrowerks : __MWERKS__ - * SGI MIPSpro : __sgi - */ - -/* - * Packing directives : These are used to force compiler to pack bits and - * bytes in the data structure. C standard does not regulate this strictly, - * and many things are to compiler implementation. Many compilers support - * compiler specific directives or options that allow different packing - * and alignment. - * - * Alignment directives : Compiler may think packed data structures have - * no specific alignment requirement. Then compiler may generate multiple - * byte accesses to access two byte or four bytes data structures. This - * affects on performance especially for RISC systems. If some data - * structure is located on specific alignment always, alignment directives - * help compiler generate more efficient codes. - */ - -#undef __ANI_COMPILER_PRAGMA_PACK_STACK -#undef __ANI_COMPILER_PRAGMA_PACK - -#if defined(_MSC_VER) -#define __ANI_COMPILER_PRAGMA_PACK_STACK 1 -#define __ANI_COMPILER_PRAGMA_PACK 1 -#define __ani_attr_pre_packed -#define __ani_attr_packed -#define __ani_attr_aligned_2 -#define __ani_attr_aligned_4 -#define __ani_attr_aligned_8 -#define __ani_attr_aligned_16 -#define __ani_attr_aligned_32 -#define PACKED -#define PACKED_POST -#define ALIGN(__value) -#elif defined(__INTEL_COMPILER) || defined(__ICC) || defined(__ECC) -#define __ANI_COMPILER_PRAGMA_PACK 1 -#define __ani_attr_pre_packed -#define __ani_attr_packed -#define __ani_attr_aligned_2 -#define __ani_attr_aligned_4 -#define __ani_attr_aligned_8 -#define __ani_attr_aligned_16 -#define __ani_attr_aligned_32 -#define PACKED -#define PACKED_POST -#define ALIGN(__value) -#elif defined(__GNUC__) -#define __ani_attr_pre_packed -#define __ani_attr_packed __attribute__((packed)) -#define __ani_attr_aligned_2 __attribute__((aligned(2))) -#define __ani_attr_aligned_4 __attribute__((aligned(4))) -#define __ani_attr_aligned_8 __attribute__((aligned(8))) -#define __ani_attr_aligned_16 __attribute__((aligned(16))) -#define __ani_attr_aligned_32 __attribute__((aligned(32))) -#ifndef PACKED -#define PACKED -#endif -#ifndef PACKED_POST -#define PACKED_POST __attribute__((packed)) -#endif -#ifndef ALIGN -#define ALIGN(__value) __attribute__((aligned(__value))) -#endif -#elif defined(ANI_COMPILER_TYPE_RVCT) -/* Nothing defined so far */ - -/* - * RIVA 1.2 and Pronto uses ARMCT5.1 compiler and it throws lot of warning when __align() is used in structure definitions. - * __attribute__((aligned())) is GNU compiler attribute that is accepted by ARM compiler and resolves the warnings. - */ -#if (__ARMCC_VERSION > 400000) -#define __ani_attr_packed -#define __ani_attr_pre_packed __packed -#define __ani_attr_aligned_2 __attribute__((aligned(2))) -#define __ani_attr_aligned_4 __attribute__((aligned(4))) -#define __ani_attr_aligned_8 __attribute__((aligned(8))) -#define __ani_attr_aligned_16 __attribute__((aligned(16))) -#define __ani_attr_aligned_32 __attribute__((aligned(32))) -#define PACKED __packed -#define PACKED_POST -#define ALIGN(__value) __align(__value) -#define PREPACK __packed -#define POSTPACK -#else -#define __ani_attr_packed -#define __ani_attr_pre_packed __packed -#define __ani_attr_aligned_2 __align(2) -#define __ani_attr_aligned_4 __align(4) -#define __ani_attr_aligned_8 __align(8) -#define __ani_attr_aligned_16 __align(16) -#define __ani_attr_aligned_32 __align(32) -#define PACKED __packed -#define PACKED_POST -#define ALIGN(__value) __align(__value) -#endif - -#else -#error "Unknown compiler" -#endif - -#ifndef PACKED_PRE -#define PACKED_PRE __ani_attr_pre_packed -#endif - -#ifndef ALIGN_4 -#define ALIGN_4 __ani_attr_aligned_4 -#endif - -#endif //__ANI_COMPILER_ABSTRACT_H - diff --git a/wcnss/riva/inc/halLegacyPalTypes.h b/wcnss/riva/inc/halLegacyPalTypes.h deleted file mode 100644 index f889b683b90a..000000000000 --- a/wcnss/riva/inc/halLegacyPalTypes.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -#if !defined( __LEGACYPALTYPES_H__ ) -#define __LEGACYPALTYPES_H__ - -/*========================================================================== - * - * @file: halLegacyPalTypes.h - * - * @brief: Exports and types for the Platform Abstraction Layer typedefs. - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#include "qwlanfw_defs.h" - -/* Common type definitions */ -typedef uint8 tANI_U8; -typedef int8 tANI_S8; -typedef uint16 tANI_U16; -typedef int16 tANI_S16; -typedef uint32 tANI_U32; -typedef int32 tANI_S32; - -#ifndef BUILD_QWPTTSTATIC -typedef uint64 tANI_U64; -#endif - -typedef byte tANI_BYTE; -typedef boolean tANI_BOOLEAN; -typedef uint32 tANI_TIMESTAMP; - -#endif /*__LEGACYPALTYPES_H__*/ diff --git a/wcnss/riva/inc/pttFrameGen.h b/wcnss/riva/inc/pttFrameGen.h deleted file mode 100644 index b41b030d1f95..000000000000 --- a/wcnss/riva/inc/pttFrameGen.h +++ /dev/null @@ -1,71 +0,0 @@ -/** ------------------------------------------------------------------------- * - ------------------------------------------------------------------------- * - - - \file pttFrameGen.h - - \brief Definitions for PTT frame generation - - $Id$ - - Copyright (C) 2006 Airgo Networks, Incorporated - - - ========================================================================== */ - -#ifndef PTTFRAMEGEN_H -#define PTTFRAMEGEN_H - - -//#define MAX_PKT_GEN_BUF_ENTRY (HAL_HIF_MAX_TX_RING_ENTRY >> 1) - - - -#define MAX_PAYLOAD_SIZE 2400 -#define MAX_TX_PAYLOAD_SIZE 4096 - -typedef enum { - TEST_PAYLOAD_NONE, - TEST_PAYLOAD_FILL_BYTE, - TEST_PAYLOAD_RANDOM, - TEST_PAYLOAD_RAMP, - TEST_PAYLOAD_TEMPLATE, - TEST_PAYLOAD_MAX = 0X3FFFFFFF, //dummy value to set enum to 4 bytes -} ePayloadContents; - - -#define MAC_ADDR_SIZE ( 6 ) - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 numTestPackets; - tANI_U32 interFrameSpace; - eHalPhyRates rate; - ePayloadContents payloadContents; - tANI_U16 payloadLength; - tANI_U8 payloadFillByte; - tANI_BOOLEAN pktAutoSeqNum; //seq num setting (hw or not) for packet gen - - tANI_U8 addr1[MAC_ADDR_SIZE]; - tANI_U8 addr2[MAC_ADDR_SIZE]; - tANI_U8 addr3[MAC_ADDR_SIZE]; - tANI_U8 tx_mode; - tANI_BOOLEAN crc; //0 = no FCS calculated = power detector works = receive won't work?, - //1 = crc calculated = receive works, but power detector workaround doesn't - - ePhyDbgPreamble preamble; -} sPttFrameGenParams; - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 legacy; //11g OFDM preamble - tANI_U32 gfSimo20; //greenfield preamble - tANI_U32 mmSimo20; //mixed mode preamble - tANI_U32 gfSimo40; //greenfield preamble - tANI_U32 mmSimo40; //mixed mode preamble - tANI_U32 txbShort; //11b short - tANI_U32 txbLong; //11b long - tANI_U32 acSimo204080; //11ac SIMO 20,40,80 - tANI_U32 total; -} sTxFrameCounters; - -#endif diff --git a/wcnss/riva/inc/pttModule.h b/wcnss/riva/inc/pttModule.h deleted file mode 100644 index 5fc488e3736e..000000000000 --- a/wcnss/riva/inc/pttModule.h +++ /dev/null @@ -1,160 +0,0 @@ -/** - * - Airgo Networks, Inc proprietary. - All Rights Reserved, Copyright 2005 - This program is the confidential and proprietary product of Airgo Networks Inc. - Any Unauthorized use, reproduction or transfer of this program is strictly prohibited. - - - pttModule.h: global variable structure for pttModule - Author: Mark Nelson - Date: 6/27/05 - - History - - Date Modified by Modification Information - -------------------------------------------------------------------------- - - */ - -#ifndef PTTMODULE_H -#define PTTMODULE_H -#include <wlan_phy.h> -#include <pttFrameGen.h> - -#ifdef BUILD_QWPTTSTATIC -#include "wlan_hal_msg.h" // it is needed to build qwptt static lib -#endif - -// Max NV fragment size -#define MAX_NV_BIN_SIZE 2000 - -enum -{ - PTT_STATUS_SUCCESS = 0, - PTT_STATUS_FAILURE = 1, - PTT_MAX_VAL = 0XFFFF, -}; -typedef tANI_U32 eQWPttStatus; - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 drvMjr; - tANI_U16 drvMnr; - tANI_U16 drvPtch; - tANI_U16 drvBld; - tANI_U16 pttMax; - tANI_U16 pttMin; - //FwVersionInfo fwVer; -} sBuildReleaseParams; - -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN agPktsDisabled; //802.11ag - tANI_BOOLEAN bPktsDisabled; //802.11b - tANI_BOOLEAN slrPktsDisabled; //deprecated in Riva - tANI_BOOLEAN n40PktsDisabled; //11N 40 - tANI_BOOLEAN ac80PktsDisabled; //11AC 80 - tANI_BOOLEAN rsvd; -} sRxTypesDisabled; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 totalRxPackets; - tANI_U32 totalMacRxPackets; - tANI_U32 totalMacFcsErrPackets; -} sRxFrameCounters; - - - - -/* GRAB RAM types */ -//TODO: Change Grab RAM interface as appropriate to Taurus -typedef enum { - GRAB_RAM_RXFIR, - GRAB_RAM_ADC, - GRAB_RAM_ADC_80, - GRAB_RAM_MAX_VAL = 0XFFFF, -} eGrabRamType; - -#define GRAB_RAM_SIZE 6000 -#define GRAB_RAM_SIZE_80MHZ_1_CHAIN 12000 - - - -/// Enum used to specify the trigger type for the aniGrabRam API -typedef enum eGramDumpTrigType { - eGRAM_DUMP_UNTRIGGERED, - eGRAM_DUMP_TRIG_ON_11A, - eGRAM_DUMP_TRIG_ON_11B, - eGRAM_DUMP_TRIG_ON_11A_OR_11B -} tGramDumpTrigType; - -typedef PACKED_PRE struct PACKED_POST { - //common to both transmit chains - eHalPhyRates rate; //current rate - ePhyChanBondState cbState; //current Channel bonded state - - tANI_U8 channelId; //current channel Id - tANI_U8 pwrTemplateIndex; //5-bit template index used for the current rate - tANI_U8 reserved[2]; - - //specific transmit chain power - tTxChainPower txChains[PHY_MAX_TX_CHAINS]; //output power for Tx chains -} tTxPowerReport; - -#define RXP_MAX_FILTER_IDX 64 - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 rxpFilterForFTMPER[RXP_MAX_FILTER_IDX]; - uint32 max_pktlen; - uint32 flt_disable0; - uint32 flt_disable1; - uint32 config2; - uint32 push_wq_ctrl; - uint32 push_wq_ctrl2; - uint32 extra_frame_flt; -} sMACConfig; - - -typedef PACKED_PRE struct PACKED_POST { - /* - * The idea here is to store only those things which cannot be - * handled directly within the individual function calls. - * Most things will go straight to registers or come from registers. - */ - sPttFrameGenParams frameGenParams; - tANI_U8 payload[MAX_PAYLOAD_SIZE]; - - //Tx Waveform Gen Service - tANI_U16 numWfmSamples; - tANI_BOOLEAN wfmEnabled; - tANI_BOOLEAN wfmStored; - - //Tx Frame Power Service - tTxGain forcedTxGain[PHY_MAX_TX_CHAINS]; //use TXPWR_OVERRIDE for wfm, and fill gain table otherwise - tANI_U8 tpcPowerLut[PHY_MAX_TX_CHAINS][TPC_MEM_POWER_LUT_DEPTH]; - tTxGain tpcGainLut[PHY_MAX_TX_CHAINS][TPC_MEM_GAIN_LUT_DEPTH]; - - //Tx Frame Gen Service - tANI_BOOLEAN frameGenEnabled; - tANI_BOOLEAN phyDbgFrameGen; //this says use phyDbg for frames - leave this in place until we know that PhyDbg will suffice - - // for FTM PER feature - tANI_U8 tx_mode; - - tANI_BOOLEAN ftm_per_settings_saved; - - //Rx Gain Service - sRxChainsAgcEnable agcEnables; - - tANI_U32 *pADCCaptureCache; //pointer to allocate ADC capture cache - - //TX_TIMER adcRssiStatsTimer; //Create adc rssi stat collection timer - - sRxChainsRssi rssi; -} tPttModuleVariables; - -#ifdef WCN_PRONTO -extern sMACConfig macConfig; -#endif - -#endif /* PTTMODULE_H */ diff --git a/wcnss/riva/inc/pttMsgApi.h b/wcnss/riva/inc/pttMsgApi.h deleted file mode 100644 index e8a65cc0c962..000000000000 --- a/wcnss/riva/inc/pttMsgApi.h +++ /dev/null @@ -1,969 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/** - * - Airgo Networks, Inc proprietary. - All Rights Reserved, Copyright 2005 - This program is the confidential and proprietary product of Airgo Networks Inc. - Any Unauthorized use, reproduction or transfer of this program is strictly prohibited. - - - pttMsgApi.h: Contains messages to PTT Module for physical layer testing - Author: Mark Nelson - Date: 6/21/05 - - History - - Date Modified by Modification Information - -------------------------------------------------------------------------- - - */ - -#ifndef PTT_MSG_API_H -#define PTT_MSG_API_H - -#include "halCompiler.h" -#include "wlan_nv.h" -#include "wlan_phy.h" -#include "pttFrameGen.h" -#include "pttModule.h" - -#include "halLegacyPalTypes.h" - -typedef tANI_U8 tQWPTT_U8; -typedef tANI_S8 tQWPTT_S8; - -typedef tANI_U16 tQWPTT_U16; -typedef tANI_S16 tQWPTT_S16; - -typedef tANI_U32 tQWPTT_U32; -typedef tANI_S32 tQWPTT_S32; - -typedef tANI_U8 tQWPTT_BYTE; -typedef tANI_S9 tQWPTT_S9; - -typedef tANI_U8 tQWPTT_BOOLEAN; - -#define PTT_MEM_ACCESS_MAX_SIZE 256 - -//Messages to/from socket or pttApi.c -typedef enum { - PTT_MSG_TYPES_BEGIN = 0x3000, - - // Init - PTT_MSG_INIT = PTT_MSG_TYPES_BEGIN, //extra: internal only - -//NV Service - PTT_MSG_GET_TPC_CAL_STATE_OBSOLETE = 0x3011, - PTT_MSG_RESET_TPC_CAL_STATE_OBSOLETE = 0x3012, - - PTT_MSG_SET_NV_CKSUM_OBSOLETE = 0x3013, - PTT_MSG_GET_NV_CKSUM_OBSOLETE = 0x3014, - PTT_MSG_GET_NV_TABLE = 0x3016, - PTT_MSG_SET_NV_TABLE = 0x3017, - PTT_MSG_SET_NV_IMAGE_OBSOLETE = 0x3018, - PTT_MSG_BLANK_NV = 0x3019, - PTT_MSG_GET_NV_IMAGE_OBSOLETE = 0x301E, - PTT_MSG_DEL_NV_TABLE = 0x301F, - PTT_MSG_GET_NV_FIELD = 0x3020, - PTT_MSG_SET_NV_FIELD = 0x3021, - PTT_MSG_STORE_NV_TABLE = 0x3022, - PTT_MSG_SET_REG_DOMAIN = 0x3023, - -//new NV format Service - PTT_MSG_GET_NV_BIN = 0x3030, - PTT_MSG_SET_NV_BIN = 0x3031, - PTT_MSG_GET_DICTIONARY = 0x3032, - -//Device Register Access - PTT_MSG_DBG_READ_REGISTER = 0x3040, - PTT_MSG_DBG_WRITE_REGISTER = 0x3041, - PTT_MSG_API_WRITE_REGISTER_OBSOLETE = 0x3042, - PTT_MSG_API_READ_REGISTER_OBSOLETE = 0x3043, - PTT_MSG_DBG_READ_MEMORY = 0x3044, - PTT_MSG_DBG_WRITE_MEMORY = 0x3045, - -//Device MAC Test Setup - PTT_MSG_ENABLE_CHAINS = 0x304F, - PTT_MSG_SET_CHANNEL = 0x3050, - -//Tx Waveform Gen Service - PTT_MSG_SET_WAVEFORM = 0x3071, - PTT_MSG_SET_TX_WAVEFORM_GAIN = 0x3072, - PTT_MSG_GET_WAVEFORM_POWER_ADC = 0x3073, - PTT_MSG_START_WAVEFORM = 0x3074, - PTT_MSG_STOP_WAVEFORM = 0x3075, - PTT_MSG_SET_RX_WAVEFORM_GAIN = 0x3076, - PTT_MSG_SET_TX_WAVEFORM_GAIN_PRIMA_V1 = 0x3077, - -//Tx Frame Gen Service - PTT_MSG_CONFIG_TX_PACKET_GEN = 0x3081, - PTT_MSG_START_STOP_TX_PACKET_GEN = 0x3082, - PTT_MSG_POLL_TX_PACKET_PROGRESS_OBSOLETE = 0x3083, - PTT_MSG_FRAME_GEN_STOP_IND_OBSOLETE = 0x3088, - PTT_MSG_QUERY_TX_STATUS = 0x3089, - - -//Tx Frame Power Service - PTT_MSG_CLOSE_TPC_LOOP = 0x30A0, - -//open loop service - PTT_MSG_SET_PACKET_TX_GAIN_TABLE = 0x30A1, - PTT_MSG_SET_PACKET_TX_GAIN_INDEX = 0x30A2, - PTT_MSG_FORCE_PACKET_TX_GAIN = 0x30A3, - -//closed loop(CLPC) service - PTT_MSG_SET_PWR_INDEX_SOURCE = 0x30A4, - PTT_MSG_SET_TX_POWER = 0x30A5, - PTT_MSG_GET_TX_POWER_REPORT = 0x30A7, - PTT_MSG_SAVE_TX_PWR_CAL_TABLE_OBSOLETE = 0x30A8, - PTT_MSG_SET_POWER_LUT = 0x30A9, - PTT_MSG_GET_POWER_LUT = 0x30AA, - PTT_MSG_GET_PACKET_TX_GAIN_TABLE = 0x30AB, - PTT_MSG_SAVE_TX_PWR_FREQ_TABLE_OBSOLETE = 0x30AC, - PTT_MSG_CLPC_TEMP_COMPENSATION_OBSOLETE = 0x30AD, - -//Rx Gain Service - PTT_MSG_DISABLE_AGC_TABLES = 0x30D0, - PTT_MSG_ENABLE_AGC_TABLES = 0x30D1, - PTT_MSG_SET_AGC_TABLES_OBSOLETE = 0x30D2, - PTT_MSG_GET_RX_RSSI = 0x30D3, - PTT_MSG_GET_AGC_TABLE_OBSOLETE = 0x30D5, - -//Rx Frame Catcher Service - PTT_MSG_SET_RX_DISABLE_MODE = 0x30D4, - PTT_MSG_GET_RX_PKT_COUNTS = 0x30E0, - PTT_MSG_RESET_RX_PACKET_STATISTICS = 0x30E2, - PTT_MSG_GET_UNI_CAST_MAC_PKT_RX_RSSI = 0x30E3, - PTT_MSG_GET_UNI_CAST_MAC_PKT_RX_RSSI_CONFIG = 0x30E4, - -//Rx Symbol Service - PTT_MSG_GRAB_RAM = 0x30F0, - PTT_MSG_GRAB_RAM_ONE_CHAIN_OBSOLETE = 0x30F1, - -//Phy Calibration Service - PTT_MSG_RX_IQ_CAL = 0x3100, - PTT_MSG_RX_DCO_CAL = 0x3101, - PTT_MSG_TX_CARRIER_SUPPRESS_CAL = 0x3102, - PTT_MSG_TX_IQ_CAL = 0x3103, - PTT_MSG_EXECUTE_INITIAL_CALS = 0x3104, - PTT_MSG_HDET_CAL = 0x3105, - PTT_MSG_VCO_LINEARITY_CAL_OBSOLETE = 0x3106, - -//Phy Calibration Override Service - PTT_MSG_SET_TX_CARRIER_SUPPRESS_CORRECT = 0x3110, - PTT_MSG_GET_TX_CARRIER_SUPPRESS_CORRECT = 0x3111, - PTT_MSG_SET_TX_IQ_CORRECT = 0x3112, - PTT_MSG_GET_TX_IQ_CORRECT = 0x3113, - PTT_MSG_SET_RX_IQ_CORRECT = 0x3114, - PTT_MSG_GET_RX_IQ_CORRECT = 0x3115, - PTT_MSG_SET_RX_DCO_CORRECT = 0x3116, - PTT_MSG_GET_RX_DCO_CORRECT = 0x3117, - PTT_MSG_SET_TX_IQ_PHASE_NV_TABLE_OBSOLETE = 0x3118, - PTT_MSG_GET_HDET_CORRECT_OBSOLETE = 0x3119, - -//RF Chip Access - PTT_MSG_GET_TEMP_ADC = 0x3202, - PTT_MSG_READ_RF_REG = 0x3203, - PTT_MSG_WRITE_RF_REG = 0x3204, - PTT_MSG_GET_RF_VERSION = 0x3205, - -//Deep sleep support - PTT_MSG_DEEP_SLEEP = 0x3220, - PTT_MSG_READ_SIF_BAR4_REGISTER = 0x3221, - PTT_MSG_WRITE_SIF_BAR4_REGISTER = 0x3222, - PTT_MSG_ENTER_FULL_POWER = 0x3223, - -//Misc - PTT_MSG_SYSTEM_RESET = 0x32A0, //is there any meaning for this in Gen6? - PTT_MSG_LOG_DUMP = 0x32A1, - PTT_MSG_GET_BUILD_RELEASE_NUMBER = 0x32A2, - - -//Messages for Socket App - PTT_MSG_ADAPTER_DISABLED_RSP_OBSOLETE = 0x32A3, - PTT_MSG_ENABLE_ADAPTER = 0x32A4, - PTT_MSG_DISABLE_ADAPTER = 0x32A5, - PTT_MSG_PAUSE_RSP_OBSOLETE = 0x32A6, - PTT_MSG_CONTINUE_RSP_OBSOLETE = 0x32A7, - - PTT_MSG_HALPHY_INIT = 0x32A8, - PTT_MSG_TEST_RXIQ_CAL = 0x32A9, - PTT_MSG_START_TONE_GEN = 0x32AA, - PTT_MSG_STOP_TONE_GEN = 0x32AB, - PTT_MSG_RX_IM2_CAL = 0x32AC, - PTT_MSG_SET_RX_IM2_CORRECT = 0x31AD, - PTT_MSG_GET_RX_IM2_CORRECT = 0x31AE, - PTT_MSG_TEST_DPD_CAL = 0x32AF, // not handle - PTT_MSG_SET_CALCONTROL_BITMAP = 0x32B0, - -//[RY] specific new messages for PRIMA - PTT_MSG_START_WAVEFORM_RF = 0x32B1, - PTT_MSG_STOP_WAVEFORM_RF = 0x32B2, - PTT_MSG_HKDAC_TX_IQ_CAL = 0x32B3, - PTT_MSG_SET_HKADC_TX_IQ_CORRECT = 0x32B4, - PTT_MSG_GET_HKADC_TX_IQ_CORRECT = 0x32B5, - PTT_MSG_SET_DPD_CORRECT = 0x32B6, - PTT_MSG_GET_DPD_CORRECT = 0x32B7, - PTT_MSG_SET_WAVEFORM_RF = 0x32B8, - PTT_MSG_LNA_BAND_CAL = 0x32B9, - PTT_MSG_GET_LNA_BAND_CORRECT = 0x32BA, - PTT_MSG_SET_LNA_BAND_CORRECT = 0x32BB, - PTT_MSG_DPD_CAL = 0x32BC, - -// Suffix'ed Message ID to differential from existing Message name. -// =============================================================== - PTT_MSG_GET_NV_TABLE_PRIMA_V1 = 0x32BD, - PTT_MSG_SET_NV_TABLE_PRIMA_V1 = 0x32BE, - PTT_MSG_RX_IQ_CAL_PRIMA_V1 = 0x32BF, - PTT_MSG_TX_IQ_CAL_PRIMA_V1 = 0x32C0, - PTT_MSG_SET_TX_IQ_CORRECT_PRIMA_V1 = 0x32C1, - PTT_MSG_GET_TX_IQ_CORRECT_PRIMA_V1 = 0x32C2, - PTT_MSG_SET_RX_IQ_CORRECT_PRIMA_V1 = 0x32C3, - PTT_MSG_GET_RX_IQ_CORRECT_PRIMA_V1 = 0x32C4, - PTT_MSG_START_WAVEFORM_PRIMA_V1 = 0x32C5, - PTT_MSG_FORCE_PACKET_TX_GAIN_PRIMA_V1 = 0x32C6, - PTT_MSG_CLPC_CAL_SETUP_PRIMA_V1 = 0x32C7, - PTT_MSG_CLPC_CAL_RESTORE_PRIMA_V1 = 0x32C8, - PTT_MSG_CLOSE_TPC_LOOP_PRIMA_V1 = 0x32C9, - PTT_MSG_SW_CLPC_CAL_PRIMA_V1 = 0x32CA, - PTT_MSG_CLPC_CAL_EXTRA_MEASUREMENT_PRIMA_V1 = 0x32CB, - PTT_MSG_PRIMA_GENERIC_CMD = 0x32CC, - PTT_MSG_DIGITAL_PIN_CONNECTIVITY_TEST_RES = 0X32CD, - - PTT_MSG_EXIT = 0x32ff, - PTT_MAX_MSG_ID = PTT_MSG_EXIT -} ePttMsgId; - -enum -{ - PTT_MSG_PRIMA_GENERIC_CMD_FAST_SET_CHANNEL = 0x0, -}; - -#define PTT_MSG_TYPES_BEGIN_30 PTT_MSG_TYPES_BEGIN -#define PTT_MSG_TYPES_BEGIN_31 PTT_MSG_TYPES_BEGIN + 0x100 -#define PTT_MSG_TYPES_BEGIN_32 PTT_MSG_TYPES_BEGIN + 0x200 - -// for FTM PER feature -enum { -Legacy_FTM = 0, -FTM_PER_TX = 1, -FTM_PER_RX = 2, -}; - -#ifndef tANI_BOOLEAN -#define tANI_BOOLEAN tANI_U8 -#endif - - - -/****************************************************************************************************************** - PTT MESSAGES -******************************************************************************************************************/ -//Init -typedef PACKED_PRE struct PACKED_POST { - tPttModuleVariables ptt; -} tMsgPttMsgInit; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; -} tMsgPttGetNvTable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; -} tMsgPttSetNvTable; - -typedef PACKED_PRE struct PACKED_POST { - eNvTable nvTable; -} tMsgPttDelNvTable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttBlankNv; - -typedef PACKED_PRE struct PACKED_POST { - eNvField nvField; - uNvFields fieldData; -} tMsgPttGetNvField; - -typedef PACKED_PRE struct PACKED_POST { - eNvField nvField; - uNvFields fieldData; -} tMsgPttSetNvField; - -typedef PACKED_PRE struct PACKED_POST { - eNvTable nvTable; -} tMsgPttStoreNvTable; - -typedef PACKED_PRE struct PACKED_POST { - eRegDomainId regDomainId; -} tMsgPttSetRegDomain; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; - tANI_U8 nvData[MAX_NV_BIN_SIZE]; -} tMsgPttGetNvBin; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tableSize; - tANI_U32 chunkSize; - eNvTable nvTable; - tANI_U8 nvData[MAX_NV_BIN_SIZE]; -} tMsgPttSetNvBin; - -//Device Register Access -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 regAddr; - tANI_U32 regValue; -} tMsgPttDbgReadRegister; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 regAddr; - tANI_U32 regValue; -} tMsgPttDbgWriteRegister; - -#define PTT_READ_MEM_MAX 512 -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 memAddr; - tANI_U32 nBytes; - tANI_U32 pMemBuf[PTT_READ_MEM_MAX]; //caller should allocate space -} tMsgPttDbgReadMemory; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 memAddr; - tANI_U32 nBytes; - tANI_U32 pMemBuf[PTT_READ_MEM_MAX]; -} tMsgPttDbgWriteMemory; - -//Device MAC Test Setup -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 chId; - ePhyChanBondState cbState; -} tMsgPttSetChannel; - -typedef PACKED_PRE struct PACKED_POST { - ePhyChainSelect chainSelect; -} tMsgPttEnableChains; - -typedef tIQSamples tWaveformSample; - -//Tx Waveform Gen Service -typedef PACKED_PRE struct PACKED_POST { - tWaveformSample waveform[MAX_TEST_WAVEFORM_SAMPLES]; - tANI_U16 numSamples; - tANI_BOOLEAN clk80; - tANI_U8 reserved[1]; -} tMsgPttSetWaveform; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U8 gain; -} tMsgPttSetTxWaveformGain; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U32 gain; -} tMsgPttSetTxWaveformGain_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - ePhyRxChains rxChain; - tANI_U8 gain; -} tMsgPttSetRxWaveformGain; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsPowerAdcReadings txPowerAdc; -} tMsgPttGetWaveformPowerAdc; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttStopWaveform; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttClpcCalSetup_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 setup_measure; - tANI_U16 setup_txDmdPwrOffset; - tANI_U16 measure_totalExtraPt; - tANI_U16 measure_currentMeasurePtIdx; - tANI_U8 plut[256]; -} tMsgPttClpcCalExtraMeasurement_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttClpcCalRestore_PRIMA_V1; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startIndex; - tANI_U32 numSamples; -} tMsgPttStartWaveform; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startIndex; - tANI_U32 numSamples; -} tMsgPttStartWaveform_PRIMA_V1; - -// Added for PRIMA -typedef PACKED_PRE struct PACKED_POST { - tWaveformSample waveform[MAX_TEST_WAVEFORM_SAMPLES]; - tANI_U16 numSamples; - tANI_BOOLEAN clk80; - tANI_U8 reserved[1]; -} tMsgPttSetWaveformRF; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startIndex; - tANI_U32 numSamples; -} tMsgPttStartWaveformRF; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttStopWaveformRF; - -//Tx Frame Gen Service -typedef PACKED_PRE struct PACKED_POST { - sPttFrameGenParams frameParams; -} tMsgPttConfigTxPacketGen; - -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN startStop; - tANI_U8 reserved[3]; -} tMsgPttStartStopTxPacketGen; - -typedef PACKED_PRE struct PACKED_POST { - sTxFrameCounters numFrames; - tANI_BOOLEAN status; - tANI_U8 reserved[3]; -} tMsgPttQueryTxStatus; - -//Tx Frame Power Service -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN tpcClose; - tANI_U8 reserved[3]; -} tMsgPttCloseTpcLoop; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 tpcClose; -} tMsgPttCloseTpcLoop_PRIMA_V1; - - - //open loop service -typedef PACKED_PRE struct PACKED_POST { - - ePhyTxChains txChain; - tANI_U8 minIndex; - tANI_U8 maxIndex; - tANI_U8 reserved[2]; - tANI_U8 gainTable[TPC_MEM_GAIN_LUT_DEPTH]; -} tMsgPttSetPacketTxGainTable; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U8 gainTable[TPC_MEM_GAIN_LUT_DEPTH]; -} tMsgPttGetPacketTxGainTable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 index; - tANI_U8 reserved[3]; -} tMsgPttSetPacketTxGainIndex; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U8 gain; - tANI_U8 reserved[3]; -} tMsgPttForcePacketTxGain; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - tANI_U32 gain; -} tMsgPttForcePacketTxGain_PRIMA_V1; - - -typedef PACKED_PRE struct PACKED_POST { - ePowerTempIndexSource indexSource; -} tMsgPttSetPwrIndexSource; - -typedef PACKED_PRE struct PACKED_POST { - t2Decimal dbmPwr; - tANI_U8 reserved[2]; -} tMsgPttSetTxPower; - -typedef tTxPowerReport tMsgPttGetTxPowerReport; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - - tANI_U8 minIndex; - tANI_U8 maxIndex; - tANI_U8 reserved[2]; - - tANI_U8 powerLut[TPC_MEM_POWER_LUT_DEPTH]; -} tMsgPttSetPowerLut; - -typedef PACKED_PRE struct PACKED_POST { - ePhyTxChains txChain; - - tANI_U8 powerLut[TPC_MEM_POWER_LUT_DEPTH]; -} tMsgPttGetPowerLut; - - -//Rx Gain Service -typedef PACKED_PRE struct PACKED_POST { - sRxChainsAgcDisable gains; -} tMsgPttDisableAgcTables; - - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsAgcEnable enables; -} tMsgPttEnableAgcTables; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsRssi rssi; -} tMsgPttGetRxRssi; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsRssi rssi; -}tMsgPttGetUnicastMacPktRxRssi; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 conf; -}tMsgPttGetUnicastMacPktRxRssiConf_PRIMA_V1; - -//Rx Frame Catcher Service -typedef PACKED_PRE struct PACKED_POST { - sRxTypesDisabled disabled; -} tMsgPttSetRxDisableMode; - -typedef PACKED_PRE struct PACKED_POST { - sRxFrameCounters counters; -} tMsgPttGetRxPktCounts; - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttResetRxPacketStatistics; - - - - - -//ADC Sample Service -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 startSample; //index of first requested sample, 0 causes new capture - tANI_U32 numSamples; //number of samples to transfer to host - eGrabRamSampleType sampleType; - tGrabRamSample grabRam[MAX_REQUESTED_GRAB_RAM_SAMPLES]; -} tMsgPttGrabRam; - - -//Phy Calibration Service -typedef PACKED_PRE struct PACKED_POST { - sRxChainsIQCalValues calValues; - eGainSteps gain; -} tMsgPttRxIqCal; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsDcoCorrections calValues; - tANI_U8 gain; -} tMsgPttRxDcoCal; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsIm2Corrections calValues; - eGainSteps gain; - tANI_U8 im2CalOnly; -} tMsgPttRxIm2Cal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLoCorrections calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttTxCarrierSuppressCal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsIQCalValues calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttTxIqCal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsHKIQCalValues calValues; - eGainSteps gain; -} tMsgPttHKdacTxIqCal; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 unused; -} tMsgPttExecuteInitialCals; - -typedef PACKED_PRE struct PACKED_POST { - sRfHdetCalValues hdetCalValues; -} tMsgPttHdetCal; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 clpcMode; - tANI_U16 txCmdPwr; - tANI_U16 pwrMax_pwrMin; - tANI_U16 step; - tANI_U8 plut[256]; -} tMsgPttClpcSwCal_PRIMA_V1; - - -//Phy Calibration Override Service -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLoCorrections calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttSetTxCarrierSuppressCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLoCorrections calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttGetTxCarrierSuppressCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsIQCalValues calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttSetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsIQCalValues calValues; - tANI_U8 reserve[2]; - eGainSteps gain; -} tMsgPttGetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsHKIQCalValues calValues; - eGainSteps gain; -} tMsgPttHKdacSetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsHKIQCalValues calValues; - eGainSteps gain; -} tMsgPttHKdacGetTxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsIQCalValues calValues; - eGainSteps gain; -} tMsgPttSetRxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sRxChainsIQCalValues calValues; - eGainSteps gain; -} tMsgPttGetRxIqCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsDcoCorrections calValues; - tANI_U8 gain; -} tMsgPttSetRxDcoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsDcoCorrections calValues; - tANI_U8 gain; -} tMsgPttGetRxDcoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsIm2Corrections calValues; - tANI_U8 dummy; -} tMsgPttSetRxIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - tRxChainsIm2Corrections calValues; - tANI_U8 dummy; -} tMsgPttGetRxIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - eRfTempSensor tempSensor; - tTempADCVal tempAdc; - tANI_U8 reserved[4 - sizeof(tTempADCVal)]; -} tMsgPttGetTempAdc; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 addr; - tANI_U32 mask; - tANI_U32 shift; - tANI_U32 value; -} tMsgPttReadRfField; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 addr; - tANI_U32 mask; - tANI_U32 shift; - tANI_U32 value; -} tMsgPttWriteRfField; - -//SIF bar4 Register Access -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 sifRegAddr; - tANI_U32 sifRegValue; -} tMsgPttReadSifBar4Register; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 sifRegAddr; - tANI_U32 sifRegValue; -} tMsgPttWriteSifBar4Register; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttDeepSleep; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttEnterFullPower; - -//Misc. -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 notUsed; -} tMsgPttSystemReset; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 cmd; - tANI_U32 arg1; - tANI_U32 arg2; - tANI_U32 arg3; - tANI_U32 arg4; -} tMsgPttLogDump; - -typedef PACKED_PRE struct PACKED_POST { - sBuildReleaseParams relParams; -} tMsgPttGetBuildReleaseNumber; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 revId; -} tMsgPttGetRFVersion; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttCalControlBitmap; - -//#ifdef VERIFY_HALPHY_SIMV_MODEL - - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttHalPhyInit; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttRxIQTest; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsDPDCalValues calValues; - eGainSteps gain; -} tMsgPttDpdCal; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 lutIdx; - tANI_U8 band; -} tMsgPttStartToneGen; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U32 option; //dummy variable -} tMsgPttStopToneGen; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLnaBandCalValues calValues; - eGainSteps gain; -} tMsgPttLnaBandCal; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLnaBandCalValues calValues; - eGainSteps gain; -} tMsgPttGetLnaBandCalCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsLnaBandCalValues calValues; - eGainSteps gain; -} tMsgPttSetLnaBandCalCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsDPDCalValues calValues; - eGainSteps gain; -}tMsgPttSetDPDCorrect; - -typedef PACKED_PRE struct PACKED_POST { - sTxChainsDPDCalValues calValues; - eGainSteps gain; -}tMsgPttGetDPDCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tQWPTT_U32 cmdIdx; - tQWPTT_U32 param1; - tQWPTT_U32 param2; - tQWPTT_U32 param3; - tQWPTT_U32 param4; -} tMsgPttPrimaGenericCmd; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 testID; - tANI_U16 result; -} tMsgPttPinConnTestRes; -//#endif - -/****************************************************************************************************************** - END OF PTT MESSAGES -******************************************************************************************************************/ - -typedef PACKED_PRE union PACKED_POST pttMsgUnion{ -//typedef union pttMsgUnion { - tMsgPttMsgInit MsgInit; - tMsgPttGetNvTable GetNvTable; - tMsgPttSetNvTable SetNvTable; - tMsgPttDelNvTable DelNvTable; - tMsgPttBlankNv BlankNv; - tMsgPttStoreNvTable StoreNvTable; - tMsgPttSetRegDomain SetRegDomain; - tMsgPttGetNvField GetNvField; - tMsgPttSetNvField SetNvField; - tMsgPttGetNvBin GetNvBin; - tMsgPttSetNvBin SetNvBin; - tMsgPttDbgReadRegister DbgReadRegister; - tMsgPttDbgWriteRegister DbgWriteRegister; - tMsgPttDbgReadMemory DbgReadMemory; - tMsgPttDbgWriteMemory DbgWriteMemory; - tMsgPttEnableChains EnableChains; - tMsgPttSetChannel SetChannel; - tMsgPttSetWaveform SetWaveform; - tMsgPttSetTxWaveformGain SetTxWaveformGain; - tMsgPttSetTxWaveformGain_PRIMA_V1 SetTxWaveformGain_PRIMA_V1; - tMsgPttGetWaveformPowerAdc GetWaveformPowerAdc; - tMsgPttStartWaveform StartWaveform; - tMsgPttStartWaveform_PRIMA_V1 StartWaveform_PRIMA_V1; - tMsgPttStopWaveform StopWaveform; - tMsgPttSetRxWaveformGain SetRxWaveformGain; - tMsgPttConfigTxPacketGen ConfigTxPacketGen; - tMsgPttStartStopTxPacketGen StartStopTxPacketGen; - tMsgPttQueryTxStatus QueryTxStatus; - tMsgPttCloseTpcLoop CloseTpcLoop; - tMsgPttCloseTpcLoop_PRIMA_V1 CloseTpcLoop_PRIMA_V1; - tMsgPttSetPacketTxGainTable SetPacketTxGainTable; - tMsgPttGetPacketTxGainTable GetPacketTxGainTable; - tMsgPttSetPacketTxGainIndex SetPacketTxGainIndex; - tMsgPttForcePacketTxGain ForcePacketTxGain; - tMsgPttForcePacketTxGain_PRIMA_V1 ForcePacketTxGain_PRIMA_V1; - tMsgPttSetPwrIndexSource SetPwrIndexSource; - tMsgPttSetTxPower SetTxPower; - tMsgPttGetTxPowerReport GetTxPowerReport; - tMsgPttSetPowerLut SetPowerLut; - tMsgPttGetPowerLut GetPowerLut; - tMsgPttDisableAgcTables DisableAgcTables; - tMsgPttEnableAgcTables EnableAgcTables; - tMsgPttGetRxRssi GetRxRssi; - tMsgPttGetUnicastMacPktRxRssi GetUnicastMacPktRxRssi; - tMsgPttGetUnicastMacPktRxRssiConf_PRIMA_V1 GetUnicastMacPktRxRssiConf_PRIMA_V1; - tMsgPttSetRxDisableMode SetRxDisableMode; - tMsgPttGetRxPktCounts GetRxPktCounts; - tMsgPttResetRxPacketStatistics ResetRxPacketStatistics; - tMsgPttGrabRam GrabRam; - tMsgPttRxIqCal RxIqCal; - tMsgPttRxDcoCal RxDcoCal; - tMsgPttRxIm2Cal RxIm2Cal; - - tMsgPttExecuteInitialCals ExecuteInitialCals; - tMsgPttTxCarrierSuppressCal TxCarrierSuppressCal; - tMsgPttTxIqCal TxIqCal; - tMsgPttHKdacTxIqCal HKdacTxIqCal; - tMsgPttClpcCalSetup_PRIMA_V1 ClpcCalSetup_PRIMA_V1; - tMsgPttClpcCalRestore_PRIMA_V1 ClpcCalRestore_PRIMA_V1; - tMsgPttHdetCal HdetCal; - tMsgPttClpcSwCal_PRIMA_V1 ClpcSwCal_PRIMA_V1; - tMsgPttClpcCalExtraMeasurement_PRIMA_V1 ClpcCalExtraMeasurement_PRIMA_V1; - tMsgPttSetTxCarrierSuppressCorrect SetTxCarrierSuppressCorrect; - tMsgPttGetTxCarrierSuppressCorrect GetTxCarrierSuppressCorrect; - tMsgPttSetTxIqCorrect SetTxIqCorrect; - tMsgPttGetTxIqCorrect GetTxIqCorrect; - tMsgPttSetRxIqCorrect SetRxIqCorrect; - tMsgPttGetRxIqCorrect GetRxIqCorrect; - tMsgPttSetRxDcoCorrect SetRxDcoCorrect; - tMsgPttGetRxDcoCorrect GetRxDcoCorrect; - tMsgPttSetRxIm2Correct SetRxIm2Correct; - tMsgPttGetRxIm2Correct GetRxIm2Correct; - tMsgPttHKdacSetTxIqCorrect HKdacSetTxIqCorrect; - tMsgPttHKdacGetTxIqCorrect HKdacGetTxIqCorrect; - - tMsgPttGetTempAdc GetTempAdc; - tMsgPttReadRfField ReadRfField; - tMsgPttWriteRfField WriteRfField; - tMsgPttCalControlBitmap SetCalControlBitmap; - -//#ifdef VERIFY_HALPHY_SIMV_MODEL - - tMsgPttHalPhyInit InitOption; - tMsgPttRxIQTest RxIQTest; - tMsgPttDpdCal DpdCal; - tMsgPttStartToneGen StartToneGen; - tMsgPttStopToneGen StopToneGen; -//#endif - tMsgPttDeepSleep DeepSleep; - tMsgPttReadSifBar4Register ReadSifBar4Register; - tMsgPttWriteSifBar4Register WriteSifBar4Register; - tMsgPttEnterFullPower EnterFullPower; - tMsgPttSystemReset SystemReset; - tMsgPttLogDump LogDump; - tMsgPttGetBuildReleaseNumber GetBuildReleaseNumber; - tMsgPttGetRFVersion GetRFVersion; - -//[RY] added for PRIMA - tMsgPttSetWaveformRF SetWaveformRF; - tMsgPttStopWaveformRF StopWaveformRF; - tMsgPttStartWaveformRF StartWaveformRF; - tMsgPttLnaBandCal LnaBandCal; - tMsgPttGetLnaBandCalCorrect GetLnaBandCalCorrect; - tMsgPttSetLnaBandCalCorrect SetLnaBandCalCorrect; - tMsgPttGetDPDCorrect GetDPDCorrect; - tMsgPttSetDPDCorrect SetDPDCorrect; - tMsgPttDpdCal DPDCal; - tMsgPttPrimaGenericCmd PrimaGenericCmd; - tMsgPttPinConnTestRes PinConnTestRes; -} uPttMsgs; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 msgId; - tANI_U16 msgBodyLength; //actually, the length of all the fields in this structure - eQWPttStatus msgResponse; - uPttMsgs msgBody; -} tPttMsgbuffer, *tpPttMsgbuffer; - - -typedef PACKED_PRE struct PACKED_POST { - /* - * success or failure - */ - tANI_U32 status; - tPttMsgbuffer pttMsgBuffer; -} tProcessPttRspParams, *tpProcessPttRspParams; - -/* End of Ptt Parameters */ - -#endif diff --git a/wcnss/riva/inc/wlan_hal_cfg.h b/wcnss/riva/inc/wlan_hal_cfg.h deleted file mode 100644 index 9e64c03043e5..000000000000 --- a/wcnss/riva/inc/wlan_hal_cfg.h +++ /dev/null @@ -1,938 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/*========================================================================== - * - * @file: wlan_hal_cfg.h - * - * @brief: Exports and types WLAN HAL configuration - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#ifndef __WLAN_HAL_CFG_H__ -#define __WLAN_HAL_CFG_H__ - -/*------------------------------------------------------------------------- - Include Files --------------------------------------------------------------------------*/ -#include "qwlanfw_defs.h" - -/*------------------------------------------------------------------------- - Preprocessor definitions and constants --------------------------------------------------------------------------*/ -/* RIVA API version in format W.X.Y.Z is converted to a UINT32 integer */ -#define WLAN_HAL_CONSTRUCT_API_VERSION(W,X,Y,Z) (((W)<<24)+((X)<<16)+((Y)<<8)+(Z)) -#define IS_VERSION_BEFORE_VOWIFI(VER_FROM_HOST) \ - ((VER_FROM_HOST)<=WLAN_HAL_CONSTRUCT_API_VERSION(0,0,2,0))?1:0 - -/*------------------------------------------------------------------------- - Configuration Parameter IDs --------------------------------------------------------------------------*/ -#define QWLAN_HAL_CFG_STA_ID 0 -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA 1 -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA 2 -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE 3 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN 4 -#define QWLAN_HAL_CFG_CAL_PERIOD 5 -#define QWLAN_HAL_CFG_CAL_CONTROL 6 -#define QWLAN_HAL_CFG_PROXIMITY 7 -#define QWLAN_HAL_CFG_NETWORK_DENSITY 8 -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME 9 -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU 10 -#define QWLAN_HAL_CFG_RTS_THRESHOLD 11 -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT 12 -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT 13 -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD 14 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO 15 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE 16 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO 17 -#define QWLAN_HAL_CFG_FIXED_RATE 18 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY 19 -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY 20 -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY 21 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION 22 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ 23 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ 24 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ 25 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ 26 -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS 27 -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT 28 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER 29 -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR 30 -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE 31 -#define QWLAN_HAL_CFG_STATS_PERIOD 32 -#define QWLAN_HAL_CFG_CFP_MAX_DURATION 33 -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED 34 -#define QWLAN_HAL_CFG_DTIM_PERIOD 35 -#define QWLAN_HAL_CFG_EDCA_WMM_ACBK 36 -#define QWLAN_HAL_CFG_EDCA_WMM_ACBE 37 -#define QWLAN_HAL_CFG_EDCA_WMM_ACVO 38 -#define QWLAN_HAL_CFG_EDCA_WMM_ACVI 39 -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH 40 -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS 41 -#define QWLAN_HAL_CFG_RPE_POLLING_THRESHOLD 42 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG 43 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG 44 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG 45 -#define QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG 46 -#define QWLAN_HAL_CFG_NO_OF_ONCHIP_REORDER_SESSIONS 47 -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL 48 -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD 49 -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER 50 -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL 51 -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD 52 -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD 53 -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE 54 -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM 55 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM 56 -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE 57 -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT 58 -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN 59 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI 60 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS 61 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI 62 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS 63 -#define QWLAN_HAL_CFG_TX_PWR_CTRL_ENABLE 64 -#define QWLAN_HAL_CFG_VALID_RADAR_CHANNEL_LIST 65 -#define QWLAN_HAL_CFG_TX_POWER_24_20 66 -#define QWLAN_HAL_CFG_TX_POWER_24_40 67 -#define QWLAN_HAL_CFG_TX_POWER_50_20 68 -#define QWLAN_HAL_CFG_TX_POWER_50_40 69 -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING 70 -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL 71 -#define QCOM_WLAN_CFG_MAX_TX_POWER_2_4 72 -#define QCOM_WLAN_CFG_MAX_TX_POWER_5 73 -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD 74 -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP 75 -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE 76 -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK 77 -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS 78 -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT 79 -#define QWLAN_HAL_CFG_WCNSS_API_VERSION 80 -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT 81 -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT 82 -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST 83 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT 84 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT 85 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT 86 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT 87 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN 88 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN 89 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN 90 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN 91 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT 92 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN 93 -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC 94 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP 95 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO 96 -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER 97 -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT 98 -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION 99 -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER 100 -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT 101 -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT 102 -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER 103 -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE 104 -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER 105 -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT 106 -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT 107 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE 108 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK 109 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME 110 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP 111 -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY 112 -#define QWLAN_HAL_CFG_ATH_DISABLE 113 -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR 114 -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE 115 -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE 116 -#define QWLAN_HAL_CFG_MWS_COEX_V1_WAN_FREQ 117 -#define QWLAN_HAL_CFG_MWS_COEX_V1_WLAN_FREQ 118 -#define QWLAN_HAL_CFG_MWS_COEX_V1_CONFIG 119 -#define QWLAN_HAL_CFG_MWS_COEX_V1_CONFIG2 120 -#define QWLAN_HAL_CFG_MWS_COEX_V2_WAN_FREQ 121 -#define QWLAN_HAL_CFG_MWS_COEX_V2_WLAN_FREQ 122 -#define QWLAN_HAL_CFG_MWS_COEX_V2_CONFIG 123 -#define QWLAN_HAL_CFG_MWS_COEX_V2_CONFIG2 124 -#define QWLAN_HAL_CFG_MWS_COEX_V3_WAN_FREQ 125 -#define QWLAN_HAL_CFG_MWS_COEX_V3_WLAN_FREQ 126 -#define QWLAN_HAL_CFG_MWS_COEX_V3_CONFIG 127 -#define QWLAN_HAL_CFG_MWS_COEX_V3_CONFIG2 128 -#define QWLAN_HAL_CFG_MWS_COEX_V4_WAN_FREQ 129 -#define QWLAN_HAL_CFG_MWS_COEX_V4_WLAN_FREQ 130 -#define QWLAN_HAL_CFG_MWS_COEX_V4_CONFIG 131 -#define QWLAN_HAL_CFG_MWS_COEX_V4_CONFIG2 132 -#define QWLAN_HAL_CFG_MWS_COEX_V5_WAN_FREQ 133 -#define QWLAN_HAL_CFG_MWS_COEX_V5_WLAN_FREQ 134 -#define QWLAN_HAL_CFG_MWS_COEX_V5_CONFIG 135 -#define QWLAN_HAL_CFG_MWS_COEX_V5_CONFIG2 136 -#define QWLAN_HAL_CFG_MWS_COEX_V6_WAN_FREQ 137 -#define QWLAN_HAL_CFG_MWS_COEX_V6_WLAN_FREQ 138 -#define QWLAN_HAL_CFG_MWS_COEX_V6_CONFIG 139 -#define QWLAN_HAL_CFG_MWS_COEX_V6_CONFIG2 140 -#define QWLAN_HAL_CFG_MWS_COEX_V7_WAN_FREQ 141 -#define QWLAN_HAL_CFG_MWS_COEX_V7_WLAN_FREQ 142 -#define QWLAN_HAL_CFG_MWS_COEX_V7_CONFIG 143 -#define QWLAN_HAL_CFG_MWS_COEX_V7_CONFIG2 144 -#define QWLAN_HAL_CFG_MWS_COEX_V8_WAN_FREQ 145 -#define QWLAN_HAL_CFG_MWS_COEX_V8_WLAN_FREQ 146 -#define QWLAN_HAL_CFG_MWS_COEX_V8_CONFIG 147 -#define QWLAN_HAL_CFG_MWS_COEX_V8_CONFIG2 148 -#define QWLAN_HAL_CFG_MWS_COEX_V9_WAN_FREQ 149 -#define QWLAN_HAL_CFG_MWS_COEX_V9_WLAN_FREQ 150 -#define QWLAN_HAL_CFG_MWS_COEX_V9_CONFIG 151 -#define QWLAN_HAL_CFG_MWS_COEX_V9_CONFIG2 152 -#define QWLAN_HAL_CFG_MWS_COEX_V10_WAN_FREQ 153 -#define QWLAN_HAL_CFG_MWS_COEX_V10_WLAN_FREQ 154 -#define QWLAN_HAL_CFG_MWS_COEX_V10_CONFIG 155 -#define QWLAN_HAL_CFG_MWS_COEX_V10_CONFIG2 156 -#define QWLAN_HAL_CFG_MWS_COEX_MODEM_BACKOFF 157 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG1 158 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG2 159 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG3 160 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG4 161 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG5 162 -#define QWLAN_HAL_CFG_MWS_COEX_CONFIG6 163 -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF 164 -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT 165 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN 166 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN 167 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN 168 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN 169 -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE 170 -#define QWLAN_HAL_CFG_MAX_PARAMS 171 - - -/* Total number of Integer CFGs. This is used while allocating the memory for TLV */ -#define QWLAN_HAL_CFG_INTEGER_PARAM 171 - -/*------------------------------------------------------------------------- - Configuration Parameter min, max, defaults --------------------------------------------------------------------------*/ - -/* QWLAN_HAL_CFG_STA_ID*/ -#define QWLAN_HAL_CFG_STA_ID_STADEF "000AF5898989" -#define QCOM_WLAN_CFG_STA_ID_LEN 6 - -/* QWLAN_HAL_CFG_CURRENT_TX_ANTENNA */ -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA_STAMIN 1 -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA_STAMAX 1 -#define QWLAN_HAL_CFG_CURRENT_TX_ANTENNA_STADEF 1 - -/* QWLAN_HAL_CFG_CURRENT_RX_ANTENNA */ -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA_STAMIN 1 -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA_STAMAX 2 -#define QWLAN_HAL_CFG_CURRENT_RX_ANTENNA_STADEF 1 - -/* QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE */ -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE_STAMIN 0 -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE_STAMAX 1 -#define QWLAN_HAL_CFG_LOW_GAIN_OVERRIDE_STADEF 0 - -/* QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN */ -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_STAMIN 0 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_STAMAX 65535 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_STADEF 785 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_OFF 0 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_ON 1 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_TX 2 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_RX 3 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_MASK 15 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_CHAIN_0_OFFSET 0 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_CHAIN_1_OFFSET 4 -#define QWLAN_HAL_CFG_POWER_STATE_PER_CHAIN_CHAIN_2_OFFSET 8 - -/* QWLAN_HAL_CFG_CAL_PERIOD */ -#define QWLAN_HAL_CFG_CAL_PERIOD_STAMIN 2 -#define QWLAN_HAL_CFG_CAL_PERIOD_STAMAX 10 -#define QWLAN_HAL_CFG_CAL_PERIOD_STADEF 5 - -/* QWLAN_HAL_CFG_CAL_CONTROL */ -#define QWLAN_HAL_CFG_CAL_CONTROL_STAMIN 0 -#define QWLAN_HAL_CFG_CAL_CONTROL_STAMAX 1 -#define QWLAN_HAL_CFG_CAL_CONTROL_STADEF 0 -#define QWLAN_HAL_CFG_CAL_CONTROL_CAL_ON 0 -#define QWLAN_HAL_CFG_CAL_CONTROL_CAL_OFF 1 - -/* QWLAN_HAL_CFG_PROXIMITY */ -#define QWLAN_HAL_CFG_PROXIMITY_STAMIN 0 -#define QWLAN_HAL_CFG_PROXIMITY_STAMAX 1 -#define QWLAN_HAL_CFG_PROXIMITY_STADEF 0 -#define QWLAN_HAL_CFG_PROXIMITY_OFF 0 -#define QWLAN_HAL_CFG_PROXIMITY_ON 1 - -/* QWLAN_HAL_CFG_NETWORK_DENSITY */ -#define QWLAN_HAL_CFG_NETWORK_DENSITY_STAMIN 0 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_STAMAX 3 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_STADEF 3 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_LOW 0 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_MEDIUM 1 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_HIGH 2 -#define QWLAN_HAL_CFG_NETWORK_DENSITY_ADAPTIVE 3 - -/* QWLAN_HAL_CFG_MAX_MEDIUM_TIME */ -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME_STAMAX 65535 -#define QWLAN_HAL_CFG_MAX_MEDIUM_TIME_STADEF 1024 - -/* QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU */ -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU_STAMAX 65535 -#define QWLAN_HAL_CFG_MAX_MPDUS_IN_AMPDU_STADEF 64 - -/* QWLAN_HAL_CFG_RTS_THRESHOLD */ -#define QWLAN_HAL_CFG_RTS_THRESHOLD_STAMIN 0 -#define QWLAN_HAL_CFG_RTS_THRESHOLD_STAMAX 2347 -#define QWLAN_HAL_CFG_RTS_THRESHOLD_STADEF 2347 - -/* QWLAN_HAL_CFG_SHORT_RETRY_LIMIT */ -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT_STAMIN 0 -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT_STAMAX 255 -#define QWLAN_HAL_CFG_SHORT_RETRY_LIMIT_STADEF 15 - -/* QWLAN_HAL_CFG_LONG_RETRY_LIMIT */ -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT_STAMIN 0 -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT_STAMAX 255 -#define QWLAN_HAL_CFG_LONG_RETRY_LIMIT_STADEF 15 - -/* QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD */ -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD_STAMIN 256 -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD_STAMAX 8000 -#define QWLAN_HAL_CFG_FRAGMENTATION_THRESHOLD_STADEF 8000 - -/* QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO */ -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ZERO_STADEF 5 - -/* QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE */ -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_ONE_STADEF 10 - -/* QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO */ -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_THRESHOLD_TWO_STADEF 15 - -#define QWLAN_HAL_CFG_FIXED_RATE_AUTO 0 -#define QWLAN_HAL_CFG_FIXED_RATE_1MBPS 1 -#define QWLAN_HAL_CFG_FIXED_RATE_2MBPS 2 -#define QWLAN_HAL_CFG_FIXED_RATE_5_5MBPS 3 -#define QWLAN_HAL_CFG_FIXED_RATE_11MBPS 4 -#define QWLAN_HAL_CFG_FIXED_RATE_6MBPS 5 -#define QWLAN_HAL_CFG_FIXED_RATE_9MBPS 6 -#define QWLAN_HAL_CFG_FIXED_RATE_12MBPS 7 -#define QWLAN_HAL_CFG_FIXED_RATE_18MBPS 8 -#define QWLAN_HAL_CFG_FIXED_RATE_24MBPS 9 -#define QWLAN_HAL_CFG_FIXED_RATE_36MBPS 10 -#define QWLAN_HAL_CFG_FIXED_RATE_48MBPS 11 -#define QWLAN_HAL_CFG_FIXED_RATE_54MBPS 12 -#define QWLAN_HAL_CFG_FIXED_RATE_6_5MBPS_MCS0_20MHZ_SIMO 13 -#define QWLAN_HAL_CFG_FIXED_RATE_13MBPS_MCS1_20MHZ_SIMO 14 -#define QWLAN_HAL_CFG_FIXED_RATE_19_5MBPS_MCS2_20MHZ_SIMO 15 -#define QWLAN_HAL_CFG_FIXED_RATE_26MBPS_MCS3_20MHZ_SIMO 16 -#define QWLAN_HAL_CFG_FIXED_RATE_39MBPS_MCS4_20MHZ_SIMO 17 -#define QWLAN_HAL_CFG_FIXED_RATE_52MBPS_MCS5_20MHZ_SIMO 18 -#define QWLAN_HAL_CFG_FIXED_RATE_58_5MBPS_MCS6_20MHZ_SIMO 19 -#define QWLAN_HAL_CFG_FIXED_RATE_65MBPS_MCS7_20MHZ_SIMO 20 -#define QWLAN_HAL_CFG_FIXED_RATE_7_2MBPS_MCS0_20MHZ_SIMO_SGI 21 -#define QWLAN_HAL_CFG_FIXED_RATE_14_4MBPS_MCS1_20MHZ_SIMO_SGI 22 -#define QWLAN_HAL_CFG_FIXED_RATE_21_7MBPS_MCS2_20MHZ_SIMO_SGI 23 -#define QWLAN_HAL_CFG_FIXED_RATE_28_9MBPS_MCS3_20MHZ_SIMO_SGI 24 -#define QWLAN_HAL_CFG_FIXED_RATE_43_3MBPS_MCS4_20MHZ_SIMO_SGI 25 -#define QWLAN_HAL_CFG_FIXED_RATE_57_8MBPS_MCS5_20MHZ_SIMO_SGI 26 -#define QWLAN_HAL_CFG_FIXED_RATE_65MBPS_MCS6_20MHZ_SIMO_SGI 27 -#define QWLAN_HAL_CFG_FIXED_RATE_72_2MBPS_MCS7_20MHZ_SIMO_SGI 28 -#define QWLAN_HAL_CFG_FIXED_RATE_13_5MBPS_MCS0_40MHZ_SIMO 29 -#define QWLAN_HAL_CFG_FIXED_RATE_27MBPS_MCS1_40MHZ_SIMO 30 -#define QWLAN_HAL_CFG_FIXED_RATE_40_5MBPS_MCS2_40MHZ_SIMO 31 -#define QWLAN_HAL_CFG_FIXED_RATE_54MBPS_MCS3_40MHZ_SIMO 32 -#define QWLAN_HAL_CFG_FIXED_RATE_81MBPS_MCS4_40MHZ_SIMO 33 -#define QWLAN_HAL_CFG_FIXED_RATE_108MBPS_MCS5_40MHZ_SIMO 34 -#define QWLAN_HAL_CFG_FIXED_RATE_121_5MBPS_MCS6_40MHZ_SIMO 35 -#define QWLAN_HAL_CFG_FIXED_RATE_135MBPS_MCS7_40MHZ_SIMO 36 -#define QWLAN_HAL_CFG_FIXED_RATE_15MBPS_MCS0_40MHZ_SIMO_SGI 37 -#define QWLAN_HAL_CFG_FIXED_RATE_30MBPS_MCS1_40MHZ_SIMO_SGI 38 -#define QWLAN_HAL_CFG_FIXED_RATE_45MBPS_MCS2_40MHZ_SIMO_SGI 39 -#define QWLAN_HAL_CFG_FIXED_RATE_60MBPS_MCS3_40MHZ_SIMO_SGI 40 -#define QWLAN_HAL_CFG_FIXED_RATE_90MBPS_MCS4_40MHZ_SIMO_SGI 41 -#define QWLAN_HAL_CFG_FIXED_RATE_120MBPS_MCS5_40MHZ_SIMO_SGI 42 -#define QWLAN_HAL_CFG_FIXED_RATE_135MBPS_MCS6_40MHZ_SIMO_SGI 43 -#define QWLAN_HAL_CFG_FIXED_RATE_150MBPS_MCS7_40MHZ_SIMO_SGI 44 - -/* QWLAN_HAL_CFG_FIXED_RATE - * Follwing rates in user configuration are mapped to TPE rates - * Mapping is defined in the gHalUserFixedRateCfgToTpeRateTable - */ -#define QWLAN_HAL_CFG_FIXED_RATE_STAMIN 0 -#define QWLAN_HAL_CFG_FIXED_RATE_STAMAX 226 -#define QWLAN_HAL_CFG_FIXED_RATE_STADEF QWLAN_HAL_CFG_FIXED_RATE_AUTO - -/* QWLAN_HAL_CFG_RMCAST_FIXED_RATE - * Follwing rates in user configuration are mapped to TPE rates - * Mapping is defined in the gHalUserFixedRateCfgToTpeRateTable - */ -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE_STAMIN 0 -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE_STAMAX 226 -#define QWLAN_HAL_CFG_RMCAST_FIXED_RATE_STADEF QWLAN_HAL_CFG_FIXED_RATE_24MBPS - -/* QWLAN_HAL_CFG_RETRYRATE_POLICY */ -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STAMIN 0 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STAMAX 255 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_STADEF 4 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_MIN_SUPPORTED 0 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_PRIMARY 1 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_RESERVED 2 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_CLOSEST 3 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_AUTOSELECT 4 -#define QWLAN_HAL_CFG_RETRYRATE_POLICY_MAX 5 - -/* QWLAN_HAL_CFG_RETRYRATE_SECONDARY */ -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY_STAMIN 0 -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY_STAMAX 255 -#define QWLAN_HAL_CFG_RETRYRATE_SECONDARY_STADEF 0 - -/* QWLAN_HAL_CFG_RETRYRATE_TERTIARY */ -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY_STAMIN 0 -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY_STAMAX 255 -#define QWLAN_HAL_CFG_RETRYRATE_TERTIARY_STADEF 0 - -/* QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION */ -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_STAMIN 0 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_STAMAX 5 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_STADEF 5 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_DISABLE 0 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_CTS 1 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_RTS 2 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_DUAL_CTS 3 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_RTS_ALWAYS 4 -#define QWLAN_HAL_CFG_FORCE_POLICY_PROTECTION_AUTO 5 - -/* QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ */ -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_24GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_1MBPS - -/* QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ */ -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_FIXED_RATE_MULTICAST_5GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_6MBPS - -/* QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ */ -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_24GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_1MBPS - -/* QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ */ -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ_STAMIN 0 -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ_STAMAX QWLAN_HAL_CFG_FIXED_RATE_STAMAX -#define QWLAN_HAL_CFG_DEFAULT_RATE_INDEX_5GHZ_STADEF QWLAN_HAL_CFG_FIXED_RATE_6MBPS - -/* QWLAN_HAL_CFG_MAX_BA_SESSIONS */ -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS_STAMAX 64 -#define QWLAN_HAL_CFG_MAX_BA_SESSIONS_STADEF 40 - -/* QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT */ -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT_STAMIN 1 -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT_STAMAX 255 -#define QWLAN_HAL_CFG_PS_DATA_INACTIVITY_TIMEOUT_STADEF 20 - -/* QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT */ -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT_STAMIN 0 -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT_STAMAX 255 -#define QWLAN_HAL_CFG_PS_TX_INACTIVITY_TIMEOUT_STADEF 300 - -/* QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER */ -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER_STAMIN 0 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER_STAMAX 1 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_FILTER_STADEF 1 - -/* QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR */ -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR_STAMIN 0 -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR_STAMAX 1 -#define QWLAN_HAL_CFG_PS_ENABLE_RSSI_MONITOR_STADEF 1 - -/* QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE */ -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STAMIN 1 -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STAMAX 20 -#define QWLAN_HAL_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STADEF 20 - -/* QWLAN_HAL_CFG_STATS_PERIOD */ -#define QWLAN_HAL_CFG_STATS_PERIOD_STAMIN 1 -#define QWLAN_HAL_CFG_STATS_PERIOD_STAMAX 10 -#define QWLAN_HAL_CFG_STATS_PERIOD_STADEF 10 - -/* QWLAN_HAL_CFG_CFP_MAX_DURATION */ -#define QWLAN_HAL_CFG_CFP_MAX_DURATION_STAMIN 0 -#define QWLAN_HAL_CFG_CFP_MAX_DURATION_STAMAX 65535 -#define QWLAN_HAL_CFG_CFP_MAX_DURATION_STADEF 30000 - -/* QWLAN_HAL_CFG_FRAME_TRANS_ENABLED */ -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED_STAMIN 0 -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED_STAMAX 1 -#define QWLAN_HAL_CFG_FRAME_TRANS_ENABLED_STADEF 0 - -/* QWLAN_HAL_CFG_DTIM_PERIOD */ -#define QWLAN_HAL_CFG_DTIM_PERIOD_STAMIN 0 -#define QWLAN_HAL_CFG_DTIM_PERIOD_STAMAX 65535 -#define QWLAN_HAL_CFG_DTIM_PERIOD_STADEF 1 - -/* QWLAN_HAL_CFG_BA_THRESHOLD_HIGH */ -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH_STAMIN 0 -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH_STAMAX 65535 -#define QWLAN_HAL_CFG_BA_THRESHOLD_HIGH_STADEF 1 - -/* QWLAN_HAL_CFG_MAX_BA_BUFFERS */ -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS_STAMIN 0 -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS_STAMAX 2560 -#define QWLAN_HAL_CFG_MAX_BA_BUFFERS_STADEF 2560 - - - -/* ACM, AIFSN, [CWmin, CWmax, TxOp]-11A/11B/11G - * Cwmin and Cwmax are two bytes each, MSB first. So Cwmax of [03 FF] is - * equivalent to 0x03ff = 1023*/ -#define QWLAN_HAL_CFG_EDCA_PROFILE_ACM_IDX 0 /* byte[0] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_AIFSN_IDX 1 /* byte[1] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMINA_IDX 2 /* byte[2] & byte [3] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXA_IDX 4 /* byte[4] & byte [5] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPA_IDX 6 /* byte[6] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMINB_IDX 7 /* byte[7] & byte [8] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXB_IDX 9 /* byte[9] & byte [10] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPB_IDX 11 /* byte[11]*/ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMING_IDX 12 /* byte[12] & byte [13] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_CWMAXG_IDX 14 /* byte[14] & byte [15] */ -#define QWLAN_HAL_CFG_EDCA_PROFILE_TXOPG_IDX 16 /* byte[16]*/ -#define QWLAN_HAL_CFG_EDCA_PARAM_MAX_LEN 20 - -/* QWLAN_HAL_CFG_EDCA_WMM_ACBK */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACBK_DEFAULT "0007000F03FF00001F03FF00000F03FF00" - -/* QWLAN_HAL_CFG_EDCA_WMM_ACBE */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACBE_DEFAULT "0003000F03FF00001F03FF00000F03FF00" - -/* QWLAN_HAL_CFG_EDCA_WMM_ACVI */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACVI_DEFAULT "00020007000F5E000F001FBC0007000F5E" - -/* QWLAN_HAL_CFG_EDCA_WMM_ACVO */ -#define QWLAN_HAL_CFG_EDCA_WMM_ACVO_DEFAULT "0002000300072F0007000F66000300072F" - - -/* QWLAN_HAL_CFG_RPE_POLLING_THRESHOLD */ -#define QWLAN_CFG_RPE_POLLING_THRESHOLD_STAMIN 0 -#define QWLAN_CFG_RPE_POLLING_THRESHOLD_STAMAX 65535 -#define QWLAN_CFG_RPE_POLLING_THRESHOLD_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG_STADEF 30 - -/* QWLAN_HAL_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG */ -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG_STAMIN 0 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG_STAMAX 65535 -#define QWLAN_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG_STADEF 30 - -/* QWLAN_HAL_CFG_NO_OF_ONCHIP_REORDER_SESSIONS */ -#define QWLAN_CFG_NO_OF_ONCHIP_REORDER_SESSIONS_STAMIN 0 -#define QWLAN_CFG_NO_OF_ONCHIP_REORDER_SESSIONS_STAMAX 2 -#define QWLAN_CFG_NO_OF_ONCHIP_REORDER_SESSIONS_STADEF 1 - -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL_STAMIN 0 -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL_STAMAX 65535 -#define QWLAN_HAL_CFG_PS_LISTEN_INTERVAL_STADEF 1 - -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD_STAMIN 0 -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD_STAMAX 65535 -#define QWLAN_HAL_CFG_PS_HEART_BEAT_THRESHOLD_STADEF 40 - -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER_STAMIN 0 -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER_STAMAX 255 -#define QWLAN_HAL_CFG_PS_NTH_BEACON_FILTER_STADEF 10 - -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL_STAMIN 0 -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL_STAMAX 255 -#define QWLAN_HAL_CFG_PS_MAX_PS_POLL_STADEF 0 - -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD_STAMIN 0 -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD_STAMAX 10 -#define QWLAN_HAL_CFG_PS_MIN_RSSI_THRESHOLD_STADEF 10 - -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD_STAMIN 0 -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD_STAMAX 255 -#define QWLAN_HAL_CFG_PS_RSSI_FILTER_PERIOD_STADEF 20 - -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE_STAMIN 0 -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE_STAMAX 1 -#define QWLAN_HAL_CFG_PS_BROADCAST_FRAME_FILTER_ENABLE_STADEF 0 - -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM_STAMIN 0 -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM_STAMAX 1 -#define QWLAN_HAL_CFG_PS_IGNORE_DTIM_STADEF 0 - -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM_STAMIN 0 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM_STAMAX 1 -#define QWLAN_HAL_CFG_PS_ENABLE_BCN_EARLY_TERM_STADEF 0 - -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE_STAMIN 0 -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE_STAMAX 255 -#define QWLAN_HAL_CFG_DYNAMIC_PS_POLL_VALUE_STADEF 0 - -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMIN 0 -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMAX 80 -#define QWLAN_HAL_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STADEF 0 - -/* QWLAN_HAL_CFG_TX_PWR_CTRL_ENABLE */ -#define QWLAN_CFG_TX_PWR_CTRL_ENABLE_STAMIN 0 -#define QWLAN_CFG_TX_PWR_CTRL_ENABLE_STAMAX 1 -#define QWLAN_CFG_TX_PWR_CTRL_ENABLE_STADEF 1 - -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN_STAMIN 0 -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN_STAMAX 1 -#define QWLAN_HAL_CFG_TELE_BCN_WAKEUP_EN_STADEF 0 - -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_STAMIN 0 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_STAMAX 7 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_STADEF 3 - -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS_STAMIN 5 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS_STAMAX 255 -#define QWLAN_HAL_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS_STADEF 10 - -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_STAMIN 0 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_STAMAX 7 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_STADEF 5 - -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS_STAMIN 5 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS_STAMAX 255 -#define QWLAN_HAL_CFG_TELE_BCN_MAX_LI_IDLE_BCNS_STADEF 15 - -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING_STAMIN 0 -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING_STAMAX 3 -#define QWLAN_HAL_CFG_MCAST_BCAST_FILTER_SETTING_STADEF 0 - -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL_STAMIN 1 -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL_STAMAX 255 -#define QWLAN_HAL_CFG_BCN_EARLY_TERM_WAKEUP_INTERVAL_STADEF 5 - -/*Values to be added in hexadecimal*/ -/* QWLAN_HAL_CFG_VALID_RADAR_LIST */ -#define QWLAN_HAL_CFG_VALID_RADAR_CHANNEL_LIST_DEFAULT "36" -#define QWLAN_HAL_CFG_RADAR_CHANNEL_LIST_LEN 20 - -/* QWLAN_HAL_CFG_TX_POWER_24_20 */ -#define QWLAN_WLAN_TX_POWER_24_20_DEFAULT 299 -#define QWLAN_WLAN_TX_POWER_24_20_MIN 299 -#define QWLAN_WLAN_TX_POWER_24_20_MAX 299 - -/* QWLAN_HAL_CFG_TX_POWER_24_40 */ -#define QWLAN_WLAN_TX_POWER_24_40_DEFAULT 300 -#define QWLAN_WLAN_TX_POWER_24_40_MIN 299 -#define QWLAN_WLAN_TX_POWER_24_40_MAX 299 - -/* QWLAN_HAL_CFG_TX_POWER_50_20 */ -#define QWLAN_WLAN_TX_POWER_50_20_DEFAULT 301 -#define QWLAN_WLAN_TX_POWER_50_20_MIN 299 -#define QWLAN_WLAN_TX_POWER_50_20_MAX 299 - -/* QWLAN_HAL_CFG_TX_POWER_50_40 */ -#define QWLAN_WLAN_TX_POWER_50_40_DEFAULT 302 -#define QWLAN_WLAN_TX_POWER_50_40_MIN 299 -#define QWLAN_WLAN_TX_POWER_50_40_MAX 299 - -/* QCOM_WLAN_CFG_MAX_TX_POWER_2_4 */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_2_4_LEN 128 -/* byte[0] = 0x01 = First Channel; byte[1] = 0x0E = 14 = MaxChannels; byte[2] = 0x14 = 20 = Tx Power (dBm) */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_2_4_DEFAULT "010E14" - -/* QCOM_WLAN_CFG_MAX_TX_POWER_5 */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_5_LEN 128 -/* byte[0] = 0x24 = 36 = First Channel; byte[1] = 0x82 = 130 = MaxChannels; byte[2] = 0x14 = 20 = Tx Power (dBm) */ -#define QCOM_WLAN_CFG_MAX_TX_POWER_5_DEFAULT "248214" - - -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD_STAMIN 0 -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD_STAMAX 65535 -#define QWLAN_HAL_CFG_INFRA_STA_KEEP_ALIVE_PERIOD_STADEF 0 - -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_CLOSE_LOOP_DEF 0 - -/* QWLAN_HAL_CFG_BTC_EXECUTION_MODE */ -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE_MIN 0 -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE_MAX 5 -#define QWLAN_HAL_CFG_BTC_EXECUTION_MODE_DEF 0 - -/* QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK */ -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK_MIN 0 -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK_MAX 255 -#define QWLAN_HAL_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK_DEF 0 - -/* QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS */ -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS_MIN 0 -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS_MAX 255 -#define QWLAN_HAL_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS_DEF 15 - -/* QWLAN_HAL_CFG_WCNSS_API_VERSION */ -#define QWLAN_HAL_CFG_WCNSS_API_VERSION_MIN 0 /* equivalent to 0.0.0.0 */ -#define QWLAN_HAL_CFG_WCNSS_API_VERSION_MAX 4294967295U /* equivalent to 255.255.255.255 */ -#define QWLAN_HAL_CFG_WCNSS_API_VERSION_DEF 0 /* equivalent to 0.0.0.0 */ - -/* QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT */ -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MIN 1 -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_MAX 255 -#define QWLAN_HAL_CFG_AP_KEEPALIVE_TIMEOUT_DEF 20 - -/* QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT */ -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MIN 1 -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_MAX 255 -#define QWLAN_HAL_CFG_GO_KEEPALIVE_TIMEOUT_DEF 20 - -/* QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST */ -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_MC_ADDR_LIST_DEF 0 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_BT_DEF 120000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_BT_DEF 10000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_BT_DEF 10000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT_MIN 5000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_BT_DEF 10000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_INQ_WLAN_DEF 30000 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_PAGE_WLAN_DEF 0 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_CONN_WLAN_DEF 0 - -/* QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN */ -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_STATIC_LEN_LE_WLAN_DEF 0 - -/* QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT */ -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT_MIN 25000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT_MAX 500000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_BT_DEF 250000 - -/* QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN */ -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN_MIN 15000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN_MAX 500000 -#define QWLAN_HAL_CFG_BTC_DYN_MAX_LEN_WLAN_DEF 45000 - -/* QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC */ -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC_MIN 0 -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC_MAX 100 -#define QWLAN_HAL_CFG_BTC_MAX_SCO_BLOCK_PERC_DEF 1 - -/* QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP */ -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP_MIN 0 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP_MAX 1 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_A2DP_DEF 1 - -/* QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO */ -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO_MIN 0 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO_MAX 1 -#define QWLAN_HAL_CFG_BTC_DHCP_PROT_ON_SCO_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER */ -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_UNICAST_FILTER_DEF 0 - -/* QWLAN_HAL_CFG_MAX_ASSOC_LIMIT */ -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT_MIN 10 -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT_MAX 32 -#define QWLAN_HAL_CFG_MAX_ASSOC_LIMIT_DEF 10 - -/* QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION */ -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_LPWR_IMG_TRANSITION_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER */ -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_SCHEDULER_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT */ -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_DETECT_PS_SUPPORT_DEF 0 - -/* QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT */ -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MIN 3 -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_MAX 30 -#define QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT_DEF 10 - -/* QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT */ -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MIN 3 -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_MAX 30 -#define QWLAN_HAL_CFG_GO_LINK_MONITOR_TIMEOUT_DEF 10 - -/*QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER*/ -/*This value is multiplied to ChannelDwellTime - *i.e If value is 300 then ChannelDwellTime is (3*ChannelDwelltime)*/ -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_MIN 0 -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_MAX 300 -#define QWLAN_HAL_CFG_BTC_DWELL_TIME_MULTIPLIER_DEF 300 - -/* QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE */ -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_TDLS_OXYGEN_MODE_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER */ -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_NAT_KEEP_ALIVE_FILTER_DEF 0 - -/* QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT */ -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_SAP_OBSS_PROT_DEF 0 - -/* QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT */ -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STAMIN 1 -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STAMAX 255 -#define QWLAN_HAL_CFG_PSPOLL_DATA_RECEP_TIMEOUT_STADEF 20 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_MIN 0 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_MAX 1 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_BUFFER_STA_CAPABLE_DEF 0 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_MASK */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK_MIN 0 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK_MAX 0xf -#define QWLAN_HAL_CFG_TDLS_PUAPSD_MASK_DEF 0 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN 0 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX 10 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEF 0 - -/* QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP */ -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_MIN 10 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_MAX 20 -#define QWLAN_HAL_CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_IN_SP_DEF 10 - -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_DEF 60000 - -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_STATIC_OPP_WLAN_ACTIVE_BT_LEN_DEF 90000 - -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_WLAN_LEN_DEF 60000 - -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MIN 0 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_MAX 250000 -#define QWLAN_HAL_CFG_BTC_SAP_STATIC_OPP_WLAN_ACTIVE_BT_LEN_DEF 90000 - -/* QWLAN_HAL_CFG_ANTENNA_DIVERSITY */ -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_DEF 0 -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MIN 0 -#define QWLAN_HAL_CFG_ANTENNA_DIVERSITY_MAX 3 - -#define QWLAN_HAL_CFG_ATH_DEF 0 -#define QWLAN_HAL_CFG_ATH_MIN 0 -#define QWLAN_HAL_CFG_ATH_MAX 1 - -/* QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR */ -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_DEF 0 -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_MIN 0 -#define QWLAN_HAL_CFG_FLEXCONNECT_POWER_FACTOR_MAX 9 - -/* QWLAN_HAL_CFG_ENABLE_MCC_ADAPTIVE_RX_DRAIN_FEATURE */ -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_MIN 0 -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_MAX 1 -#define QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE_DEF 1 - -/* QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE */ -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_MIN 0 -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_MAX 1 -#define QWLAN_HAL_CFG_TDLS_OFF_CHANNEL_CAPABLE_DEF 0 - -/* QWLAN_HAL_CFG_MWS_COEX_XXXX */ -#define QWLAN_HAL_CFG_MWS_COEX_DEF 0 -#define QWLAN_HAL_CFG_MWS_COEX_MIN 0 -#define QWLAN_HAL_CFG_MWS_COEX_MAX 0xFFFFFFFF -#define QWLAN_HAL_CFG_MWS_COEX_MAX_VICTIM 10 -#define QWLAN_HAL_CFG_MWS_COEX_MAX_CONFIG 6 - -/* QWLAN_HAL_CFG_SAR_POWER_BACKOFF */ -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_DEF 13 -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_MIN 1 -#define QWLAN_HAL_CFG_SAR_POWER_BACKOFF_MAX 21 - -#endif //__WLAN_HAL_CFG_H__ - - diff --git a/wcnss/riva/inc/wlan_hal_msg.h b/wcnss/riva/inc/wlan_hal_msg.h deleted file mode 100644 index cf1165aa8806..000000000000 --- a/wcnss/riva/inc/wlan_hal_msg.h +++ /dev/null @@ -1,7083 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/*========================================================================== - * - * @file: wlan_hal_msg.h - * - * @brief: Exports and types for messages sent to HAL from WDI - * - * @author: Kumar Anand - * - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#ifndef _WLAN_HAL_MSG_H_ -#define _WLAN_HAL_MSG_H_ - -#include "halLegacyPalTypes.h" -#include "halCompiler.h" -#include "wlan_qct_dev_defs.h" -#include "wlan_nv.h" - -/*--------------------------------------------------------------------------- - API VERSIONING INFORMATION - - The RIVA API is versioned as MAJOR.MINOR.VERSION.REVISION - The MAJOR is incremented for major product/architecture changes - (and then MINOR/VERSION/REVISION are zeroed) - The MINOR is incremented for minor product/architecture changes - (and then VERSION/REVISION are zeroed) - The VERSION is incremented if a significant API change occurs - (and then REVISION is zeroed) - The REVISION is incremented if an insignificant API change occurs - or if a new API is added - All values are in the range 0..255 (ie they are 8-bit values) - ---------------------------------------------------------------------------*/ -#define WLAN_HAL_VER_MAJOR 1 -#define WLAN_HAL_VER_MINOR 5 -#define WLAN_HAL_VER_VERSION 1 -#define WLAN_HAL_VER_REVISION 2 - -/*--------------------------------------------------------------------------- - Commom Type definitons - ---------------------------------------------------------------------------*/ - -//This is to force compiler to use the maximum of an int ( 4 bytes ) -#define WLAN_HAL_MAX_ENUM_SIZE 0x7FFFFFFF -#define WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE 0x7FFF - -//Max no. of transmit categories -#define STACFG_MAX_TC 8 - -//The maximum value of access category -#define WLAN_HAL_MAX_AC 4 - -typedef tANI_U8 tSirMacAddr[6]; -typedef tANI_U8 tHalIpv4Addr[4]; - -#define HAL_MAC_ADDR_LEN 6 -#define HAL_IPV4_ADDR_LEN 4 - -#define WALN_HAL_STA_INVALID_IDX 0xFF -#define WLAN_HAL_BSS_INVALID_IDX 0xFF - -//Default Beacon template size -#define BEACON_TEMPLATE_SIZE 0x180 - - -//Max Tx Data Rate samples -#define MAX_TX_RATE_SAMPLES 10 -//Max Beacon Rssi samples -#define MAX_BCN_RSSI_SAMPLES 10 - -//Param Change Bitmap sent to HAL -#define PARAM_BCN_INTERVAL_CHANGED (1 << 0) -#define PARAM_SHORT_PREAMBLE_CHANGED (1 << 1) -#define PARAM_SHORT_SLOT_TIME_CHANGED (1 << 2) -#define PARAM_llACOEXIST_CHANGED (1 << 3) -#define PARAM_llBCOEXIST_CHANGED (1 << 4) -#define PARAM_llGCOEXIST_CHANGED (1 << 5) -#define PARAM_HT20MHZCOEXIST_CHANGED (1<<6) -#define PARAM_NON_GF_DEVICES_PRESENT_CHANGED (1<<7) -#define PARAM_RIFS_MODE_CHANGED (1<<8) -#define PARAM_LSIG_TXOP_FULL_SUPPORT_CHANGED (1<<9) -#define PARAM_OBSS_MODE_CHANGED (1<<10) -#define PARAM_BEACON_UPDATE_MASK (PARAM_BCN_INTERVAL_CHANGED|PARAM_SHORT_PREAMBLE_CHANGED|PARAM_SHORT_SLOT_TIME_CHANGED|PARAM_llACOEXIST_CHANGED |PARAM_llBCOEXIST_CHANGED|\ - PARAM_llGCOEXIST_CHANGED|PARAM_HT20MHZCOEXIST_CHANGED|PARAM_NON_GF_DEVICES_PRESENT_CHANGED|PARAM_RIFS_MODE_CHANGED|PARAM_LSIG_TXOP_FULL_SUPPORT_CHANGED| PARAM_OBSS_MODE_CHANGED) - -/*Dump command response Buffer size*/ -#define DUMPCMD_RSP_BUFFER 500 - -/*Version string max length (including NUL) */ -#define WLAN_HAL_VERSION_LENGTH 64 - -#define WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE 450 -#define WLAN_HAL_ROAM_SCAN_MAX_CHANNELS NUM_RF_CHANNELS -#define WLAN_HAL_ROAM_SCAN_RESERVED_BYTES 57 - -/* Message types for messages exchanged between WDI and HAL */ -typedef enum -{ - //Init/De-Init - WLAN_HAL_START_REQ = 0, - WLAN_HAL_START_RSP = 1, - WLAN_HAL_STOP_REQ = 2, - WLAN_HAL_STOP_RSP = 3, - - //Scan - WLAN_HAL_INIT_SCAN_REQ = 4, - WLAN_HAL_INIT_SCAN_RSP = 5, - WLAN_HAL_START_SCAN_REQ = 6, - WLAN_HAL_START_SCAN_RSP = 7 , - WLAN_HAL_END_SCAN_REQ = 8, - WLAN_HAL_END_SCAN_RSP = 9, - WLAN_HAL_FINISH_SCAN_REQ = 10, - WLAN_HAL_FINISH_SCAN_RSP = 11, - - // HW STA configuration/deconfiguration - WLAN_HAL_CONFIG_STA_REQ = 12, - WLAN_HAL_CONFIG_STA_RSP = 13, - WLAN_HAL_DELETE_STA_REQ = 14, - WLAN_HAL_DELETE_STA_RSP = 15, - WLAN_HAL_CONFIG_BSS_REQ = 16, - WLAN_HAL_CONFIG_BSS_RSP = 17, - WLAN_HAL_DELETE_BSS_REQ = 18, - WLAN_HAL_DELETE_BSS_RSP = 19, - - //Infra STA asscoiation - WLAN_HAL_JOIN_REQ = 20, - WLAN_HAL_JOIN_RSP = 21, - WLAN_HAL_POST_ASSOC_REQ = 22, - WLAN_HAL_POST_ASSOC_RSP = 23, - - //Security - WLAN_HAL_SET_BSSKEY_REQ = 24, - WLAN_HAL_SET_BSSKEY_RSP = 25, - WLAN_HAL_SET_STAKEY_REQ = 26, - WLAN_HAL_SET_STAKEY_RSP = 27, - WLAN_HAL_RMV_BSSKEY_REQ = 28, - WLAN_HAL_RMV_BSSKEY_RSP = 29, - WLAN_HAL_RMV_STAKEY_REQ = 30, - WLAN_HAL_RMV_STAKEY_RSP = 31, - - //Qos Related - WLAN_HAL_ADD_TS_REQ = 32, - WLAN_HAL_ADD_TS_RSP = 33, - WLAN_HAL_DEL_TS_REQ = 34, - WLAN_HAL_DEL_TS_RSP = 35, - WLAN_HAL_UPD_EDCA_PARAMS_REQ = 36, - WLAN_HAL_UPD_EDCA_PARAMS_RSP = 37, - WLAN_HAL_ADD_BA_REQ = 38, - WLAN_HAL_ADD_BA_RSP = 39, - WLAN_HAL_DEL_BA_REQ = 40, - WLAN_HAL_DEL_BA_RSP = 41, - - WLAN_HAL_CH_SWITCH_REQ = 42, - WLAN_HAL_CH_SWITCH_RSP = 43, - WLAN_HAL_SET_LINK_ST_REQ = 44, - WLAN_HAL_SET_LINK_ST_RSP = 45, - WLAN_HAL_GET_STATS_REQ = 46, - WLAN_HAL_GET_STATS_RSP = 47, - WLAN_HAL_UPDATE_CFG_REQ = 48, - WLAN_HAL_UPDATE_CFG_RSP = 49, - - WLAN_HAL_MISSED_BEACON_IND = 50, - WLAN_HAL_UNKNOWN_ADDR2_FRAME_RX_IND = 51, - WLAN_HAL_MIC_FAILURE_IND = 52, - WLAN_HAL_FATAL_ERROR_IND = 53, - WLAN_HAL_SET_KEYDONE_MSG = 54, - - //NV Interface - WLAN_HAL_DOWNLOAD_NV_REQ = 55, - WLAN_HAL_DOWNLOAD_NV_RSP = 56, - - WLAN_HAL_ADD_BA_SESSION_REQ = 57, - WLAN_HAL_ADD_BA_SESSION_RSP = 58, - WLAN_HAL_TRIGGER_BA_REQ = 59, - WLAN_HAL_TRIGGER_BA_RSP = 60, - WLAN_HAL_UPDATE_BEACON_REQ = 61, - WLAN_HAL_UPDATE_BEACON_RSP = 62, - WLAN_HAL_SEND_BEACON_REQ = 63, - WLAN_HAL_SEND_BEACON_RSP = 64, - - WLAN_HAL_SET_BCASTKEY_REQ = 65, - WLAN_HAL_SET_BCASTKEY_RSP = 66, - WLAN_HAL_DELETE_STA_CONTEXT_IND = 67, - WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ = 68, - WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP = 69, - - // PTT interface support - WLAN_HAL_PROCESS_PTT_REQ = 70, - WLAN_HAL_PROCESS_PTT_RSP = 71, - - // BTAMP related events - WLAN_HAL_SIGNAL_BTAMP_EVENT_REQ = 72, - WLAN_HAL_SIGNAL_BTAMP_EVENT_RSP = 73, - WLAN_HAL_TL_HAL_FLUSH_AC_REQ = 74, - WLAN_HAL_TL_HAL_FLUSH_AC_RSP = 75, - - WLAN_HAL_ENTER_IMPS_REQ = 76, - WLAN_HAL_EXIT_IMPS_REQ = 77, - WLAN_HAL_ENTER_BMPS_REQ = 78, - WLAN_HAL_EXIT_BMPS_REQ = 79, - WLAN_HAL_ENTER_UAPSD_REQ = 80, - WLAN_HAL_EXIT_UAPSD_REQ = 81, - WLAN_HAL_UPDATE_UAPSD_PARAM_REQ = 82, - WLAN_HAL_CONFIGURE_RXP_FILTER_REQ = 83, - WLAN_HAL_ADD_BCN_FILTER_REQ = 84, - WLAN_HAL_REM_BCN_FILTER_REQ = 85, - WLAN_HAL_ADD_WOWL_BCAST_PTRN = 86, - WLAN_HAL_DEL_WOWL_BCAST_PTRN = 87, - WLAN_HAL_ENTER_WOWL_REQ = 88, - WLAN_HAL_EXIT_WOWL_REQ = 89, - WLAN_HAL_HOST_OFFLOAD_REQ = 90, - WLAN_HAL_SET_RSSI_THRESH_REQ = 91, - WLAN_HAL_GET_RSSI_REQ = 92, - WLAN_HAL_SET_UAPSD_AC_PARAMS_REQ = 93, - WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 94, - - WLAN_HAL_ENTER_IMPS_RSP = 95, - WLAN_HAL_EXIT_IMPS_RSP = 96, - WLAN_HAL_ENTER_BMPS_RSP = 97, - WLAN_HAL_EXIT_BMPS_RSP = 98, - WLAN_HAL_ENTER_UAPSD_RSP = 99, - WLAN_HAL_EXIT_UAPSD_RSP = 100, - WLAN_HAL_SET_UAPSD_AC_PARAMS_RSP = 101, - WLAN_HAL_UPDATE_UAPSD_PARAM_RSP = 102, - WLAN_HAL_CONFIGURE_RXP_FILTER_RSP = 103, - WLAN_HAL_ADD_BCN_FILTER_RSP = 104, - WLAN_HAL_REM_BCN_FILTER_RSP = 105, - WLAN_HAL_SET_RSSI_THRESH_RSP = 106, - WLAN_HAL_HOST_OFFLOAD_RSP = 107, - WLAN_HAL_ADD_WOWL_BCAST_PTRN_RSP = 108, - WLAN_HAL_DEL_WOWL_BCAST_PTRN_RSP = 109, - WLAN_HAL_ENTER_WOWL_RSP = 110, - WLAN_HAL_EXIT_WOWL_RSP = 111, - WLAN_HAL_RSSI_NOTIFICATION_IND = 112, - WLAN_HAL_GET_RSSI_RSP = 113, - WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP = 114, - - //11k related events - WLAN_HAL_SET_MAX_TX_POWER_REQ = 115, - WLAN_HAL_SET_MAX_TX_POWER_RSP = 116, - - //11R related msgs - WLAN_HAL_AGGR_ADD_TS_REQ = 117, - WLAN_HAL_AGGR_ADD_TS_RSP = 118, - - //P2P WLAN_FEATURE_P2P - WLAN_HAL_SET_P2P_GONOA_REQ = 119, - WLAN_HAL_SET_P2P_GONOA_RSP = 120, - - //WLAN Dump commands - WLAN_HAL_DUMP_COMMAND_REQ = 121, - WLAN_HAL_DUMP_COMMAND_RSP = 122, - - //OEM_DATA FEATURE SUPPORT - WLAN_HAL_START_OEM_DATA_REQ = 123, - WLAN_HAL_START_OEM_DATA_RSP = 124, - - //ADD SELF STA REQ and RSP - WLAN_HAL_ADD_STA_SELF_REQ = 125, - WLAN_HAL_ADD_STA_SELF_RSP = 126, - - //DEL SELF STA SUPPORT - WLAN_HAL_DEL_STA_SELF_REQ = 127, - WLAN_HAL_DEL_STA_SELF_RSP = 128, - - // Coex Indication - WLAN_HAL_COEX_IND = 129, - - // Tx Complete Indication - WLAN_HAL_OTA_TX_COMPL_IND = 130, - - //Host Suspend/resume messages - WLAN_HAL_HOST_SUSPEND_IND = 131, - WLAN_HAL_HOST_RESUME_REQ = 132, - WLAN_HAL_HOST_RESUME_RSP = 133, - - WLAN_HAL_SET_TX_POWER_REQ = 134, - WLAN_HAL_SET_TX_POWER_RSP = 135, - WLAN_HAL_GET_TX_POWER_REQ = 136, - WLAN_HAL_GET_TX_POWER_RSP = 137, - - WLAN_HAL_P2P_NOA_ATTR_IND = 138, - - WLAN_HAL_ENABLE_RADAR_DETECT_REQ = 139, - WLAN_HAL_ENABLE_RADAR_DETECT_RSP = 140, - WLAN_HAL_GET_TPC_REPORT_REQ = 141, - WLAN_HAL_GET_TPC_REPORT_RSP = 142, - WLAN_HAL_RADAR_DETECT_IND = 143, - WLAN_HAL_RADAR_DETECT_INTR_IND = 144, - WLAN_HAL_KEEP_ALIVE_REQ = 145, - WLAN_HAL_KEEP_ALIVE_RSP = 146, - - /*PNO messages*/ - WLAN_HAL_SET_PREF_NETWORK_REQ = 147, - WLAN_HAL_SET_PREF_NETWORK_RSP = 148, - WLAN_HAL_SET_RSSI_FILTER_REQ = 149, - WLAN_HAL_SET_RSSI_FILTER_RSP = 150, - WLAN_HAL_UPDATE_SCAN_PARAM_REQ = 151, - WLAN_HAL_UPDATE_SCAN_PARAM_RSP = 152, - WLAN_HAL_PREF_NETW_FOUND_IND = 153, - - WLAN_HAL_SET_TX_PER_TRACKING_REQ = 154, - WLAN_HAL_SET_TX_PER_TRACKING_RSP = 155, - WLAN_HAL_TX_PER_HIT_IND = 156, - - WLAN_HAL_8023_MULTICAST_LIST_REQ = 157, - WLAN_HAL_8023_MULTICAST_LIST_RSP = 158, - - WLAN_HAL_SET_PACKET_FILTER_REQ = 159, - WLAN_HAL_SET_PACKET_FILTER_RSP = 160, - WLAN_HAL_PACKET_FILTER_MATCH_COUNT_REQ = 161, - WLAN_HAL_PACKET_FILTER_MATCH_COUNT_RSP = 162, - WLAN_HAL_CLEAR_PACKET_FILTER_REQ = 163, - WLAN_HAL_CLEAR_PACKET_FILTER_RSP = 164, - /*This is temp fix. Should be removed once - * Host and Riva code is in sync*/ - WLAN_HAL_INIT_SCAN_CON_REQ = 165, - - WLAN_HAL_SET_POWER_PARAMS_REQ = 166, - WLAN_HAL_SET_POWER_PARAMS_RSP = 167, - - WLAN_HAL_TSM_STATS_REQ = 168, - WLAN_HAL_TSM_STATS_RSP = 169, - - // wake reason indication (WOW) - WLAN_HAL_WAKE_REASON_IND = 170, - // GTK offload support - WLAN_HAL_GTK_OFFLOAD_REQ = 171, - WLAN_HAL_GTK_OFFLOAD_RSP = 172, - WLAN_HAL_GTK_OFFLOAD_GETINFO_REQ = 173, - WLAN_HAL_GTK_OFFLOAD_GETINFO_RSP = 174, - - WLAN_HAL_FEATURE_CAPS_EXCHANGE_REQ = 175, - WLAN_HAL_FEATURE_CAPS_EXCHANGE_RSP = 176, - WLAN_HAL_EXCLUDE_UNENCRYPTED_IND = 177, - - WLAN_HAL_SET_THERMAL_MITIGATION_REQ = 178, - WLAN_HAL_SET_THERMAL_MITIGATION_RSP = 179, - - WLAN_HAL_UPDATE_VHT_OP_MODE_REQ = 182, - WLAN_HAL_UPDATE_VHT_OP_MODE_RSP = 183, - - WLAN_HAL_P2P_NOA_START_IND = 184, - - WLAN_HAL_GET_ROAM_RSSI_REQ = 185, - WLAN_HAL_GET_ROAM_RSSI_RSP = 186, - - WLAN_HAL_CLASS_B_STATS_IND = 187, - WLAN_HAL_DEL_BA_IND = 188, - WLAN_HAL_DHCP_START_IND = 189, - WLAN_HAL_DHCP_STOP_IND = 190, - WLAN_ROAM_SCAN_OFFLOAD_REQ = 191, - WLAN_ROAM_SCAN_OFFLOAD_RSP = 192, - WLAN_HAL_WIFI_PROXIMITY_REQ = 193, - WLAN_HAL_WIFI_PROXIMITY_RSP = 194, - - WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ = 195, - WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP = 196, - WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND = 197, - - WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ = 198, - WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP = 199, - WLAN_HAL_TDLS_LINK_TEARDOWN_REQ = 200, - WLAN_HAL_TDLS_LINK_TEARDOWN_RSP = 201, - WLAN_HAL_TDLS_IND = 202, - WLAN_HAL_IBSS_PEER_INACTIVITY_IND = 203, - - /* Scan Offload APIs */ - WLAN_HAL_START_SCAN_OFFLOAD_REQ = 204, - WLAN_HAL_START_SCAN_OFFLOAD_RSP = 205, - WLAN_HAL_STOP_SCAN_OFFLOAD_REQ = 206, - WLAN_HAL_STOP_SCAN_OFFLOAD_RSP = 207, - WLAN_HAL_UPDATE_CHANNEL_LIST_REQ = 208, - WLAN_HAL_UPDATE_CHANNEL_LIST_RSP = 209, - WLAN_HAL_OFFLOAD_SCAN_EVENT_IND = 210, - - /* APIs to offload TCP/UDP Heartbeat handshakes */ - WLAN_HAL_LPHB_CFG_REQ = 211, - WLAN_HAL_LPHB_CFG_RSP = 212, - WLAN_HAL_LPHB_IND = 213, - - WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND = 214, - WLAN_HAL_DEL_PERIODIC_TX_PTRN_IND = 215, - WLAN_HAL_PERIODIC_TX_PTRN_FW_IND = 216, - - // Events to set Per-Band Tx Power Limit - WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ = 217, - WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_RSP = 218, - - /* Reliable Multicast using Leader Based Protocol */ - WLAN_HAL_LBP_LEADER_REQ = 219, - WLAN_HAL_LBP_LEADER_RSP = 220, - WLAN_HAL_LBP_UPDATE_IND = 221, - - /* Batchscan */ - WLAN_HAL_BATCHSCAN_SET_REQ = 222, - WLAN_HAL_BATCHSCAN_SET_RSP = 223, - WLAN_HAL_BATCHSCAN_TRIGGER_RESULT_IND = 224, - WLAN_HAL_BATCHSCAN_RESULT_IND = 225, - WLAN_HAL_BATCHSCAN_STOP_IND = 226, - - WLAN_HAL_GET_IBSS_PEER_INFO_REQ = 227, - WLAN_HAL_GET_IBSS_PEER_INFO_RSP = 228, - - WLAN_HAL_RATE_UPDATE_IND = 229, - - /* Tx Fail for weak link notification */ - WLAN_HAL_TX_FAIL_MONITOR_IND = 230, - WLAN_HAL_TX_FAIL_IND = 231, - - /* Multi-hop IP routing offload */ - WLAN_HAL_IP_FORWARD_TABLE_UPDATE_IND = 232, - - WLAN_HAL_MSG_MAX = WLAN_HAL_MSG_TYPE_MAX_ENUM_SIZE -}tHalHostMsgType; - -/* Enumeration for Version */ -typedef enum -{ - WLAN_HAL_MSG_VERSION0 = 0, - WLAN_HAL_MSG_VERSION1 = 1, - WLAN_HAL_MSG_WCNSS_CTRL_VERSION = 0x7FFF, /*define as 2 bytes data*/ - WLAN_HAL_MSG_VERSION_MAX_FIELD = WLAN_HAL_MSG_WCNSS_CTRL_VERSION -}tHalHostMsgVersion; - -/* Enumeration for Boolean - False/True, On/Off */ -typedef enum tagAniBoolean -{ - eANI_BOOLEAN_FALSE = 0, - eANI_BOOLEAN_TRUE, - eANI_BOOLEAN_OFF = 0, - eANI_BOOLEAN_ON = 1, - eANI_BOOLEAN_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ -} eAniBoolean; - -typedef enum -{ - eDRIVER_TYPE_PRODUCTION = 0, - eDRIVER_TYPE_MFG = 1, - eDRIVER_TYPE_DVT = 2, - eDRIVER_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tDriverType; - -typedef enum -{ - HAL_STOP_TYPE_SYS_RESET, - HAL_STOP_TYPE_SYS_DEEP_SLEEP, - HAL_STOP_TYPE_RF_KILL, - HAL_STOP_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tHalStopType; - -typedef enum -{ - eHAL_SYS_MODE_NORMAL, - eHAL_SYS_MODE_LEARN, - eHAL_SYS_MODE_SCAN, - eHAL_SYS_MODE_PROMISC, - eHAL_SYS_MODE_SUSPEND_LINK, - eHAL_SYS_MODE_ROAM_SCAN, - eHAL_SYS_MODE_ROAM_SUSPEND_LINK, - eHAL_SYS_MODE_OEM_DATA, - eHAL_SYS_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} eHalSysMode; - -typedef enum -{ - PHY_SINGLE_CHANNEL_CENTERED = 0, // 20MHz IF bandwidth centered on IF carrier - PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1, // 40MHz IF bandwidth with lower 20MHz supporting the primary channel - PHY_DOUBLE_CHANNEL_CENTERED = 2, // 40MHz IF bandwidth centered on IF carrier - PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3, // 40MHz IF bandwidth with higher 20MHz supporting the primary channel -#ifdef WLAN_FEATURE_11AC - PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED - PHY_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED - PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED - PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW - PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW - PHY_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH - PHY_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH -#endif - PHY_CHANNEL_BONDING_STATE_MAX = WLAN_HAL_MAX_ENUM_SIZE -}ePhyChanBondState; - -// Spatial Multiplexing(SM) Power Save mode -typedef enum eSirMacHTMIMOPowerSaveState -{ - eSIR_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode - eSIR_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode - eSIR_HT_MIMO_PS_NA = 2, // reserved - eSIR_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled - eSIR_HT_MIMO_PS_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSirMacHTMIMOPowerSaveState; - -/* each station added has a rate mode which specifies the sta attributes */ -typedef enum eStaRateMode { - eSTA_TAURUS = 0, - eSTA_TITAN, - eSTA_POLARIS, - eSTA_11b, - eSTA_11bg, - eSTA_11a, - eSTA_11n, -#ifdef WLAN_FEATURE_11AC - eSTA_11ac, -#endif - eSTA_INVALID_RATE_MODE = WLAN_HAL_MAX_ENUM_SIZE -} tStaRateMode, *tpStaRateMode; - -#define SIR_NUM_11B_RATES 4 //1,2,5.5,11 -#define SIR_NUM_11A_RATES 8 //6,9,12,18,24,36,48,54 -#define SIR_NUM_POLARIS_RATES 3 //72,96,108 - -#define SIR_MAC_MAX_SUPPORTED_MCS_SET 16 - - -typedef enum eSirBssType -{ - eSIR_INFRASTRUCTURE_MODE, - eSIR_INFRA_AP_MODE, //Added for softAP support - eSIR_IBSS_MODE, - eSIR_BTAMP_STA_MODE, //Added for BT-AMP support - eSIR_BTAMP_AP_MODE, //Added for BT-AMP support - eSIR_AUTO_MODE, - eSIR_DONOT_USE_BSS_TYPE = WLAN_HAL_MAX_ENUM_SIZE -} tSirBssType; - -typedef enum eSirNwType -{ - eSIR_11A_NW_TYPE, - eSIR_11B_NW_TYPE, - eSIR_11G_NW_TYPE, - eSIR_11N_NW_TYPE, - eSIR_DONOT_USE_NW_TYPE = WLAN_HAL_MAX_ENUM_SIZE -} tSirNwType; - -typedef tANI_U16 tSirMacBeaconInterval; - -#define SIR_MAC_RATESET_EID_MAX 12 - -typedef enum eSirMacHTOperatingMode -{ - eSIR_HT_OP_MODE_PURE, // No Protection - eSIR_HT_OP_MODE_OVERLAP_LEGACY, // Overlap Legacy device present, protection is optional - eSIR_HT_OP_MODE_NO_LEGACY_20MHZ_HT, // No legacy device, but 20 MHz HT present - eSIR_HT_OP_MODE_MIXED, // Protection is required - eSIR_HT_OP_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSirMacHTOperatingMode; - -/// Encryption type enum used with peer -typedef enum eAniEdType -{ - eSIR_ED_NONE, - eSIR_ED_WEP40, - eSIR_ED_WEP104, - eSIR_ED_TKIP, - eSIR_ED_CCMP, - eSIR_ED_WPI, - eSIR_ED_AES_128_CMAC, - eSIR_ED_NOT_IMPLEMENTED = WLAN_HAL_MAX_ENUM_SIZE -} tAniEdType; - -#define WLAN_MAX_KEY_RSC_LEN 16 -#define WLAN_WAPI_KEY_RSC_LEN 16 - -/// MAX key length when ULA is used -#define SIR_MAC_MAX_KEY_LENGTH 32 -#define SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS 4 - -/// Enum to specify whether key is used -/// for TX only, RX only or both -typedef enum eAniKeyDirection -{ - eSIR_TX_ONLY, - eSIR_RX_ONLY, - eSIR_TX_RX, - eSIR_TX_DEFAULT, - eSIR_DONOT_USE_KEY_DIRECTION = WLAN_HAL_MAX_ENUM_SIZE -} tAniKeyDirection; - -typedef enum eAniWepType -{ - eSIR_WEP_STATIC, - eSIR_WEP_DYNAMIC, - eSIR_WEP_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tAniWepType; - -typedef enum eSriLinkState { - - eSIR_LINK_IDLE_STATE = 0, - eSIR_LINK_PREASSOC_STATE = 1, - eSIR_LINK_POSTASSOC_STATE = 2, - eSIR_LINK_AP_STATE = 3, - eSIR_LINK_IBSS_STATE = 4, - - /* BT-AMP Case */ - eSIR_LINK_BTAMP_PREASSOC_STATE = 5, - eSIR_LINK_BTAMP_POSTASSOC_STATE = 6, - eSIR_LINK_BTAMP_AP_STATE = 7, - eSIR_LINK_BTAMP_STA_STATE = 8, - - /* Reserved for HAL Internal Use */ - eSIR_LINK_LEARN_STATE = 9, - eSIR_LINK_SCAN_STATE = 10, - eSIR_LINK_FINISH_SCAN_STATE = 11, - eSIR_LINK_INIT_CAL_STATE = 12, - eSIR_LINK_FINISH_CAL_STATE = 13, -#ifdef WLAN_FEATURE_P2P - eSIR_LINK_LISTEN_STATE = 14, - eSIR_LINK_SEND_ACTION_STATE = 15, -#endif - eSIR_LINK_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSirLinkState; - -typedef enum -{ - HAL_SUMMARY_STATS_INFO = 0x00000001, - HAL_GLOBAL_CLASS_A_STATS_INFO = 0x00000002, - HAL_GLOBAL_CLASS_B_STATS_INFO = 0x00000004, - HAL_GLOBAL_CLASS_C_STATS_INFO = 0x00000008, - HAL_GLOBAL_CLASS_D_STATS_INFO = 0x00000010, - HAL_PER_STA_STATS_INFO = 0x00000020 -}eHalStatsMask; - -/* BT-AMP events type */ -typedef enum -{ - BTAMP_EVENT_CONNECTION_START, - BTAMP_EVENT_CONNECTION_STOP, - BTAMP_EVENT_CONNECTION_TERMINATED, - BTAMP_EVENT_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE, //This and beyond are invalid values -} tBtAmpEventType; - -//*************************************************************** - - -/*******************PE Statistics*************************/ -typedef enum -{ - PE_SUMMARY_STATS_INFO = 0x00000001, - PE_GLOBAL_CLASS_A_STATS_INFO = 0x00000002, - PE_GLOBAL_CLASS_B_STATS_INFO = 0x00000004, - PE_GLOBAL_CLASS_C_STATS_INFO = 0x00000008, - PE_GLOBAL_CLASS_D_STATS_INFO = 0x00000010, - PE_PER_STA_STATS_INFO = 0x00000020, - PE_STATS_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE //This and beyond are invalid values -}ePEStatsMask; - -/*--------------------------------------------------------------------------- - Message definitons - All the messages below need to be packed - ---------------------------------------------------------------------------*/ - -#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK) -#pragma pack(push, 1) -#elif defined(__ANI_COMPILER_PRAGMA_PACK) -#pragma pack(1) -#else -#endif - -/// Definition for HAL API Version. -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 revision; - tANI_U8 version; - tANI_U8 minor; - tANI_U8 major; -} tWcnssWlanVersion, *tpWcnssWlanVersion; - -/// Definition for Encryption Keys -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 keyId; - tANI_U8 unicast; // 0 for multicast - tAniKeyDirection keyDirection; - tANI_U8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown - tANI_U8 paeRole; // =1 for authenticator,=0 for supplicant - tANI_U16 keyLength; - tANI_U8 key[SIR_MAC_MAX_KEY_LENGTH]; -} tSirKeys, *tpSirKeys; - - -//SetStaKeyParams Moving here since it is shared by configbss/setstakey msgs -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*STATIC/DYNAMIC - valid only for WEP*/ - tAniWepType wepType; - - /*Default WEP key, valid only for static WEP, must between 0 and 3.*/ - tANI_U8 defWEPIdx; - - /* valid only for non-static WEP encyrptions */ - tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS]; - - /*Control for Replay Count, 1= Single TID based replay count on Tx - 0 = Per TID based replay count on TX */ - tANI_U8 singleTidRc; - -} tSetStaKeyParams, *tpSetStaKeyParams; - - - -/* 4-byte control message header used by HAL*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalHostMsgType msgType:16; - tHalHostMsgVersion msgVersion:16; - tANI_U32 msgLen; -} tHalMsgHeader, *tpHalMsgHeader; - -/* Config format required by HAL for each CFG item*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Cfg Id. The Id required by HAL is exported by HAL - * in shared header file between UMAC and HAL.*/ - tANI_U16 uCfgId; - - /* Length of the Cfg. This parameter is used to go to next cfg - * in the TLV format.*/ - tANI_U16 uCfgLen; - - /* Padding bytes for unaligned address's */ - tANI_U16 uCfgPadBytes; - - /* Reserve bytes for making cfgVal to align address */ - tANI_U16 uCfgReserve; - - /* Following the uCfgLen field there should be a 'uCfgLen' bytes - * containing the uCfgValue ; tANI_U8 uCfgValue[uCfgLen] */ -} tHalCfg, *tpHalCfg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST sHalMacStartParameters -{ - /* Drive Type - Production or FTM etc */ - tDriverType driverType; - - /*Length of the config buffer*/ - tANI_U32 uConfigBufferLen; - - /* Following this there is a TLV formatted buffer of length - * "uConfigBufferLen" bytes containing all config values. - * The TLV is expected to be formatted like this: - * 0 15 31 31+CFG_LEN-1 length-1 - * | CFG_ID | CFG_LEN | CFG_BODY | CFG_ID |......| - */ -} tHalMacStartParameters, *tpHalMacStartParameters; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalMacStartReqMsg messages should be - * header.msgLen = sizeof(tHalMacStartReqMsg) + uConfigBufferLen */ - tHalMsgHeader header; - tHalMacStartParameters startReqParams; -} tHalMacStartReqMsg, *tpHalMacStartReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST sHalMacStartRspParameters -{ - /*success or failure */ - tANI_U16 status; - - /*Max number of STA supported by the device*/ - tANI_U8 ucMaxStations; - - /*Max number of BSS supported by the device*/ - tANI_U8 ucMaxBssids; - - /*API Version */ - tWcnssWlanVersion wcnssWlanVersion; - - /*CRM build information */ - tANI_U8 wcnssCrmVersionString[WLAN_HAL_VERSION_LENGTH]; - - /*hardware/chipset/misc version information */ - tANI_U8 wcnssWlanVersionString[WLAN_HAL_VERSION_LENGTH]; - -} tHalMacStartRspParams, *tpHalMacStartRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMacStartRspParams startRspParams; -} tHalMacStartRspMsg, *tpHalMacStartRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_STOP_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*The reason for which the device is being stopped*/ - tHalStopType reason; - -}tHalMacStopReqParams, *tpHalMacStopReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMacStopReqParams stopReqParams; -} tHalMacStopReqMsg, *tpHalMacStopReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_STOP_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalMacStopRspParams, *tpHalMacStopRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMacStopRspParams stopRspParams; -} tHalMacStopRspMsg, *tpHalMacStopRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_UPDATE_CFG_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Length of the config buffer. Allows UMAC to update multiple CFGs */ - tANI_U32 uConfigBufferLen; - - /* Following this there is a TLV formatted buffer of length - * "uConfigBufferLen" bytes containing all config values. - * The TLV is expected to be formatted like this: - * 0 15 31 31+CFG_LEN-1 length-1 - * | CFG_ID | CFG_LEN | CFG_BODY | CFG_ID |......| - */ -} tHalUpdateCfgReqParams, *tpHalUpdateCfgReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalUpdateCfgReqMsg messages should be - * header.msgLen = sizeof(tHalUpdateCfgReqMsg) + uConfigBufferLen */ - tHalMsgHeader header; - tHalUpdateCfgReqParams updateCfgReqParams; -} tHalUpdateCfgReqMsg, *tpHalUpdateCfgReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_UPDATE_CFG_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - -}tHalUpdateCfgRspParams, *tpHalUpdateCfgRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalUpdateCfgRspParams updateCfgRspParams; -} tHalUpdateCfgRspMsg, *tpHalUpdateCfgRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_INIT_SCAN_REQ ----------------------------------------------------------------------------*/ - -/// Frame control field format (2 bytes) -typedef __ani_attr_pre_packed struct sSirMacFrameCtl -{ - -#ifndef ANI_LITTLE_BIT_ENDIAN - - tANI_U8 subType :4; - tANI_U8 type :2; - tANI_U8 protVer :2; - - tANI_U8 order :1; - tANI_U8 wep :1; - tANI_U8 moreData :1; - tANI_U8 powerMgmt :1; - tANI_U8 retry :1; - tANI_U8 moreFrag :1; - tANI_U8 fromDS :1; - tANI_U8 toDS :1; - -#else - - tANI_U8 protVer :2; - tANI_U8 type :2; - tANI_U8 subType :4; - - tANI_U8 toDS :1; - tANI_U8 fromDS :1; - tANI_U8 moreFrag :1; - tANI_U8 retry :1; - tANI_U8 powerMgmt :1; - tANI_U8 moreData :1; - tANI_U8 wep :1; - tANI_U8 order :1; - -#endif - -} __ani_attr_packed tSirMacFrameCtl, *tpSirMacFrameCtl; - -/// Sequence control field -typedef __ani_attr_pre_packed struct sSirMacSeqCtl -{ - tANI_U8 fragNum : 4; - tANI_U8 seqNumLo : 4; - tANI_U8 seqNumHi : 8; -} __ani_attr_packed tSirMacSeqCtl, *tpSirMacSeqCtl; - -/// Management header format -typedef __ani_attr_pre_packed struct sSirMacMgmtHdr -{ - tSirMacFrameCtl fc; - tANI_U8 durationLo; - tANI_U8 durationHi; - tANI_U8 da[6]; - tANI_U8 sa[6]; - tANI_U8 bssId[6]; - tSirMacSeqCtl seqControl; -} __ani_attr_packed tSirMacMgmtHdr, *tpSirMacMgmtHdr; - -/// Scan Entry to hold active BSS idx's -typedef __ani_attr_pre_packed struct sSirScanEntry -{ - tANI_U8 bssIdx[HAL_NUM_BSSID]; - tANI_U8 activeBSScnt; -}__ani_attr_packed tSirScanEntry, *ptSirScanEntry; - -typedef PACKED_PRE struct PACKED_POST { - - /*LEARN - AP Role - SCAN - STA Role*/ - eHalSysMode scanMode; - - /*BSSID of the BSS*/ - tSirMacAddr bssid; - - /*Whether BSS needs to be notified*/ - tANI_U8 notifyBss; - - /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or - CTS to Self). Must always be a valid frame type.*/ - tANI_U8 frameType; - - /*UMAC has the option of passing the MAC frame to be used for notifying - the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by - macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on - frameType.*/ - tANI_U8 frameLength; - - /* Following the framelength there is a MAC frame buffer if frameLength - is non-zero. */ - tSirMacMgmtHdr macMgmtHdr; - - /*Entry to hold number of active BSS idx's*/ - tSirScanEntry scanEntry; - -} tInitScanParams, * tpInitScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tInitScanParams initScanParams; -} tHalInitScanReqMsg, *tpHalInitScanReqMsg; - -typedef PACKED_PRE struct PACKED_POST { - - /*LEARN - AP Role - SCAN - STA Role*/ - eHalSysMode scanMode; - - /*BSSID of the BSS*/ - tSirMacAddr bssid; - - /*Whether BSS needs to be notified*/ - tANI_U8 notifyBss; - - /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or - CTS to Self). Must always be a valid frame type.*/ - tANI_U8 frameType; - - /*UMAC has the option of passing the MAC frame to be used for notifying - the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by - macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on - frameType.*/ - tANI_U8 frameLength; - - /* Following the framelength there is a MAC frame buffer if frameLength - is non-zero. */ - tSirMacMgmtHdr macMgmtHdr; - - /*Entry to hold number of active BSS idx's*/ - tSirScanEntry scanEntry; - - /* Single NoA usage in Scanning */ - tANI_U8 useNoA; - - /* Indicates the scan duration (in ms) */ - tANI_U16 scanDuration; - -} tInitScanConParams, * tpInitScanConParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tInitScanConParams initScanParams; -} tHalInitScanConReqMsg, *tpHalInitScanConReqMsg; - - -/*--------------------------------------------------------------------------- - WLAN_HAL_INIT_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalInitScanRspParams, *tpHalInitScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalInitScanRspParams initScanRspParams; -} tHalInitScanRspMsg, *tpHalInitScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_SCAN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the channel to scan*/ - tANI_U8 scanChannel; - - } tStartScanParams, * tpStartScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tStartScanParams startScanParams; -} tHalStartScanReqMsg, *tpHalStartScanReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_START_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - tANI_U32 startTSF[2]; - tPowerdBm txMgmtPower; - -}tHalStartScanRspParams, *tpHalStartScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStartScanRspParams startScanRspParams; -} tHalStartScanRspMsg, *tpHalStartScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_END_SCAN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the channel to stop scanning. Not used really. But retained - for symmetry with "start Scan" message. It can also help in error - check if needed.*/ - tANI_U8 scanChannel; - -} tEndScanParams, *tpEndScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEndScanParams endScanParams; -} tHalEndScanReqMsg, *tpHalEndScanReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_END_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalEndScanRspParams, *tpHalEndScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEndScanRspParams endScanRspParams; -} tHalEndScanRspMsg, *tpHalEndScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_FINISH_SCAN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Identifies the operational state of the AP/STA - * LEARN - AP Role SCAN - STA Role */ - eHalSysMode scanMode; - - /*Operating channel to tune to.*/ - tANI_U8 currentOperChannel; - - /*Channel Bonding state If 20/40 MHz is operational, this will indicate the - 40 MHz extension channel in combination with the control channel*/ - ePhyChanBondState cbState; - - /*BSSID of the BSS*/ - tSirMacAddr bssid; - - /*Whether BSS needs to be notified*/ - tANI_U8 notifyBss; - - /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or - CTS to Self). Must always be a valid frame type.*/ - tANI_U8 frameType; - - /*UMAC has the option of passing the MAC frame to be used for notifying - the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by - macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on - frameType.*/ - tANI_U8 frameLength; - - /*Following the framelength there is a MAC frame buffer if frameLength - is non-zero.*/ - tSirMacMgmtHdr macMgmtHdr; - - /*Entry to hold number of active BSS idx's*/ - tSirScanEntry scanEntry; - -} tFinishScanParams, *tpFinishScanParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tFinishScanParams finishScanParams; -} tHalFinishScanReqMsg, *tpHalFinishScanReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_FINISH_SCAN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -}tHalFinishScanRspParams, *tpHalFinishScanRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalFinishScanRspParams finishScanRspParams; -} tHalFinishScanRspMsg, *tpHalFinishScanRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_STA_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST { - /* - * For Self STA Entry: this represents Self Mode. - * For Peer Stations, this represents the mode of the peer. - * On Station: - * --this mode is updated when PE adds the Self Entry. - * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP. - * ON AP: - * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used - * to indicate the self mode of the AP. - * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated. - */ - - tStaRateMode opRateMode; - // 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps - tANI_U16 llbRates[SIR_NUM_11B_RATES]; - tANI_U16 llaRates[SIR_NUM_11A_RATES]; - tANI_U16 aniLegacyRates[SIR_NUM_POLARIS_RATES]; - tANI_U16 reserved; - - //Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported) - //First 26 bits are reserved for those Titan rates and - //the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved. - tANI_U32 aniEnhancedRateBitmap; //Titan and Taurus Rates - - /* - * 0-76 bits used, remaining reserved - * bits 0-15 and 32 should be set. - */ - tANI_U8 supportedMCSSet[SIR_MAC_MAX_SUPPORTED_MCS_SET]; - - /* - * RX Highest Supported Data Rate defines the highest data - * rate that the STA is able to receive, in unites of 1Mbps. - * This value is derived from "Supported MCS Set field" inside - * the HT capability element. - */ - tANI_U16 rxHighestDataRate; - -} tSirSupportedRates, *tpSirSupportedRates; - -typedef PACKED_PRE struct PACKED_POST -{ - /*BSSID of STA*/ - tSirMacAddr bssId; - - /*ASSOC ID, as assigned by UMAC*/ - tANI_U16 assocId; - - /* STA entry Type: 0 - Self, 1 - Other/Peer, 2 - BSSID, 3 - BCAST */ - tANI_U8 staType; - - /*Short Preamble Supported.*/ - tANI_U8 shortPreambleSupported; - - /*MAC Address of STA*/ - tSirMacAddr staMac; - - /*Listen interval of the STA*/ - tANI_U16 listenInterval; - - /*Support for 11e/WMM*/ - tANI_U8 wmmEnabled; - - /*11n HT capable STA*/ - tANI_U8 htCapable; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*RIFS mode 0 - NA, 1 - Allowed */ - tANI_U8 rifsMode; - - /*L-SIG TXOP Protection mechanism - 0 - No Support, 1 - Supported - SG - there is global field */ - tANI_U8 lsigTxopProtection; - - /*Max Ampdu Size supported by STA. TPE programming. - 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */ - tANI_U8 maxAmpduSize; - - /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/ - tANI_U8 maxAmpduDensity; - - /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/ - tANI_U8 maxAmsduSize; - - /*Short GI support for 40Mhz packets*/ - tANI_U8 fShortGI40Mhz; - - /*Short GI support for 20Mhz packets*/ - tANI_U8 fShortGI20Mhz; - - /*Robust Management Frame (RMF) enabled/disabled*/ - tANI_U8 rmfEnabled; - - /* The unicast encryption type in the association */ - tANI_U32 encryptType; - - /*HAL should update the existing STA entry, if this flag is set. UMAC - will set this flag in case of RE-ASSOC, where we want to reuse the old - STA ID. 0 = Add, 1 = Update*/ - tANI_U8 action; - - /*U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /*Max SP Length*/ - tANI_U8 maxSPLen; - - /*11n Green Field preamble support - 0 - Not supported, 1 - Supported */ - tANI_U8 greenFieldCapable; - - /*MIMO Power Save mode*/ - tSirMacHTMIMOPowerSaveState mimoPS; - - /*Delayed BA Support*/ - tANI_U8 delayedBASupport; - - /*Max AMPDU duration in 32us*/ - tANI_U8 us32MaxAmpduDuration; - - /*HT STA should set it to 1 if it is enabled in BSS. HT STA should set - it to 0 if AP does not support it. This indication is sent to HAL and - HAL uses this flag to pickup up appropriate 40Mhz rates.*/ - tANI_U8 fDsssCckMode40Mhz; - - /* Valid STA Idx when action=Update. Set to 0xFF when invalid! - Retained for backward compalibity with existing HAL code*/ - tANI_U8 staIdx; - - /* BSSID of BSS to which station is associated. Set to 0xFF when invalid. - Retained for backward compalibity with existing HAL code*/ - tANI_U8 bssIdx; - - tANI_U8 p2pCapableSta; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 reserved; - - /*These rates are the intersection of peer and self capabilities.*/ - tSirSupportedRates supportedRates; - -} tConfigStaParams, *tpConfigStaParams; - -/*------------------------------------------------------------------------ - * WLAN_HAL_CONFIG_STA_REQ - * ----------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST { - /* - * For Self STA Entry: this represents Self Mode. - * For Peer Stations, this represents the mode of the peer. - * On Station: - * --this mode is updated when PE adds the Self Entry. - * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP. - * ON AP: - * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used - * to indicate the self mode of the AP. - * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated. - */ - - tStaRateMode opRateMode; - // 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps - tANI_U16 llbRates[SIR_NUM_11B_RATES]; - tANI_U16 llaRates[SIR_NUM_11A_RATES]; - tANI_U16 aniLegacyRates[SIR_NUM_POLARIS_RATES]; - tANI_U16 reserved; - - //Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported) - //First 26 bits are reserved for those Titan rates and - //the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved. - tANI_U32 aniEnhancedRateBitmap; //Titan and Taurus Rates - - /* - * 0-76 bits used, remaining reserved - * bits 0-15 and 32 should be set. - */ - tANI_U8 supportedMCSSet[SIR_MAC_MAX_SUPPORTED_MCS_SET]; - - /* - * RX Highest Supported Data Rate defines the highest data - * rate that the STA is able to receive, in unites of 1Mbps. - * This value is derived from "Supported MCS Set field" inside - * the HT capability element. - */ - tANI_U16 rxHighestDataRate; - - /* Indicates the Maximum MCS that can be received for each number - * of spacial streams */ - tANI_U16 vhtRxMCSMap; - - /*Indicate the highest VHT data rate that the STA is able to receive*/ - tANI_U16 vhtRxHighestDataRate; - - /* Indicates the Maximum MCS that can be transmitted for each number - * of spacial streams */ - tANI_U16 vhtTxMCSMap; - - /*Indicate the highest VHT data rate that the STA is able to transmit*/ - tANI_U16 vhtTxHighestDataRate; - -} tSirSupportedRates_V1, *tpSirSupportedRates_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - /*BSSID of STA*/ - tSirMacAddr bssId; - - /*ASSOC ID, as assigned by UMAC*/ - tANI_U16 assocId; - - /* STA entry Type: 0 - Self, 1 - Other/Peer, 2 - BSSID, 3 - BCAST */ - tANI_U8 staType; - - /*Short Preamble Supported.*/ - tANI_U8 shortPreambleSupported; - - /*MAC Address of STA*/ - tSirMacAddr staMac; - - /*Listen interval of the STA*/ - tANI_U16 listenInterval; - - /*Support for 11e/WMM*/ - tANI_U8 wmmEnabled; - - /*11n HT capable STA*/ - tANI_U8 htCapable; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*RIFS mode 0 - NA, 1 - Allowed */ - tANI_U8 rifsMode; - - /*L-SIG TXOP Protection mechanism - 0 - No Support, 1 - Supported - SG - there is global field */ - tANI_U8 lsigTxopProtection; - - /*Max Ampdu Size supported by STA. TPE programming. - 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */ - tANI_U8 maxAmpduSize; - - /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/ - tANI_U8 maxAmpduDensity; - - /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/ - tANI_U8 maxAmsduSize; - - /*Short GI support for 40Mhz packets*/ - tANI_U8 fShortGI40Mhz; - - /*Short GI support for 20Mhz packets*/ - tANI_U8 fShortGI20Mhz; - - /*Robust Management Frame (RMF) enabled/disabled*/ - tANI_U8 rmfEnabled; - - /* The unicast encryption type in the association */ - tANI_U32 encryptType; - - /*HAL should update the existing STA entry, if this flag is set. UMAC - will set this flag in case of RE-ASSOC, where we want to reuse the old - STA ID. 0 = Add, 1 = Update*/ - tANI_U8 action; - - /*U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /*Max SP Length*/ - tANI_U8 maxSPLen; - - /*11n Green Field preamble support - 0 - Not supported, 1 - Supported */ - tANI_U8 greenFieldCapable; - - /*MIMO Power Save mode*/ - tSirMacHTMIMOPowerSaveState mimoPS; - - /*Delayed BA Support*/ - tANI_U8 delayedBASupport; - - /*Max AMPDU duration in 32us*/ - tANI_U8 us32MaxAmpduDuration; - - /*HT STA should set it to 1 if it is enabled in BSS. HT STA should set - it to 0 if AP does not support it. This indication is sent to HAL and - HAL uses this flag to pickup up appropriate 40Mhz rates.*/ - tANI_U8 fDsssCckMode40Mhz; - - /* Valid STA Idx when action=Update. Set to 0xFF when invalid! - Retained for backward compalibity with existing HAL code*/ - tANI_U8 staIdx; - - /* BSSID of BSS to which station is associated. Set to 0xFF when invalid. - Retained for backward compalibity with existing HAL code*/ - tANI_U8 bssIdx; - - tANI_U8 p2pCapableSta; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 htLdpcEnabled:1; - tANI_U8 vhtLdpcEnabled:1; - tANI_U8 vhtTxBFEnabled:1; - tANI_U8 reserved:5; - - /*These rates are the intersection of peer and self capabilities.*/ - tSirSupportedRates_V1 supportedRates; - - tANI_U8 vhtCapable; - tANI_U8 vhtTxChannelWidthSet; - -} tConfigStaParams_V1, *tpConfigStaParams_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - PACKED_PRE union PACKED_POST { - tConfigStaParams configStaParams; - tConfigStaParams_V1 configStaParams_V1; - } uStaParams; -} tConfigStaReqMsg, *tpConfigStaReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_STA_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Station index; valid only when 'status' field value SUCCESS */ - tANI_U8 staIdx; - - /* BSSID Index of BSS to which the station is associated */ - tANI_U8 bssIdx; - - /* DPU Index for PTK */ - tANI_U8 dpuIndex; - - /* DPU Index for GTK */ - tANI_U8 bcastDpuIndex; - - /*DPU Index for IGTK */ - tANI_U8 bcastMgmtDpuIdx; - - /*PTK DPU signature*/ - tANI_U8 ucUcastSig; - - /*GTK DPU isignature*/ - tANI_U8 ucBcastSig; - - /* IGTK DPU signature*/ - tANI_U8 ucMgmtSig; - - tANI_U8 p2pCapableSta; - -}tConfigStaRspParams, *tpConfigStaRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tConfigStaRspParams configStaRspParams; -}tConfigStaRspMsg, *tpConfigStaRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_STA_REQ ----------------------------------------------------------------------------*/ - -/* Delete STA Request params */ -typedef PACKED_PRE struct PACKED_POST -{ - /* Index of STA to delete */ - tANI_U8 staIdx; -} tDeleteStaParams, *tpDeleteStaParams; - -/* Delete STA Request message*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteStaParams delStaParams; -} tDeleteStaReqMsg, *tpDeleteStaReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_STA_RSP ----------------------------------------------------------------------------*/ - -/* Delete STA Response Params */ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Index of STA deleted */ - tANI_U8 staId; -} tDeleteStaRspParams, *tpDeleteStaRspParams; - -/* Delete STA Response message*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteStaRspParams delStaRspParams; -} tDeleteStaRspMsg, *tpDeleteStaRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_BSS_REQ ----------------------------------------------------------------------------*/ - -//12 Bytes long because this structure can be used to represent rate -//and extended rate set IEs. The parser assume this to be at least 12 -typedef __ani_attr_pre_packed struct sSirMacRateSet -{ - tANI_U8 numRates; - tANI_U8 rate[SIR_MAC_RATESET_EID_MAX]; -} __ani_attr_packed tSirMacRateSet; - -// access category record -typedef __ani_attr_pre_packed struct sSirMacAciAifsn -{ -#ifndef ANI_LITTLE_BIT_ENDIAN - tANI_U8 rsvd : 1; - tANI_U8 aci : 2; - tANI_U8 acm : 1; - tANI_U8 aifsn : 4; -#else - tANI_U8 aifsn : 4; - tANI_U8 acm : 1; - tANI_U8 aci : 2; - tANI_U8 rsvd : 1; -#endif -} __ani_attr_packed tSirMacAciAifsn; - -// contention window size -typedef __ani_attr_pre_packed struct sSirMacCW -{ -#ifndef ANI_LITTLE_BIT_ENDIAN - tANI_U8 max : 4; - tANI_U8 min : 4; -#else - tANI_U8 min : 4; - tANI_U8 max : 4; -#endif -} __ani_attr_packed tSirMacCW; - -typedef __ani_attr_pre_packed struct sSirMacEdcaParamRecord -{ - tSirMacAciAifsn aci; - tSirMacCW cw; - tANI_U16 txoplimit; -} __ani_attr_packed tSirMacEdcaParamRecord; - -typedef __ani_attr_pre_packed struct sSirMacSSid -{ - tANI_U8 length; - tANI_U8 ssId[32]; -} __ani_attr_packed tSirMacSSid; - -// Concurrency role. These are generic IDs that identify the various roles -// in the software system. -typedef enum { - HAL_STA_MODE=0, - HAL_STA_SAP_MODE=1, // to support softAp mode . This is misleading. It means AP MODE only. - HAL_P2P_CLIENT_MODE, - HAL_P2P_GO_MODE, - HAL_MONITOR_MODE, -} tHalConMode; - -//This is a bit pattern to be set for each mode -//bit 0 - sta mode -//bit 1 - ap mode -//bit 2 - p2p client mode -//bit 3 - p2p go mode -typedef enum -{ - HAL_STA=1, - HAL_SAP=2, - HAL_STA_SAP=3, //to support sta, softAp mode . This means STA+AP mode - HAL_P2P_CLIENT=4, - HAL_P2P_GO=8, - HAL_MAX_CONCURRENCY_PERSONA=4 -} tHalConcurrencyMode; - -// IFACE PERSONA for different Operating modes -typedef enum -{ - HAL_IFACE_UNKNOWN, - HAL_IFACE_STA_MODE, - HAL_IFACE_P2P_MODE, - HAL_IFACE_MAX -} tHalIfacePersona; - -typedef PACKED_PRE struct PACKED_POST -{ - /* BSSID */ - tSirMacAddr bssId; - - /* Self Mac Address */ - tSirMacAddr selfMacAddr; - - /* BSS type */ - tSirBssType bssType; - - /*Operational Mode: AP =0, STA = 1*/ - tANI_U8 operMode; - - /*Network Type*/ - tSirNwType nwType; - - /*Used to classify PURE_11G/11G_MIXED to program MTU*/ - tANI_U8 shortSlotTimeSupported; - - /*Co-exist with 11a STA*/ - tANI_U8 llaCoexist; - - /*Co-exist with 11b STA*/ - tANI_U8 llbCoexist; - - /*Co-exist with 11g STA*/ - tANI_U8 llgCoexist; - - /*Coexistence with 11n STA*/ - tANI_U8 ht20Coexist; - - /*Non GF coexist flag*/ - tANI_U8 llnNonGFCoexist; - - /*TXOP protection support*/ - tANI_U8 fLsigTXOPProtectionFullSupport; - - /*RIFS mode*/ - tANI_U8 fRIFSMode; - - /*Beacon Interval in TU*/ - tSirMacBeaconInterval beaconInterval; - - /*DTIM period*/ - tANI_U8 dtimPeriod; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*Operating channel*/ - tANI_U8 currentOperChannel; - - /*Extension channel for channel bonding*/ - tANI_U8 currentExtChannel; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 reserved; - - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*HAL should update the existing BSS entry, if this flag is set. - UMAC will set this flag in case of reassoc, where we want to resue the - the old BSSID and still return success 0 = Add, 1 = Update*/ - tANI_U8 action; - - /* MAC Rate Set */ - tSirMacRateSet rateSet; - - /*Enable/Disable HT capabilities of the BSS*/ - tANI_U8 htCapable; - - // Enable/Disable OBSS protection - tANI_U8 obssProtEnabled; - - /*RMF enabled/disabled*/ - tANI_U8 rmfEnabled; - - /*HT Operating Mode operating mode of the 802.11n STA*/ - tSirMacHTOperatingMode htOperMode; - - /*Dual CTS Protection: 0 - Unused, 1 - Used*/ - tANI_U8 dualCTSProtection; - - /* Probe Response Max retries */ - tANI_U8 ucMaxProbeRespRetryLimit; - - /* To Enable Hidden ssid */ - tANI_U8 bHiddenSSIDEn; - - /* To Enable Disable FW Proxy Probe Resp */ - tANI_U8 bProxyProbeRespEn; - - /* Boolean to indicate if EDCA params are valid. UMAC might not have valid - EDCA params or might not desire to apply EDCA params during config BSS. - 0 implies Not Valid ; Non-Zero implies valid*/ - tANI_U8 edcaParamsValid; - - /*EDCA Parameters for Best Effort Access Category*/ - tSirMacEdcaParamRecord acbe; - - /*EDCA Parameters forBackground Access Category*/ - tSirMacEdcaParamRecord acbk; - - /*EDCA Parameters for Video Access Category*/ - tSirMacEdcaParamRecord acvi; - - /*EDCA Parameters for Voice Access Category*/ - tSirMacEdcaParamRecord acvo; - -#ifdef WLAN_FEATURE_VOWIFI_11R - tANI_U8 extSetStaKeyParamValid; //Ext Bss Config Msg if set - tSetStaKeyParams extSetStaKeyParam; //SetStaKeyParams for ext bss msg -#endif - - /* Persona for the BSS can be STA,AP,GO,CLIENT value same as tHalConMode */ - tANI_U8 halPersona; - - tANI_U8 bSpectrumMgtEnable; - - /*HAL fills in the tx power used for mgmt frames in txMgmtPower*/ - tANI_S8 txMgmtPower; - /*maxTxPower has max power to be used after applying the power constraint if any */ - tANI_S8 maxTxPower; - /*Context of the station being added in HW - Add a STA entry for "itself" - - On AP - Add the AP itself in an "STA context" - On STA - Add the AP to which this STA is joining in an "STA context" */ - tConfigStaParams staContext; -} tConfigBssParams, * tpConfigBssParams; - - -/*-------------------------------------------------------------------------- - * WLAN_HAL_CONFIG_BSS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* BSSID */ - tSirMacAddr bssId; - - /* Self Mac Address */ - tSirMacAddr selfMacAddr; - - /* BSS type */ - tSirBssType bssType; - - /*Operational Mode: AP =0, STA = 1*/ - tANI_U8 operMode; - - /*Network Type*/ - tSirNwType nwType; - - /*Used to classify PURE_11G/11G_MIXED to program MTU*/ - tANI_U8 shortSlotTimeSupported; - - /*Co-exist with 11a STA*/ - tANI_U8 llaCoexist; - - /*Co-exist with 11b STA*/ - tANI_U8 llbCoexist; - - /*Co-exist with 11g STA*/ - tANI_U8 llgCoexist; - - /*Coexistence with 11n STA*/ - tANI_U8 ht20Coexist; - - /*Non GF coexist flag*/ - tANI_U8 llnNonGFCoexist; - - /*TXOP protection support*/ - tANI_U8 fLsigTXOPProtectionFullSupport; - /*RIFS mode*/ - tANI_U8 fRIFSMode; - - /*Beacon Interval in TU*/ - tSirMacBeaconInterval beaconInterval; - - /*DTIM period*/ - tANI_U8 dtimPeriod; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - tANI_U8 txChannelWidthSet; - - /*Operating channel*/ - tANI_U8 currentOperChannel; - - /*Extension channel for channel bonding*/ - tANI_U8 currentExtChannel; - - /*Reserved to align next field on a dword boundary*/ - tANI_U8 reserved; - - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*HAL should update the existing BSS entry, if this flag is set. - UMAC will set this flag in case of reassoc, where we want to resue the - the old BSSID and still return success 0 = Add, 1 = Update*/ - tANI_U8 action; - - /* MAC Rate Set */ - tSirMacRateSet rateSet; - - /*Enable/Disable HT capabilities of the BSS*/ - tANI_U8 htCapable; - - // Enable/Disable OBSS protection - tANI_U8 obssProtEnabled; - - /*RMF enabled/disabled*/ - tANI_U8 rmfEnabled; - - /*HT Operating Mode operating mode of the 802.11n STA*/ - tSirMacHTOperatingMode htOperMode; - - /*Dual CTS Protection: 0 - Unused, 1 - Used*/ - tANI_U8 dualCTSProtection; - - /* Probe Response Max retries */ - tANI_U8 ucMaxProbeRespRetryLimit; - - /* To Enable Hidden ssid */ - tANI_U8 bHiddenSSIDEn; - - /* To Enable Disable FW Proxy Probe Resp */ - tANI_U8 bProxyProbeRespEn; - - /* Boolean to indicate if EDCA params are valid. UMAC might not have valid - EDCA params or might not desire to apply EDCA params during config BSS. - 0 implies Not Valid ; Non-Zero implies valid*/ - tANI_U8 edcaParamsValid; - - /*EDCA Parameters for Best Effort Access Category*/ - tSirMacEdcaParamRecord acbe; - - /*EDCA Parameters forBackground Access Category*/ - tSirMacEdcaParamRecord acbk; - - /*EDCA Parameters for Video Access Category*/ - tSirMacEdcaParamRecord acvi; - - /*EDCA Parameters for Voice Access Category*/ - tSirMacEdcaParamRecord acvo; - -#ifdef WLAN_FEATURE_VOWIFI_11R - tANI_U8 extSetStaKeyParamValid; //Ext Bss Config Msg if set - tSetStaKeyParams extSetStaKeyParam; //SetStaKeyParams for ext bss msg -#endif - - /* Persona for the BSS can be STA,AP,GO,CLIENT value same as tHalConMode */ - tANI_U8 halPersona; - - tANI_U8 bSpectrumMgtEnable; - - /*HAL fills in the tx power used for mgmt frames in txMgmtPower*/ - tANI_S8 txMgmtPower; - /*maxTxPower has max power to be used after applying the power constraint if any */ - tANI_S8 maxTxPower; - /*Context of the station being added in HW - Add a STA entry for "itself" - - On AP - Add the AP itself in an "STA context" - On STA - Add the AP to which this STA is joining in an "STA context" */ - tConfigStaParams_V1 staContext; - - tANI_U8 vhtCapable; - tANI_U8 vhtTxChannelWidthSet; -} tConfigBssParams_V1, * tpConfigBssParams_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - PACKED_PRE union PACKED_POST { - tConfigBssParams configBssParams; - tConfigBssParams_V1 configBssParams_V1; - }uBssParams; -} tConfigBssReqMsg, *tpConfigBssReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_CONFIG_BSS_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - - /* BSS index allocated by HAL */ - tANI_U8 bssIdx; - - /* DPU descriptor index for PTK */ - tANI_U8 dpuDescIndx; - - /* PTK DPU signature */ - tANI_U8 ucastDpuSignature; - - /* DPU descriptor index for GTK*/ - tANI_U8 bcastDpuDescIndx; - - /* GTK DPU signature */ - tANI_U8 bcastDpuSignature; - - /*DPU descriptor for IGTK*/ - tANI_U8 mgmtDpuDescIndx; - - /* IGTK DPU signature */ - tANI_U8 mgmtDpuSignature; - - /* Station Index for BSS entry*/ - tANI_U8 bssStaIdx; - - /* Self station index for this BSS */ - tANI_U8 bssSelfStaIdx; - - /* Bcast station for buffering bcast frames in AP role */ - tANI_U8 bssBcastStaIdx; - - /*MAC Address of STA(PEER/SELF) in staContext of configBSSReq*/ - tSirMacAddr staMac; - - /*HAL fills in the tx power used for mgmt frames in this field. */ - tANI_S8 txMgmtPower; - -} tConfigBssRspParams, * tpConfigBssRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tConfigBssRspParams configBssRspParams; -} tConfigBssRspMsg, *tpConfigBssRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_BSS_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* BSS index to be deleted */ - tANI_U8 bssIdx; - -} tDeleteBssParams, *tpDeleteBssParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteBssParams deleteBssParams; -} tDeleteBssReqMsg, *tpDeleteBssReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_DELETE_BSS_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - - /* BSS index that has been deleted */ - tANI_U8 bssIdx; - -} tDeleteBssRspParams, *tpDeleteBssRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteBssRspParams deleteBssRspParams; -} tDeleteBssRspMsg, *tpDeleteBssRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_JOIN_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the BSSID to which STA is going to associate*/ - tSirMacAddr bssId; - - /*Indicates the channel to switch to.*/ - tANI_U8 ucChannel; - - /* Self STA MAC */ - tSirMacAddr selfStaMacAddr; - - /*Local power constraint*/ - tANI_U8 ucLocalPowerConstraint; - - /*Secondary channel offset */ - ePhyChanBondState secondaryChannelOffset; - - /*link State*/ - tSirLinkState linkState; - - /* Max TX power */ - tANI_S8 maxTxPower; - -} tHalJoinReqParams, *tpHalJoinReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalJoinReqParams joinReqParams; -} tHalJoinReqMsg, *tpHalJoinReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_JOIN_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* HAL fills in the tx power used for mgmt frames in this field */ - tPowerdBm txMgmtPower; - -}tHalJoinRspParams, *tpHalJoinRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalJoinRspParams joinRspParams; -}tHalJoinRspMsg, *tpHalJoinRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_POST_ASSOC_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tConfigStaParams configStaParams; - tConfigBssParams configBssParams; -} tPostAssocReqParams, *tpPostAssocReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPostAssocReqParams postAssocReqParams; -} tPostAssocReqMsg, *tpPostAssocReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_POST_ASSOC_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tConfigStaRspParams configStaRspParams; - tConfigBssRspParams configBssRspParams; -} tPostAssocRspParams, *tpPostAssocRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPostAssocRspParams postAssocRspParams; -} tPostAssocRspMsg, *tpPostAssocRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_BSSKEY_REQ ----------------------------------------------------------------------------*/ - -/* - * This is used by PE to create a set of WEP keys for a given BSS. - */ -typedef PACKED_PRE struct PACKED_POST -{ - /*BSS Index of the BSS*/ - tANI_U8 bssIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*Number of keys*/ - tANI_U8 numKeys; - - /*Array of keys.*/ - tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS]; - - /*Control for Replay Count, 1= Single TID based replay count on Tx - 0 = Per TID based replay count on TX */ - tANI_U8 singleTidRc; -} tSetBssKeyParams, *tpSetBssKeyParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetBssKeyParams setBssKeyParams; -} tSetBssKeyReqMsg, *tpSetBssKeyReqMsg; - -/* tagged version of set bss key */ -typedef PACKED_PRE struct PACKED_POST -{ - tSetBssKeyReqMsg Msg; - uint32 Tag; -} tSetBssKeyReqMsgTagged; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_BSSKEY_RSP ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -} tSetBssKeyRspParams, *tpSetBssKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetBssKeyRspParams setBssKeyRspParams; -} tSetBssKeyRspMsg, *tpSetBssKeyRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_STAKEY_REQ, ----------------------------------------------------------------------------*/ - -/* - * This is used by PE to configure the key information on a given station. - * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate - * a preconfigured key from a BSS the station assoicated with; otherwise - * a new key descriptor is created based on the key field. - */ - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetStaKeyParams setStaKeyParams; -} tSetStaKeyReqMsg, *tpSetStaKeyReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_SET_STAKEY_RSP, ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -} tSetStaKeyRspParams, *tpSetStaKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetStaKeyRspParams setStaKeyRspParams; -} tSetStaKeyRspMsg, *tpSetStaKeyRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_BSSKEY_REQ, ----------------------------------------------------------------------------*/ -/* - * This is used by PE to remove keys for a given BSS. - */ -typedef PACKED_PRE struct PACKED_POST - -{ - /*BSS Index of the BSS*/ - tANI_U8 bssIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*Key Id*/ - tANI_U8 keyId; - - /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic keys*/ - tAniWepType wepType; - -} tRemoveBssKeyParams, *tpRemoveBssKeyParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveBssKeyParams removeBssKeyParams; -} tRemoveBssKeyReqMsg, *tpRemoveBssKeyReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_BSSKEY_RSP, ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - -} tRemoveBssKeyRspParams, *tpRemoveBssKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveBssKeyRspParams removeBssKeyRspParams; -} tRemoveBssKeyRspMsg, *tpRemoveBssKeyRspMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_STAKEY_REQ, ----------------------------------------------------------------------------*/ -/* - * This is used by PE to Remove the key information on a given station. - */ -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; - - /*Encryption Type used with peer*/ - tAniEdType encType; - - /*Key Id*/ - tANI_U8 keyId; - - /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP, - the same key is used for both broadcast and unicast.*/ - tANI_BOOLEAN unicast; - -} tRemoveStaKeyParams, *tpRemoveStaKeyParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveStaKeyParams removeStaKeyParams; -} tRemoveStaKeyReqMsg, *tpRemoveStaKeyReqMsg; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RMV_STAKEY_RSP, ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tRemoveStaKeyRspParams, *tpRemoveStaKeyRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemoveStaKeyRspParams removeStaKeyRspParams; -} tRemoveStaKeyRspMsg, *tpRemoveStaKeyRspMsg; - -#ifdef FEATURE_OEM_DATA_SUPPORT - -#ifndef OEM_DATA_REQ_SIZE -#ifdef QCA_WIFI_2_0 -#define OEM_DATA_REQ_SIZE 276 -#else -#define OEM_DATA_REQ_SIZE 134 -#endif -#endif - -#ifndef OEM_DATA_RSP_SIZE -#ifdef QCA_WIFI_2_0 -#define OEM_DATA_RSP_SIZE 1720 -#else -#define OEM_DATA_RSP_SIZE 1968 -#endif -#endif - -/*------------------------------------------------------------------------- -WLAN_HAL_START_OEM_DATA_REQ ---------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - tSirMacAddr selfMacAddr; - tANI_U8 oemDataReq[OEM_DATA_REQ_SIZE]; -} tStartOemDataReqParams, *tpStartOemDataReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tStartOemDataReqParams startOemDataReqParams; -} tStartOemDataReqMsg, *tpStartOemDataReqMsg; - -/*------------------------------------------------------------------------- -WLAN_HAL_START_OEM_DATA_RSP ---------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 oemDataRsp[OEM_DATA_RSP_SIZE]; -} tStartOemDataRspParams, *tpStartOemDataRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tStartOemDataRspParams startOemDataRspParams; -} tStartOemDataRspMsg, *tpStartOemDataRspMsg; - -#endif - - - -/*--------------------------------------------------------------------------- -WLAN_HAL_CH_SWITCH_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Channel number */ - tANI_U8 channelNumber; - - /* Local power constraint */ - tANI_U8 localPowerConstraint; - - /*Secondary channel offset */ - ePhyChanBondState secondaryChannelOffset; - - //HAL fills in the tx power used for mgmt frames in this field. - tPowerdBm txMgmtPower; - - /* Max TX power */ - tPowerdBm maxTxPower; - - /* Self STA MAC */ - tSirMacAddr selfStaMacAddr; - - /*VO WIFI comment: BSSID needed to identify session. As the request has power constraints, - this should be applied only to that session*/ - /* Since MTU timing and EDCA are sessionized, this struct needs to be sessionized and - * bssid needs to be out of the VOWifi feature flag */ - /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility - * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct - */ - tSirMacAddr bssId; - -}tSwitchChannelParams, *tpSwitchChannelParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSwitchChannelParams switchChannelParams; -} tSwitchChannelReqMsg, *tpSwitchChannelReqMsg; - -/*--------------------------------------------------------------------------- -WLAN_HAL_CH_SWITCH_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Status */ - tANI_U32 status; - - /* Channel number - same as in request*/ - tANI_U8 channelNumber; - - /* HAL fills in the tx power used for mgmt frames in this field */ - tPowerdBm txMgmtPower; - - /* BSSID needed to identify session - same as in request*/ - tSirMacAddr bssId; - -}tSwitchChannelRspParams, *tpSwitchChannelRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSwitchChannelRspParams switchChannelRspParams; -} tSwitchChannelRspMsg, *tpSwitchChannelRspMsg; - -/*--------------------------------------------------------------------------- -WLAN_HAL_UPD_EDCA_PARAMS_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*BSS Index*/ - tANI_U16 bssIdx; - - /* Best Effort */ - tSirMacEdcaParamRecord acbe; - - /* Background */ - tSirMacEdcaParamRecord acbk; - - /* Video */ - tSirMacEdcaParamRecord acvi; - - /* Voice */ - tSirMacEdcaParamRecord acvo; - -} tEdcaParams, *tpEdcaParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEdcaParams edcaParams; -} tUpdateEdcaParamsReqMsg, *tpUpdateEdcaParamsReqMsg; - -/*--------------------------------------------------------------------------- -WLAN_HAL_UPD_EDCA_PARAMS_RSP ----------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tEdcaRspParams, *tpEdcaRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEdcaRspParams edcaRspParams; -} tUpdateEdcaParamsRspMsg, *tpUpdateEdcaParamsRspMsg; - - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_STATS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST - -{ - /* Index of STA to which the statistics */ - tANI_U16 staIdx; - - /* Encryption mode */ - tANI_U8 encMode; - - /* status */ - tANI_U32 status; - - /* Statistics */ - tANI_U32 sendBlocks; - tANI_U32 recvBlocks; - tANI_U32 replays; - tANI_U8 micErrorCnt; - tANI_U32 protExclCnt; - tANI_U16 formatErrCnt; - tANI_U16 unDecryptableCnt; - tANI_U32 decryptErrCnt; - tANI_U32 decryptOkCnt; -} tDpuStatsParams, * tpDpuStatsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Valid STA Idx for per STA stats request */ - tANI_U32 staId; - - /* Categories of stats requested as specified in eHalStatsMask*/ - tANI_U32 statsMask; -}tHalStatsReqParams, *tpHalStatsReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStatsReqParams statsReqParams; -} tHalStatsReqMsg, *tpHalStatsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_STATS_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 retry_cnt[4]; //Total number of packets(per AC) that were successfully transmitted with retries - tANI_U32 multiple_retry_cnt[4]; //The number of MSDU packets and MMPDU frames per AC that the 802.11 - // station successfully transmitted after more than one retransmission attempt - - tANI_U32 tx_frm_cnt[4]; //Total number of packets(per AC) that were successfully transmitted - //(with and without retries, including multi-cast, broadcast) - tANI_U32 rx_frm_cnt; //Total number of packets that were successfully received - //(after appropriate filter rules including multi-cast, broadcast) - tANI_U32 frm_dup_cnt; //Total number of duplicate frames received successfully - tANI_U32 fail_cnt[4]; //Total number packets(per AC) failed to transmit - tANI_U32 rts_fail_cnt; //Total number of RTS/CTS sequence failures for transmission of a packet - tANI_U32 ack_fail_cnt; //Total number packets failed transmit because of no ACK from the remote entity - tANI_U32 rts_succ_cnt; //Total number of RTS/CTS sequence success for transmission of a packet - tANI_U32 rx_discard_cnt; //The sum of the receive error count and dropped-receive-buffer error count. - //HAL will provide this as a sum of (FCS error) + (Fail get BD/PDU in HW) - tANI_U32 rx_error_cnt; //The receive error count. HAL will provide the RxP FCS error global counter. - tANI_U32 tx_byte_cnt; //The sum of the transmit-directed byte count, transmit-multicast byte count - //and transmit-broadcast byte count. HAL will sum TPE UC/MC/BCAST global counters - //to provide this. -}tAniSummaryStatsInfo, *tpAniSummaryStatsInfo; - - -// defines tx_rate_flags -typedef enum eTxRateInfo -{ - eHAL_TX_RATE_LEGACY = 0x1, /* Legacy rates */ - eHAL_TX_RATE_HT20 = 0x2, /* HT20 rates */ - eHAL_TX_RATE_HT40 = 0x4, /* HT40 rates */ - eHAL_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */ - eHAL_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */ - eHAL_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */ - eHAL_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */ - eHAL_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */ - eHAL_TX_RATE_VIRT = 0x100, /* Virtual Rate */ - eHAL_TX_RATE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tTxrateinfoflags, tTxRateInfoFlags; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets - //or MMPDU frames - tANI_U32 promiscuous_rx_frag_cnt; //The number of MPDU frames received by the 802.11 station for MSDU packets - //or MMPDU frames when a promiscuous packet filter was enabled - tANI_U32 rx_input_sensitivity; //The receiver input sensitivity referenced to a FER of 8% at an MPDU length - //of 1024 bytes at the antenna connector. Each element of the array shall correspond - //to a supported rate and the order shall be the same as the supporteRates parameter. - tANI_U32 max_pwr; //The maximum transmit power in dBm upto one decimal. - //for eg: if it is 10.5dBm, the value would be 105 - tANI_U32 sync_fail_cnt; //Number of times the receiver failed to synchronize with the incoming signal - //after detecting the sync in the preamble of the transmitted PLCP protocol data unit. - - tANI_U32 tx_rate; //Legacy transmit rate, in units of 500 kbit/sec, for the most - //recently transmitted frame - tANI_U32 mcs_index; //mcs index for HT20 and HT40 rates - tANI_U32 tx_rate_flags; //to differentiate between HT20 and - //HT40 rates; short and long guard interval -}tAniGlobalClassAStatsInfo, *tpAniGlobalClassAStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 rx_wep_unencrypted_frm_cnt; //The number of unencrypted received MPDU frames that the MAC layer discarded when - //the IEEE 802.11 dot11ExcludeUnencrypted management information base (MIB) object - //is enabled - tANI_U32 rx_mic_fail_cnt; //The number of received MSDU packets that that the 802.11 station discarded - //because of MIC failures - tANI_U32 tkip_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt - //because of a TKIP ICV error - tANI_U32 aes_ccmp_format_err; //The number of received MPDU frames that the 802.11 discarded because of an - //invalid AES-CCMP format - tANI_U32 aes_ccmp_replay_cnt; //The number of received MPDU frames that the 802.11 station discarded because of - //the AES-CCMP replay protection procedure - tANI_U32 aes_ccmp_decrpt_err; //The number of received MPDU frames that the 802.11 station discarded because of - //errors detected by the AES-CCMP decryption algorithm - tANI_U32 wep_undecryptable_cnt; //The number of encrypted MPDU frames received for which a WEP decryption key was - //not available on the 802.11 station - tANI_U32 wep_icv_err; //The number of encrypted MPDU frames that the 802.11 station failed to decrypt - //because of a WEP ICV error - tANI_U32 rx_decrypt_succ_cnt; //The number of received encrypted packets that the 802.11 station successfully - //decrypted - tANI_U32 rx_decrypt_fail_cnt; //The number of encrypted packets that the 802.11 station failed to decrypt - -}tAniGlobalSecurityStats, *tpAniGlobalSecurityStats; - -typedef PACKED_PRE struct PACKED_POST -{ - tAniGlobalSecurityStats ucStats; - tAniGlobalSecurityStats mcbcStats; -}tAniGlobalClassBStatsInfo, *tpAniGlobalClassBStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 rx_amsdu_cnt; //This counter shall be incremented for a received A-MSDU frame with the stations - //MAC address in the address 1 field or an A-MSDU frame with a group address in the - //address 1 field - tANI_U32 rx_ampdu_cnt; //This counter shall be incremented when the MAC receives an AMPDU from the PHY - tANI_U32 tx_20_frm_cnt; //This counter shall be incremented when a Frame is transmitted only on the - //primary channel - tANI_U32 rx_20_frm_cnt; //This counter shall be incremented when a Frame is received only on the primary channel - tANI_U32 rx_mpdu_in_ampdu_cnt; //This counter shall be incremented by the number of MPDUs received in the A-MPDU - //when an A-MPDU is received - tANI_U32 ampdu_delimiter_crc_err; //This counter shall be incremented when an MPDU delimiter has a CRC error when this - //is the first CRC error in the received AMPDU or when the previous delimiter has been - //decoded correctly -}tAniGlobalClassCStatsInfo, *tpAniGlobalClassCStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 tx_frag_cnt[4]; //The number of MPDU frames that the 802.11 station transmitted and acknowledged - //through a received 802.11 ACK frame - tANI_U32 tx_ampdu_cnt; //This counter shall be incremented when an A-MPDU is transmitted - tANI_U32 tx_mpdu_in_ampdu_cnt; //This counter shall increment by the number of MPDUs in the AMPDU when an A-MPDU - //is transmitted -}tAniPerStaStatsInfo, *tpAniPerStaStatsInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - - /* STA Idx */ - tANI_U32 staId; - - /* Categories of STATS being returned as per eHalStatsMask*/ - tANI_U32 statsMask; - - /* message type is same as the request type */ - tANI_U16 msgType; - - /* length of the entire request, includes the pStatsBuf length too */ - tANI_U16 msgLen; - -} tHalStatsRspParams, *tpHalStatsRspParams; - - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStatsRspParams statsRspParams; -} tHalStatsRspMsg, *tpHalStatsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_LINK_ST_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr bssid; - tSirLinkState state; - tSirMacAddr selfMacAddr; -} tLinkStateParams, *tpLinkStateParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tLinkStateParams linkStateParams; -} tSetLinkStateReqMsg, *tpSetLinkStateReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_LINK_ST_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tLinkStateRspParams, *tpLinkStateRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tLinkStateRspParams linkStateRspParams; -} tSetLinkStateRspMsg, *tpSetLinkStateRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_TS_REQ - *--------------------------------------------------------------------------*/ - -/* TSPEC Params */ -typedef __ani_attr_pre_packed struct sSirMacTSInfoTfc -{ - tANI_U16 trafficType : 1; - tANI_U16 tsid : 4; - tANI_U16 direction : 2; - tANI_U16 accessPolicy : 2; - tANI_U16 aggregation : 1; - tANI_U16 psb : 1; - tANI_U16 userPrio : 3; - tANI_U16 ackPolicy : 2; -} __ani_attr_packed tSirMacTSInfoTfc; - -/* Flag to schedule the traffic type */ -typedef __ani_attr_pre_packed struct sSirMacTSInfoSch -{ - tANI_U8 schedule : 1; - tANI_U8 rsvd : 7; -} __ani_attr_packed tSirMacTSInfoSch; - -/* Traffic and scheduling info */ -typedef __ani_attr_pre_packed struct sSirMacTSInfo -{ - tSirMacTSInfoTfc traffic; - tSirMacTSInfoSch schedule; -} __ani_attr_packed tSirMacTSInfo; - -/* Information elements */ -typedef __ani_attr_pre_packed struct sSirMacTspecIE -{ - tANI_U8 type; - tANI_U8 length; - tSirMacTSInfo tsinfo; - tANI_U16 nomMsduSz; - tANI_U16 maxMsduSz; - tANI_U32 minSvcInterval; - tANI_U32 maxSvcInterval; - tANI_U32 inactInterval; - tANI_U32 suspendInterval; - tANI_U32 svcStartTime; - tANI_U32 minDataRate; - tANI_U32 meanDataRate; - tANI_U32 peakDataRate; - tANI_U32 maxBurstSz; - tANI_U32 delayBound; - tANI_U32 minPhyRate; - tANI_U16 surplusBw; - tANI_U16 mediumTime; -}__ani_attr_packed tSirMacTspecIE; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TSPEC handler uniquely identifying a TSPEC for a STA in a BSS */ - tANI_U16 tspecIdx; - - /* To program TPE with required parameters */ - tSirMacTspecIE tspec; - - /* U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /* These parameters are for all the access categories */ - tANI_U32 srvInterval[WLAN_HAL_MAX_AC]; // Service Interval - tANI_U32 susInterval[WLAN_HAL_MAX_AC]; // Suspend Interval - tANI_U32 delayInterval[WLAN_HAL_MAX_AC]; // Delay Interval - -} tAddTsParams, *tpAddTsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddTsParams addTsParams; -} tAddTsReqMsg, *tpAddTsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_TS_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tAddTsRspParams, *tpAddTsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddTsRspParams addTsRspParams; -} tAddTsRspMsg, *tpAddTsRspMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_TS_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TSPEC identifier uniquely identifying a TSPEC for a STA in a BSS */ - tANI_U16 tspecIdx; - - /* To lookup station id using the mac address */ - tSirMacAddr bssId; - -} tDelTsParams, *tpDelTsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelTsParams delTsParams; -} tDelTsReqMsg, *tpDelTsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_TS_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; -} tDelTsRspParams, *tpDelTsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelTsRspParams delTsRspParams; -} tDelTsRspMsg, *tpDelTsRspMsg; - -/* End of TSpec Parameters */ - -/* Start of BLOCK ACK related Parameters */ - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_SESSION_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* Peer MAC Address */ - tSirMacAddr peerMacAddr; - - /* ADDBA Action Frame dialog token - HAL will not interpret this object */ - tANI_U8 baDialogToken; - - /* TID for which the BA is being setup - This identifies the TC or TS of interest */ - tANI_U8 baTID; - - /* 0 - Delayed BA (Not supported) - 1 - Immediate BA */ - tANI_U8 baPolicy; - - /* Indicates the number of buffers for this TID (baTID) - NOTE - This is the requested buffer size. When this - is processed by HAL and subsequently by HDD, it is - possible that HDD may change this buffer size. Any - change in the buffer size should be noted by PE and - advertized appropriately in the ADDBA response */ - tANI_U16 baBufferSize; - - /* BA timeout in TU's 0 means no timeout will occur */ - tANI_U16 baTimeout; - - /* b0..b3 - Fragment Number - Always set to 0 - b4..b15 - Starting Sequence Number of first MSDU - for which this BA is setup */ - tANI_U16 baSSN; - - /* ADDBA direction - 1 - Originator - 0 - Recipient */ - tANI_U8 baDirection; -} tAddBASessionParams, *tpAddBASessionParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBASessionParams addBASessionParams; -}tAddBASessionReqMsg, *tpAddBASessionReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_SESSION_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Dialog token */ - tANI_U8 baDialogToken; - - /* TID for which the BA session has been setup */ - tANI_U8 baTID; - - /* BA Buffer Size allocated for the current BA session */ - tANI_U8 baBufferSize; - - tANI_U8 baSessionID; - - /* Reordering Window buffer */ - tANI_U8 winSize; - - /*Station Index to id the sta */ - tANI_U8 STAID; - - /* Starting Sequence Number */ - tANI_U16 SSN; -} tAddBASessionRspParams, *tpAddBASessionRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBASessionRspParams addBASessionRspParams; -} tAddBASessionRspMsg, *tpAddBASessionRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Session Id */ - tANI_U8 baSessionID; - - /* Reorder Window Size */ - tANI_U8 winSize; - -#ifdef FEATURE_ON_CHIP_REORDERING - tANI_BOOLEAN isReorderingDoneOnChip; -#endif -} tAddBAParams, *tpAddBAParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBAParams addBAParams; -} tAddBAReqMsg, *tpAddBAReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BA_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Dialog token */ - tANI_U8 baDialogToken; - -} tAddBARspParams, *tpAddBARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddBARspParams addBARspParams; -} tAddBARspMsg, *tpAddBARspMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TRIGGER_BA_REQ - *--------------------------------------------------------------------------*/ - - -typedef struct sAddBaInfo -{ - tANI_U16 fBaEnable : 1; - tANI_U16 startingSeqNum: 12; - tANI_U16 reserved : 3; -}tAddBaInfo, *tpAddBaInfo; - -typedef struct sTriggerBaRspCandidate -{ - tSirMacAddr staAddr; - tAddBaInfo baInfo[STACFG_MAX_TC]; -}tTriggerBaRspCandidate, *tpTriggerBaRspCandidate; - -typedef struct sTriggerBaCandidate -{ - tANI_U8 staIdx; - tANI_U8 tidBitmap; -}tTriggerBaReqCandidate, *tptTriggerBaReqCandidate; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Session Id */ - tANI_U8 baSessionID; - - /* baCandidateCnt is followed by trigger BA - * Candidate List(tTriggerBaCandidate) - */ - tANI_U16 baCandidateCnt; - -} tTriggerBAParams, *tpTriggerBAParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTriggerBAParams triggerBAParams; -} tTriggerBAReqMsg, *tpTriggerBAReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TRIGGER_BA_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - - /* TO SUPPORT BT-AMP */ - tSirMacAddr bssId; - - /* success or failure */ - tANI_U32 status; - - /* baCandidateCnt is followed by trigger BA - * Rsp Candidate List(tTriggerRspBaCandidate) - */ - tANI_U16 baCandidateCnt; - - -} tTriggerBARspParams, *tpTriggerBARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTriggerBARspParams triggerBARspParams; -} tTriggerBARspMsg, *tpTriggerBARspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_BA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TID for which the BA session is being deleted */ - tANI_U8 baTID; - - /* DELBA direction - 1 - Originator - 0 - Recipient */ - tANI_U8 baDirection; -} tDelBAParams, *tpDelBAParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelBAParams delBAParams; -} tDelBAReqMsg, *tpDelBAReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_BA_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tDelBARspParams, *tpDelBARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelBARspParams delBARspParams; -} tDelBARspMsg, *tpDelBARspMsg; - - -#ifdef FEATURE_WLAN_CCX - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TSM_STATS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Traffic Id */ - tANI_U8 tsmTID; - - tSirMacAddr bssId; -} tTsmStatsParams, *tpTsmStatsParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTsmStatsParams tsmStatsParams; -} tTsmStatsReqMsg, *tpTsmStatsReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TSM_STATS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - /* Uplink Packet Queue delay */ - tANI_U16 UplinkPktQueueDly; - - /* Uplink Packet Queue delay histogram */ - tANI_U16 UplinkPktQueueDlyHist[4]; - - /* Uplink Packet Transmit delay */ - tANI_U32 UplinkPktTxDly; - - /* Uplink Packet loss */ - tANI_U16 UplinkPktLoss; - - /* Uplink Packet count */ - tANI_U16 UplinkPktCount; - - /* Roaming count */ - tANI_U8 RoamingCount; - - /* Roaming Delay */ - tANI_U16 RoamingDly; -} tTsmStatsRspParams, *tpTsmStatsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTsmStatsRspParams tsmStatsRspParams; -} tTsmStatsRspMsg, *tpTsmStatsRspMsg; - - -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_KEYDONE_MSG - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*bssid of the keys */ - tANI_U8 bssidx; - tANI_U8 encType; -} tSetKeyDoneParams, *tpSetKeyDoneParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetKeyDoneParams setKeyDoneParams; -} tSetKeyDoneMsg, *tpSetKeyDoneMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DOWNLOAD_NV_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Fragment sequence number of the NV Image. Note that NV Image might not - * fit into one message due to size limitation of the SMD channel FIFO. UMAC - * can hence choose to chop the NV blob into multiple fragments starting with - * seqeunce number 0, 1, 2 etc. The last fragment MUST be indicated by - * marking the isLastFragment field to 1. Note that all the NV blobs would be - * concatenated together by HAL without any padding bytes in between.*/ - tANI_U16 fragNumber; - - /* Is this the last fragment? When set to 1 it indicates that no more fragments - * will be sent by UMAC and HAL can concatenate all the NV blobs rcvd & proceed - * with the parsing. HAL would generate a WLAN_HAL_DOWNLOAD_NV_RSP to the - * WLAN_HAL_DOWNLOAD_NV_REQ after it receives each fragment */ - tANI_U16 isLastFragment; - - /* NV Image size (number of bytes) */ - tANI_U32 nvImgBufferSize; - - /* Following the 'nvImageBufferSize', there should be nvImageBufferSize - * bytes of NV Image i.e. uint8[nvImageBufferSize] */ -} tHalNvImgDownloadReqParams, *tpHalNvImgDownloadReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalNvImgDownloadReqMsg messages should be - * header.msgLen = sizeof(tHalNvImgDownloadReqMsg) + nvImgBufferSize */ - tHalMsgHeader header; - tHalNvImgDownloadReqParams nvImageReqParams; -} tHalNvImgDownloadReqMsg, *tpHalNvImgDownloadReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DOWNLOAD_NV_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure. HAL would generate a WLAN_HAL_DOWNLOAD_NV_RSP - * after each fragment */ - tANI_U32 status; -} tHalNvImgDownloadRspParams, *tpHalNvImgDownloadRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalNvImgDownloadRspParams nvImageRspParams; -} tHalNvImgDownloadRspMsg, *tpHalNvImgDownloadRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STORE_NV_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* NV Item */ - eNvTable tableID; - - /* Size of NV Blob */ - tANI_U32 nvBlobSize; - - /* Following the 'nvBlobSize', there should be nvBlobSize bytes of - * NV blob i.e. uint8[nvBlobSize] */ -} tHalNvStoreParams, *tpHalNvStoreParams; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Note: The length specified in tHalNvStoreInd messages should be - * header.msgLen = sizeof(tHalNvStoreInd) + nvBlobSize */ - tHalMsgHeader header; - tHalNvStoreParams nvStoreParams; -} tHalNvStoreInd, *tpHalNvStoreInd; - -/* End of Block Ack Related Parameters */ - -/*--------------------------------------------------------------------------- - * WLAN_HAL_MIC_FAILURE_IND - *--------------------------------------------------------------------------*/ - -#define SIR_CIPHER_SEQ_CTR_SIZE 6 - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr srcMacAddr; //address used to compute MIC - tSirMacAddr taMacAddr; //transmitter address - tSirMacAddr dstMacAddr; - tANI_U8 multicast; - tANI_U8 IV1; // first byte of IV - tANI_U8 keyId; // second byte of IV - tANI_U8 TSC[SIR_CIPHER_SEQ_CTR_SIZE]; // sequence number - tSirMacAddr rxMacAddr; // receive address -} tSirMicFailureInfo, *tpSirMicFailureInfo; - -/* Definition for MIC failure indication - MAC reports this each time a MIC failure occures on Rx TKIP packet - */ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr bssId; // BSSID - tSirMicFailureInfo info; -} tSirMicFailureInd, *tpSirMicFailureInd; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSirMicFailureInd micFailureInd; -} tMicFailureIndMsg, *tpMicFailureIndMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 opMode; - tANI_U16 staId; -}tUpdateVHTOpMode, *tpUpdateVHTOpMode; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateVHTOpMode updateVhtOpMode; -} tUpdateVhtOpModeReqMsg, *tpUpdateVhtOpModeReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; -} tUpdateVhtOpModeParamsRsp, *tpUpdateVhtOpModeParamsRsp; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateVhtOpModeParamsRsp updateVhtOpModeRspParam; -} tUpdateVhtOpModeParamsRspMsg, *tpUpdateVhtOpModeParamsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_BEACON_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - - tANI_U8 bssIdx; - - //shortPreamble mode. HAL should update all the STA rates when it - //receives this message - tANI_U8 fShortPreamble; - //short Slot time. - tANI_U8 fShortSlotTime; - //Beacon Interval - tANI_U16 beaconInterval; - //Protection related - tANI_U8 llaCoexist; - tANI_U8 llbCoexist; - tANI_U8 llgCoexist; - tANI_U8 ht20MhzCoexist; - tANI_U8 llnNonGFCoexist; - tANI_U8 fLsigTXOPProtectionFullSupport; - tANI_U8 fRIFSMode; - - tANI_U16 paramChangeBitmap; -}tUpdateBeaconParams, *tpUpdateBeaconParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateBeaconParams updateBeaconParam; -} tUpdateBeaconReqMsg, *tpUpdateBeaconReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_BEACON_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; -} tUpdateBeaconRspParams, *tpUpdateBeaconRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateBeaconRspParams updateBeaconRspParam; -} tUpdateBeaconRspMsg, *tpUpdateBeaconRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SEND_BEACON_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 beaconLength; //length of the template. - tANI_U8 beacon[BEACON_TEMPLATE_SIZE]; // Beacon data. - tSirMacAddr bssId; - tANI_U32 timIeOffset; //TIM IE offset from the beginning of the template. - tANI_U16 p2pIeOffset; //P2P IE offset from the begining of the template -}tSendBeaconParams, *tpSendBeaconParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendBeaconParams sendBeaconParam; -}tSendBeaconReqMsg, *tpSendBeaconReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SEND_BEACON_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; -} tSendBeaconRspParams, *tpSendBeaconRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendBeaconRspParams sendBeaconRspParam; -} tSendBeaconRspMsg, *tpSendBeaconRspMsg; - -#ifdef FEATURE_5GHZ_BAND - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENABLE_RADAR_DETECT_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr BSSID; - tANI_U8 channel; -}tSirEnableRadarInfoType, *tptSirEnableRadarInfoType; - - -typedef PACKED_PRE struct PACKED_POST -{ - /* Link Parameters */ - tSirEnableRadarInfoType EnableRadarInfo; -}tEnableRadarReqParams, *tpEnableRadarReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEnableRadarReqParams enableRadarReqParams; -}tEnableRadarReqMsg, *tpEnableRadarReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENABLE_RADAR_DETECT_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Link Parameters */ - tSirMacAddr BSSID; - /* success or failure */ - tANI_U32 status; -}tEnableRadarRspParams, *tpEnableRadarRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tEnableRadarRspParams enableRadarRspParams; -}tEnableRadarRspMsg, *tpEnableRadarRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_RADAR_DETECT_INTR_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 radarDetChannel; -}tRadarDetectIntrIndParams, *tpRadarDetectIntrIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRadarDetectIntrIndParams radarDetectIntrIndParams; -}tRadarDetectIntrIndMsg, *tptRadarDetectIntrIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_RADAR_DETECT_IND - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*channel number in which the RADAR detected*/ - tANI_U8 channelNumber; - - /*RADAR pulse width*/ - tANI_U16 radarPulseWidth; // in usecond - - /*Number of RADAR pulses */ - tANI_U16 numRadarPulse; -}tRadarDetectIndParams,*tpRadarDetectIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRadarDetectIndParams radarDetectIndParams; -}tRadarDetectIndMsg, *tptRadarDetectIndMsg; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_GET_TPC_REPORT_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr sta; - tANI_U8 dialogToken; - tANI_U8 txpower; -}tSirGetTpcReportReqParams, *tpSirGetTpcReportReqParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSirGetTpcReportReqParams getTpcReportReqParams; -}tSirGetTpcReportReqMsg, *tpSirGetTpcReportReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_TPC_REPORT_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSirGetTpcReportRspParams, *tpSirGetTpcReportRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSirGetTpcReportRspParams getTpcReportRspParams; -}tSirGetTpcReportRspMsg, *tpSirGetTpcReportRspMsg; - -#endif - -/*--------------------------------------------------------------------------- - *WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 pProbeRespTemplate[BEACON_TEMPLATE_SIZE]; - tANI_U32 probeRespTemplateLen; - tANI_U32 ucProxyProbeReqValidIEBmap[8]; - tSirMacAddr bssId; - -}tSendProbeRespReqParams, *tpSendProbeRespReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendProbeRespReqParams sendProbeRespReqParams ; -}tSendProbeRespReqMsg, *tpSendProbeRespReqMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_UPDATE_PROBE_RSP_TEMPLATE_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSendProbeRespRspParams, *tpSendProbeRespRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendProbeRespRspParams sendProbeRespRspParams; -}tSendProbeRespRspMsg, *tpSendProbeRespRspMsg; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_UNKNOWN_ADDR2_FRAME_RX_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSendUnkownFrameRxIndParams, *tpSendUnkownFrameRxIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSendUnkownFrameRxIndParams sendUnkownFrameRxIndParams; -}tSendUnkownFrameRxIndMsg, *tpSendUnkownFrameRxIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_DELETE_STA_CONTEXT_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 assocId; - tANI_U16 staId; - tSirMacAddr bssId; // TO SUPPORT BT-AMP - // HAL copies bssid from the sta table. - tSirMacAddr addr2; // - tANI_U16 reasonCode; // To unify the keepalive / unknown A2 / tim-based disa - -}tDeleteStaContextParams, *tpDeleteStaContextParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDeleteStaContextParams deleteStaContextParams; -}tDeleteStaContextIndMsg, *tpDeleteStaContextIndMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U8 assocId; - tANI_U8 staIdx; - tANI_U8 bssIdx; - tANI_U8 uReasonCode; - tANI_U32 uStatus; -} tIndicateDelSta, *tpIndicateDelSta; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SIGNAL_BTAMP_EVENT_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tBtAmpEventType btAmpEventType; - -}tBtAmpEventParams, *tpBtAmpEventParams; - - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tBtAmpEventParams btAmpEventParams; -}tBtAmpEventMsg, *tpBtAmpEventMsg; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SIGNAL_BTAMP_EVENT_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tBtAmpEventRspParams, *tpBtAmpEventRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tBtAmpEventRspParams btAmpEventRspParams; -}tBtAmpEventRsp, *tpBtAmpEventRsp; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_TL_HAL_FLUSH_AC_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - // Station Index. originates from HAL - tANI_U8 ucSTAId; - - // TID for which the transmit queue is being flushed - tANI_U8 ucTid; - -}tTlHalFlushAcParams, *tpTlHalFlushAcParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTlHalFlushAcParams tlHalFlushAcParam; -}tTlHalFlushAcReq, *tpTlHalFlushAcReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_TL_HAL_FLUSH_AC_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - // Station Index. originates from HAL - tANI_U8 ucSTAId; - - // TID for which the transmit queue is being flushed - tANI_U8 ucTid; - - /* success or failure */ - tANI_U32 status; -}tTlHalFlushAcRspParams, *tpTlHalFlushAcRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTlHalFlushAcRspParams tlHalFlushAcRspParam; -}tTlHalFlushAcRspMsg, *tpTlHalFlushAcRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_IMPS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalEnterImpsReqMsg, *tpHalEnterImpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_IMPS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalExitImpsReqMsg, *tpHalExitImpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_BMPS_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - //TBTT value derived from the last beacon -#ifndef BUILD_QWPTTSTATIC - tANI_U64 tbtt; -#endif - tANI_U8 dtimCount; - //DTIM period given to HAL during association may not be valid, - //if association is based on ProbeRsp instead of beacon. - tANI_U8 dtimPeriod; - - // For CCX and 11R Roaming - tANI_U32 rssiFilterPeriod; - tANI_U32 numBeaconPerRssiAverage; - tANI_U8 bRssiFilterEnable; - -} tHalEnterBmpsReqParams, *tpHalEnterBmpsReqParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterBmpsReqParams enterBmpsReq; -} tHalEnterBmpsReqMsg, *tpHalEnterBmpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_BMPS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 sendDataNull; - tANI_U8 bssIdx; -} tHalExitBmpsReqParams, *tpHalExitBmpsReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitBmpsReqParams exitBmpsReqParams; -} tHalExitBmpsReqMsg, *tpHalExitBmpsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_MISSED_BEACON_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; -} tHalMissedBeaconIndParams, *tpHalMissedBeaconIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalMissedBeaconIndParams missedBeaconIndParams; -} tHalMissedBeaconIndMsg, *tpHalMissedBeaconIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BCN_FILTER_REQ - *--------------------------------------------------------------------------*/ -/* Beacon Filtering data structures */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 offset; - tANI_U8 value; - tANI_U8 bitMask; - tANI_U8 ref; -} tEidByteInfo, *tpEidByteInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 capabilityInfo; - tANI_U16 capabilityMask; - tANI_U16 beaconInterval; - tANI_U16 ieNum; - tANI_U8 bssIdx; - tANI_U8 reserved; -} tBeaconFilterMsg, *tpBeaconFilterMsg; - -/* The above structure would be followed by multiple of below mentioned structure */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 elementId; - tANI_U8 checkIePresence; - tEidByteInfo byte; -} tBeaconFilterIe, *tpBeaconFilterIe; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tBeaconFilterMsg addBcnFilterParams; -} tHalAddBcnFilterReqMsg, *tpHalAddBcnFilterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_REM_BCN_FILTER_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 ucIeCount; - tANI_U8 ucRemIeId[1]; -} tRemBeaconFilterMsg, *tpRemBeaconFilterMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRemBeaconFilterMsg remBcnFilterParams; -} tHalRemBcnFilterReqMsg, *tpHalRemBcnFilterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_OFFLOAD_REQ - *--------------------------------------------------------------------------*/ -#define HAL_IPV4_ARP_REPLY_OFFLOAD 0 -#define HAL_IPV6_NEIGHBOR_DISCOVERY_OFFLOAD 1 -#define HAL_IPV6_NS_OFFLOAD 2 -#define HAL_IPV6_ADDR_LEN 16 -#define HAL_MAC_ADDR_LEN 6 -#define HAL_OFFLOAD_DISABLE 0 -#define HAL_OFFLOAD_ENABLE 1 -#define HAL_OFFLOAD_BCAST_FILTER_ENABLE 0x2 -#define HAL_OFFLOAD_MCAST_FILTER_ENABLE 0x4 -#define HAL_OFFLOAD_ARP_AND_BCAST_FILTER_ENABLE (HAL_OFFLOAD_ENABLE|HAL_OFFLOAD_BCAST_FILTER_ENABLE) -#define HAL_OFFLOAD_IPV6NS_AND_MCAST_FILTER_ENABLE (HAL_OFFLOAD_ENABLE|HAL_OFFLOAD_MCAST_FILTER_ENABLE) - -typedef PACKED_PRE struct PACKED_POST _tHalNSOffloadParams -{ - tANI_U8 srcIPv6Addr[HAL_IPV6_ADDR_LEN]; - tANI_U8 selfIPv6Addr[HAL_IPV6_ADDR_LEN]; - //Only support 2 possible Network Advertisement IPv6 address - tANI_U8 targetIPv6Addr1[HAL_IPV6_ADDR_LEN]; - tANI_U8 targetIPv6Addr2[HAL_IPV6_ADDR_LEN]; - tANI_U8 selfMacAddr[HAL_MAC_ADDR_LEN]; - tANI_U8 srcIPv6AddrValid : 1; - tANI_U8 targetIPv6Addr1Valid : 1; - tANI_U8 targetIPv6Addr2Valid : 1; - tANI_U8 reserved1 : 5; - tANI_U8 reserved2; //make it DWORD aligned - tANI_U8 bssIdx; - tANI_U32 slotIndex; // slot index for this offload -} tHalNSOffloadParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 offloadType; - tANI_U8 enableOrDisable; - PACKED_PRE union PACKED_POST - { - tANI_U8 hostIpv4Addr [4]; - tANI_U8 hostIpv6Addr [HAL_IPV6_ADDR_LEN]; - } params; -} tHalHostOffloadReq, *tpHalHostOffloadReq; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalHostOffloadReq hostOffloadParams; - tHalNSOffloadParams nsOffloadParams; -} tHalHostOffloadReqMsg, *tpHalHostOffloadReqMsg; - - -#ifdef FEATURE_WLAN_LPHB -typedef enum -{ - WIFI_HB_SET_ENABLE = 0x0001, - WIFI_HB_SET_TCP_PARAMS = 0x0002, - WIFI_HB_SET_TCP_PKT_FILTER = 0x0003, - WIFI_HB_SET_UDP_PARAMS = 0x0004, - WIFI_HB_SET_UDP_PKT_FILTER = 0x0005, - WIFI_HB_SET_NETWORK_INFO = 0x0006, -}tLowPowerHeartBeatCmdType ; - -#define MAX_FLITER_SIZE 64 -/*--------------------------------------------------------------------------- - *FEATURE_WLAN_LPHB REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - uint32 hostIpv4Addr; - uint32 destIpv4Addr; - uint16 hostPort; - uint16 destPort; - uint16 timeOutSec; // in seconds - tSirMacAddr gatewayMacAddr; - uint16 timePeriodSec; // in seconds - uint32 tcpSn; -} tlowPowerHeartBeatParamsTcpStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 hostIpv4Addr; - uint32 destIpv4Addr; - uint16 hostPort; - uint16 destPort; - uint16 timePeriodSec;// in seconds - uint16 timeOutSec; // in seconds - tSirMacAddr gatewayMacAddr; -} tlowPowerHeartBeatParamsUdpStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 offset; - uint32 filterLength; - uint8 filter[MAX_FLITER_SIZE]; -} tlowPowerHeartBeatFilterStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 heartBeatEnable; - uint8 heartBeatType; //TCP or UDP -} tlowPowerHeartBeatEnableStruct; - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 dummy; -} tlowPowerHeartBeatNetworkInfoStruct; - - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 sessionIdx; - uint16 lowPowerHeartBeatCmdType; - PACKED_PRE union PACKED_PRO - { - tlowPowerHeartBeatEnableStruct control; - tlowPowerHeartBeatFilterStruct tcpUdpFilter; - tlowPowerHeartBeatParamsTcpStruct tcpParams; - tlowPowerHeartBeatParamsUdpStruct udpParams; - tlowPowerHeartBeatNetworkInfoStruct info; - }options; -} tHalLowPowerHeartBeatReq, *tpHalLowPowerHeartBeatReq; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLowPowerHeartBeatReq lowPowerHeartBeatParams; -} tHalLowPowerHeartBeatReqMsg, *tpHalLowPowerHeartBeatReqMsg; - -/*--------------------------------------------------------------------------- - * FEATURE_WLAN_LPHB RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - uint8 sessionIdx; - uint32 status; - uint16 lowPowerHeartBeatCmdType; -}tHalLowPowerHeartBeatRspParams, *tpHalLowPowerHeartBeatRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLowPowerHeartBeatRspParams lowPowerHeartBeatRspParams; -}tHalLowPowerHeartBeatRspMsg, *tpHalLowPowerHeartBeatRspMsg; - - -/*--------------------------------------------------------------------------- - * FEATURE_WLAN_LPHB IND - *--------------------------------------------------------------------------*/ -#define WIFI_HB_EVENT_TCP_RX_TIMEOUT 0x0001 -#define WIFI_HB_EVENT_UDP_RX_TIMEOUT 0x0002 - -#define WIFI_LPHB_EVENT_REASON_TIMEOUT 0x01 -#define WIFI_LPHB_EVENT_REASON_FW_ON_MONITOR 0x02 -#define WIFI_LPHB_EVENT_REASON_FW_OFF_MONITOR 0x03 - - -#define WIFI_LPHB_PROTO_UDP 0x01 -#define WIFI_LPHB_PROTO_TCP 0x02 - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 bssIdx; - uint8 sessionIdx; - uint8 protocolType; /*TCP or UDP*/ - uint8 eventReason; - -}tHalLowPowerHeartBeatIndParam,*tpHalLowPowerHeartBeatIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLowPowerHeartBeatIndParam lowPowerHeartBeatIndParams; -}tHalLowPowerHeartBeatIndMsg, *tpHalLowPowerHeartBeatIndMsg; - -#endif - -#ifdef FEATURE_WLAN_BATCH_SCAN - -/*--------------------------------------------------------------------------- - * WLAN_HAL_BATCHSCAN_SET_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Scan Frerquency - default to 30Sec*/ - tANI_U32 scanInterval; - tANI_U32 numScan2Batch; - tANI_U32 bestNetworks; - tANI_U8 rfBand; - tANI_U8 rtt; -} tHalBatchScanSetParams, *tpHalBatchScanSetParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanSetParams batchScanParams; -} tHalBatchScanSetReqMsg, *tpHalBatchScanSetReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_BATCHSCAN_SET_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 supportedMscan; -} tHalBatchScanSetRspParam, *tpHalBatchScanSetRspParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanSetRspParam setBatchScanRspParam; -} tHalBatchScanSetRspMsg, *tpHalBatchScanSetRspMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_BATCHSCAN_STOP_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 param; -} tHalBatchScanStopIndParam, *tpHalBatchScanStopIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanStopIndParam param; -} tHalBatchScanStopIndMsg, *tpHalBatchScanStopIndMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_BATCHSCAN_TRIGGER_RESULT_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 param; -} tHalBatchScanTriggerResultParam, *tpHalBatchScanTriggerResultParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanTriggerResultParam param; -} tHalBatchScanTriggerResultIndMsg, *tpHalBatchScanTriggerResultIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_BATCHSCAN_GET_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssid[6]; /* BSSID */ - tANI_U8 ssid[32]; /* SSID */ - tANI_U8 ch; /* Channel */ - tANI_U8 rssi; /* RSSI or Level */ - /* Timestamp when Network was found. Used to calculate age based on timestamp in GET_RSP msg header */ - tANI_U32 timestamp; -} tHalBatchScanNetworkInfo, *tpHalBatchScanNetworkInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 scanId; /* Scan List ID. */ - /* No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg */ - tANI_U32 numNetworksInScanList; - /* Variable data ptr: Number of AP in Scan List */ - /* following numNetworkInScanList is data of type tHalBatchScanNetworkInfo - * of sizeof(tHalBatchScanNetworkInfo) * numNetworkInScanList */ - tANI_U8 scanList[1]; -} tHalBatchScanList, *tpHalBatchScanList; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 timestamp; - tANI_U32 numScanLists; - boolean isLastResult; - /* Variable Data ptr: Number of Scan Lists*/ - /* following isLastResult is data of type tHalBatchScanList - * of sizeof(tHalBatchScanList) * numScanLists*/ - tANI_U8 scanResults[1]; -} tHalBatchScanResultIndParam, *tpHalBatchScanResultIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalBatchScanResultIndParam resultIndMsgParam; -} tHalBatchScanResultIndMsg, *tpHalBatchScanResultIndMsg; - -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_KEEP_ALIVE_REQ - *--------------------------------------------------------------------------*/ -/* Packet Types. */ -#define HAL_KEEP_ALIVE_NULL_PKT 1 -#define HAL_KEEP_ALIVE_UNSOLICIT_ARP_RSP 2 - -/* Enable or disable keep alive */ -#define HAL_KEEP_ALIVE_DISABLE 0 -#define HAL_KEEP_ALIVE_ENABLE 1 - -/* Keep Alive request. */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 packetType; - tANI_U32 timePeriod; - tHalIpv4Addr hostIpv4Addr; - tHalIpv4Addr destIpv4Addr; - tSirMacAddr destMacAddr; - tANI_U8 bssIdx; -} tHalKeepAliveReq, *tpHalKeepAliveReq; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalKeepAliveReq KeepAliveParams; -} tHalKeepAliveReqMsg, *tpHalKeepAliveReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_RSSI_THRESH_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_S8 ucRssiThreshold1 : 8; - tANI_S8 ucRssiThreshold2 : 8; - tANI_S8 ucRssiThreshold3 : 8; - tANI_U8 bRssiThres1PosNotify : 1; - tANI_U8 bRssiThres1NegNotify : 1; - tANI_U8 bRssiThres2PosNotify : 1; - tANI_U8 bRssiThres2NegNotify : 1; - tANI_U8 bRssiThres3PosNotify : 1; - tANI_U8 bRssiThres3NegNotify : 1; - tANI_U8 bReserved10 : 2; -} tHalRSSIThresholds, *tpHalRSSIThresholds; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRSSIThresholds rssiThreshParams; -} tHalRSSIThresholdReqMsg, *tpHalRSSIThresholdReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_UAPSD_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bkDeliveryEnabled:1; - tANI_U8 beDeliveryEnabled:1; - tANI_U8 viDeliveryEnabled:1; - tANI_U8 voDeliveryEnabled:1; - tANI_U8 bkTriggerEnabled:1; - tANI_U8 beTriggerEnabled:1; - tANI_U8 viTriggerEnabled:1; - tANI_U8 voTriggerEnabled:1; - tANI_U8 bssIdx; -} tUapsdReqParams, *tpUapsdReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUapsdReqParams enterUapsdParams; -} tHalEnterUapsdReqMsg, *tpHalEnterUapsdReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_UAPSD_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U8 bssIdx; -} tHalExitUapsdReqMsg, *tpHalExitUapsdReqMsg; - -#define HAL_PERIODIC_TX_PTRN_MAX_SIZE 1536 -#define HAL_MAXNUM_PERIODIC_TX_PTRNS 6 -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_PERIODIC_TX_PTRN_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 selfStaIdx:8; - tANI_U32 ucPtrnId:8; // Pattern ID - tANI_U32 usPtrnSize:16; // Non-Zero Pattern size - tANI_U32 uPtrnIntervalMs; // In msec - tANI_U8 ucPattern[HAL_PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer -} tHalAddPeriodicTxPtrn, *tpHalAddPeriodicTxPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalAddPeriodicTxPtrn ptrnParams; -} tHalAddPeriodicTxPtrnIndMsg, *tpHalAddPeriodicTxPtrnIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_PERIODIC_TX_PTRN_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 selfStaIdx:8; - tANI_U32 rsvd:24; - /* Bitmap of pattern IDs that needs to be deleted */ - tANI_U32 uPatternIdBitmap; -} tHalDelPeriodicTxPtrn, *tpHalDelPeriodicTxPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDelPeriodicTxPtrn ptrnParams; -} tHalDelPeriodicTxPtrnIndMsg, *tpHalDelPeriodicTxPtrnIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_PERIODIC_TX_PTRN_FW_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Type of Failure indication */ - tANI_U32 bssIdx:8; - tANI_U32 selfStaIdx:8; - tANI_U32 rsvd:16; - tANI_U32 status; - tANI_U32 patternIdBitmap; -} tHalPeriodicTxPtrnFwInd, *tpHalPeriodicTxPtrnFwInd; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalPeriodicTxPtrnFwInd fwIndParams; -} tHalPeriodicTxPtrnFwIndMsg, *tpHalPeriodicTxPtrnFwIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_WOWL_BCAST_PTRN - *--------------------------------------------------------------------------*/ -#define HAL_WOWL_BCAST_PATTERN_MAX_SIZE 128 -#define HAL_WOWL_BCAST_MAX_NUM_PATTERNS 16 - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 ucPatternId; // Pattern ID - // Pattern byte offset from beginning of the 802.11 packet to start of the - // wake-up pattern - tANI_U8 ucPatternByteOffset; - tANI_U8 ucPatternSize; // Non-Zero Pattern size - tANI_U8 ucPattern[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern - tANI_U8 ucPatternMaskSize; // Non-zero pattern mask size - tANI_U8 ucPatternMask[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask - tANI_U8 ucPatternExt[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern - tANI_U8 ucPatternMaskExt[HAL_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask - tANI_U8 bssIdx; -} tHalWowlAddBcastPtrn, *tpHalWowlAddBcastPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlAddBcastPtrn ptrnParams; -} tHalWowlAddBcastPtrnReqMsg, *tpHalWowlAddBcastPtrnReqMsg; - - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_WOWL_BCAST_PTRN - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Pattern ID of the wakeup pattern to be deleted */ - tANI_U8 ucPatternId; - tANI_U8 bssIdx; -} tHalWowlDelBcastPtrn, *tpHalWowlDelBcastPtrn; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlDelBcastPtrn ptrnParams; -} tHalWowlDelBcastPtrnReqMsg, *tpHalWowlDelBcastPtrnReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_WOWL_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* Enables/disables magic packet filtering */ - tANI_U8 ucMagicPktEnable; - - /* Magic pattern */ - tSirMacAddr magicPtrn; - - /* Enables/disables packet pattern filtering in firmware. - Enabling this flag enables broadcast pattern matching - in Firmware. If unicast pattern matching is also desired, - ucUcastPatternFilteringEnable flag must be set tot true - as well - */ - tANI_U8 ucPatternFilteringEnable; - - /* Enables/disables unicast packet pattern filtering. - This flag specifies whether we want to do pattern match - on unicast packets as well and not just broadcast packets. - This flag has no effect if the ucPatternFilteringEnable - (main controlling flag) is set to false - */ - tANI_U8 ucUcastPatternFilteringEnable; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Channel Switch Action Frame. - */ - tANI_U8 ucWowChnlSwitchRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Deauthentication Frame. - */ - tANI_U8 ucWowDeauthRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Disassociation Frame. - */ - tANI_U8 ucWowDisassocRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it has missed - * consecutive beacons. This is a hardware register - * configuration (NOT a firmware configuration). - */ - tANI_U8 ucWowMaxMissedBeacons; - - /* This configuration is valid only when magicPktEnable=1. - * This is a timeout value in units of microsec. It requests - * hardware to unconditionally wake up after it has stayed - * in WoWLAN mode for some time. Set 0 to disable this feature. - */ - tANI_U8 ucWowMaxSleepUsec; - - /* This configuration directs the WoW packet filtering to look for EAP-ID - * requests embedded in EAPOL frames and use this as a wake source. - */ - tANI_U8 ucWoWEAPIDRequestEnable; - - /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY - * requests and use this as a wake source. - */ - tANI_U8 ucWoWEAPOL4WayEnable; - - /* This configuration allows a host wakeup on an network scan offload match. - */ - tANI_U8 ucWowNetScanOffloadMatch; - - /* This configuration allows a host wakeup on any GTK rekeying error. - */ - tANI_U8 ucWowGTKRekeyError; - - /* This configuration allows a host wakeup on BSS connection loss. - */ - tANI_U8 ucWoWBSSConnLoss; - - tANI_U8 bssIdx; - -} tHalWowlEnterParams, *tpHalWowlEnterParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlEnterParams enterWowlParams; -} tHalWowlEnterReqMsg, *tpHalWowlEnterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_WOWL_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - -} tHalWowlExitParams, *tpHalWowlExitParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWowlExitParams exitWowlParams; -} tHalWowlExitReqMsg, *tpHalWowlExitReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_RSSI_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalGetRssiReqMsg, *tpHalGetRssiReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Valid STA Idx for per STA stats request */ - tANI_U32 staId; - -}tHalRoamRssiReqParams, *tpHalRoamRssiReqParams; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_ROAM_RSSI_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRoamRssiReqParams roamRssiReqParams; -} tHalGetRoamRssiReqMsg, *tpHalGetRoamRssiReqMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_UAPSD_AC_PARAMS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 staidx; // STA index - tANI_U8 ac; // Access Category - tANI_U8 up; // User Priority - tANI_U32 srvInterval; // Service Interval - tANI_U32 susInterval; // Suspend Interval - tANI_U32 delayInterval; // Delay Interval -} tUapsdInfo, tpUapsdInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUapsdInfo enableUapsdAcParams; -} tHalSetUapsdAcParamsReqMsg, *tpHalSetUapsdAcParamsReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_RXP_FILTER_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 setMcstBcstFilterSetting; - tANI_U8 setMcstBcstFilter; -} tHalConfigureRxpFilterReqParams, tpHalConfigureRxpFilterReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureRxpFilterReqParams configureRxpFilterReqParams; -} tHalConfigureRxpFilterReqMsg, *tpHalConfigureRxpFilterReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_IMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalEnterImpsRspParams, *tpHalEnterImpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterImpsRspParams enterImpsRspParams; -} tHalEnterImpsRspMsg, *tpHalEnterImpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_IMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalExitImpsRspParams, *tpHalExitImpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitImpsRspParams exitImpsRspParams; -} tHalExitImpsRspMsg, *tpHalExitImpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_BMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalEnterBmpsRspParams, *tpHalEnterBmpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterBmpsRspParams enterBmpsRspParams; -} tHalEnterBmpsRspMsg, *tpHalEnterBmpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_BMPS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalExitBmpsRspParams, *tpHalExitBmpsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitBmpsRspParams exitBmpsRspParams; -} tHalExitBmpsRspMsg, *tpHalExitBmpsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_UAPSD_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -}tUapsdRspParams, *tpUapsdRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUapsdRspParams enterUapsdRspParams; -} tHalEnterUapsdRspMsg, *tpHalEnterUapsdRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_UAPSD_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalExitUapsdRspParams, *tpHalExitUapsdRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitUapsdRspParams exitUapsdRspParams; -} tHalExitUapsdRspMsg, *tpHalExitUapsdRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_RSSI_NOTIFICATION_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 bRssiThres1PosCross : 1; - tANI_U32 bRssiThres1NegCross : 1; - tANI_U32 bRssiThres2PosCross : 1; - tANI_U32 bRssiThres2NegCross : 1; - tANI_U32 bRssiThres3PosCross : 1; - tANI_U32 bRssiThres3NegCross : 1; - tANI_U32 avgRssi : 8; - tANI_U32 uBssIdx : 8; - tANI_U32 isBTCoexCompromise : 1; - tANI_U32 bReserved : 9; -} tHalRSSINotification, *tpHalRSSINotification; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRSSINotification rssiNotificationParams; -} tHalRSSINotificationIndMsg, *tpHalRSSINotificationIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_RSSI_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_S8 rssi; -} tHalGetRssiParams, *tpHalGetRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGetRssiParams rssiRspParams; -} tHalGetRssiRspMsg, *tpHalGetRssiRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_GET_ROAM_RSSI_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - tANI_U8 staId; - tANI_S8 rssi; -} tHalGetRoamRssiParams, *tpHalGetRoamRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGetRoamRssiParams roamRssiRspParams; -} tHalGetRoamRssiRspMsg, *tpHalGetRoamRssiRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ENTER_WOWL_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalEnterWowlRspParams, *tpHalEnterWowlRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalEnterWowlRspParams enterWowlRspParams; -} tHalWowlEnterRspMsg, *tpHalWowlEnterRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXIT_WOWL_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalExitWowlRspParams, *tpHalExitWowlRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalExitWowlRspParams exitWowlRspParams; -} tHalWowlExitRspMsg, *tpHalWowlExitRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_BCN_FILTER_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalAddBcnFilterRspParams, *tpHalAddBcnFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalAddBcnFilterRspParams addBcnFilterRspParams; -} tHalAddBcnFilterRspMsg, *tpHalAddBcnFilterRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_REM_BCN_FILTER_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalRemBcnFilterRspParams, *tpHalRemBcnFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRemBcnFilterRspParams remBcnFilterRspParams; -} tHalRemBcnFilterRspMsg, *tpHalRemBcnFilterRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_ADD_WOWL_BCAST_PTRN_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalAddWowlBcastPtrnRspParams, *tpHalAddWowlBcastPtrnRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalAddWowlBcastPtrnRspParams addWowlBcastPtrnRspParams; -} tHalAddWowlBcastPtrnRspMsg, *tpHalAddWowlBcastPtrnRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DEL_WOWL_BCAST_PTRN_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalDelWowlBcastPtrnRspParams, *tpHalDelWowlBcastPtrnRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDelWowlBcastPtrnRspParams delWowlBcastRspParams; -} tHalDelWowlBcastPtrnRspMsg, *tpHalDelWowlBcastPtrnRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_OFFLOAD_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalHostOffloadRspParams, *tpHalHostOffloadRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalHostOffloadRspParams hostOffloadRspParams; -} tHalHostOffloadRspMsg, *tpHalHostOffloadRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_KEEP_ALIVE_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalKeepAliveRspParams, *tpHalKeepAliveRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalKeepAliveRspParams keepAliveRspParams; -} tHalKeepAliveRspMsg, *tpHalKeepAliveRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_RSSI_THRESH_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalSetRssiThreshRspParams, *tpHalSetRssiThreshRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalSetRssiThreshRspParams setRssiThreshRspParams; -} tHalSetRssiThreshRspMsg, *tpHalSetRssiThreshRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_UAPSD_AC_PARAMS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalSetUapsdAcParamsRspParams, *tpHalSetUapsdAcParamsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalSetUapsdAcParamsRspParams setUapsdAcParamsRspParams; -} tHalSetUapsdAcParamsRspMsg, *tpHalSetUapsdAcParamsRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_RXP_FILTER_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalConfigureRxpFilterRspParams, *tpHalConfigureRxpFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureRxpFilterRspParams configureRxpFilterRspParams; -} tHalConfigureRxpFilterRspMsg, *tpHalConfigureRxpFilterRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_MAX_TX_POWER_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr bssId; // BSSID is needed to identify which session issued this request. As - //the request has power constraints, this should be applied only to that session - tSirMacAddr selfStaMacAddr; - //In request, - //power == MaxTx power to be used. - tPowerdBm power; - -}tSetMaxTxPwrParams, *tpSetMaxTxPwrParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrParams setMaxTxPwrParams; -}tSetMaxTxPwrReq, *tpSetMaxTxPwrReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_MAX_TX_POWER_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - //power == tx power used for management frames. - tPowerdBm power; - - /* success or failure */ - tANI_U32 status; -}tSetMaxTxPwrRspParams, *tpSetMaxTxPwrRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrRspParams setMaxTxPwrRspParams; -}tSetMaxTxPwrRspMsg, *tpSetMaxTxPwrRspMsg; - - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ - *--------------------------------------------------------------------------*/ - -/* Band types for WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_REQ between WDI and HAL */ -typedef enum -{ - WLAN_HAL_SET_MAX_TX_POWER_BAND_ALL = 0, - // For 2.4GHz or 5GHz bands - WLAN_HAL_SET_MAX_TX_POWER_BAND_2_4_GHZ, - WLAN_HAL_SET_MAX_TX_POWER_BAND_5_0_GHZ, - // End of valid enums - WLAN_HAL_SET_MAX_TX_POWER_BAND_MAX = WLAN_HAL_MAX_ENUM_SIZE, -}tHalSetMaxTxPwrBandInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalSetMaxTxPwrBandInfo bandInfo; // 2_4_GHZ or 5_0_GHZ - tPowerdBm power; // In request, power == MaxTx power to be used. -}tSetMaxTxPwrPerBandParams, *tpSetMaxTxPwrPerBandParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrPerBandParams setMaxTxPwrPerBandParams; -}tSetMaxTxPwrPerBandReq, *tpSetMaxTxPwrPerBandReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_MAX_TX_POWER_PER_BAND_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - //power == tx power used for management frames. - tPowerdBm power; - - /* success or failure */ - tANI_U32 status; -}tSetMaxTxPwrPerBandRspParams, *tpSetMaxTxPwrPerBandRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetMaxTxPwrPerBandRspParams setMaxTxPwrPerBandRspParams; -}tSetMaxTxPwrPerBandRspMsg, *tpSetMaxTxPwrPerBandRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_TX_POWER_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* TX Power in milli watts */ - tANI_U32 txPower; - tANI_U8 bssIdx; -}tSetTxPwrReqParams, *tpSetTxPwrReqParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetTxPwrReqParams setTxPwrReqParams; -}tSetTxPwrReqMsg, *tpSetTxPwrReqMsg; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_TX_POWER_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSetTxPwrRspParams, *tpSetTxPwrRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetTxPwrRspParams setTxPwrRspParams; -}tSetTxPwrRspMsg, *tpSetTxPwrRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_GET_TX_POWER_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 staId; -}tGetTxPwrReqParams, *tpGetTxPwrReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tGetTxPwrReqParams getTxPwrReqParams; -}tGetTxPwrReqMsg, *tpGetTxPwrReqMsg; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_GET_TX_POWER_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - /* TX Power in milli watts */ - tANI_U32 txPower; -}tGetTxPwrRspParams, *tpGetTxPwrRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tGetTxPwrRspParams getTxPwrRspParams; -}tGetTxPwrRspMsg, *tpGetTxPwrRspMsg; - -#ifdef WLAN_FEATURE_P2P -/*--------------------------------------------------------------------------- - *WLAN_HAL_SET_P2P_GONOA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 opp_ps; - tANI_U32 ctWindow; - tANI_U8 count; - tANI_U32 duration; - tANI_U32 interval; - tANI_U32 single_noa_duration; - tANI_U8 psSelection; -}tSetP2PGONOAParams, *tpSetP2PGONOAParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetP2PGONOAParams setP2PGONOAParams; -}tSetP2PGONOAReq, *tpSetP2PGONOAReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_SET_P2P_GONOA_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -}tSetP2PGONOARspParams, *tpSetP2PGONOARspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetP2PGONOARspParams setP2PGONOARspParams; -}tSetP2PGONOARspMsg, *tpSetP2PGONOARspMsg; -#endif - -/*--------------------------------------------------------------------------- - *WLAN_HAL_ADD_SELF_STA_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr selfMacAddr; - tANI_U32 status; -}tAddStaSelfParams, *tpAddStaSelfParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr selfMacAddr; - tANI_U32 status; - tHalIfacePersona iface_persona; -}tAddStaSelfParams_V1, *tpAddStaSelfParams_V1; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - PACKED_PRE union PACKED_POST { - tAddStaSelfParams addStaSelfParams; - tAddStaSelfParams_V1 addStaSelfParams_V1; - }uAddStaSelfParams; -}tAddStaSelfReq, *tpAddStaSelfReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_ADD_SELF_STA_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - /*Self STA Index */ - tANI_U8 selfStaIdx; - - /* DPU Index (IGTK, PTK, GTK all same) */ - tANI_U8 dpuIdx; - - /* DPU Signature */ - tANI_U8 dpuSignature; - -}tAddStaSelfRspParams, *tpAddStaSelfRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAddStaSelfRspParams addStaSelfRspParams; -}tAddStaSelfRspMsg, *tpAddStaSelfRspMsg; - - -/*--------------------------------------------------------------------------- - WLAN_HAL_DEL_STA_SELF_REQ ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacAddr selfMacAddr; - -}tDelStaSelfParams, *tpDelStaSelfParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelStaSelfParams delStaSelfParams; -} tDelStaSelfReqMsg, *tpDelStaSelfReqMsg; - - -/*--------------------------------------------------------------------------- - WLAN_HAL_DEL_STA_SELF_RSP ----------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*success or failure */ - tANI_U32 status; - - tSirMacAddr selfMacAddr; -}tDelStaSelfRspParams, *tpDelStaSelfRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tDelStaSelfRspParams delStaSelfRspParams; -} tDelStaSelfRspMsg, *tpDelStaSelfRspMsg; - - -#ifdef WLAN_FEATURE_VOWIFI_11R - -/*--------------------------------------------------------------------------- - *WLAN_HAL_AGGR_ADD_TS_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* Station Index */ - tANI_U16 staIdx; - - /* TSPEC handler uniquely identifying a TSPEC for a STA in a BSS */ - /* This will carry the bitmap with the bit positions representing different AC.s*/ - tANI_U16 tspecIdx; - - /* Tspec info per AC To program TPE with required parameters */ - tSirMacTspecIE tspec[WLAN_HAL_MAX_AC]; - - /* U-APSD Flags: 1b per AC. Encoded as follows: - b7 b6 b5 b4 b3 b2 b1 b0 = - X X X X BE BK VI VO */ - tANI_U8 uAPSD; - - /* These parameters are for all the access categories */ - tANI_U32 srvInterval[WLAN_HAL_MAX_AC]; // Service Interval - tANI_U32 susInterval[WLAN_HAL_MAX_AC]; // Suspend Interval - tANI_U32 delayInterval[WLAN_HAL_MAX_AC]; // Delay Interval - -}tAggrAddTsParams, *tpAggrAddTsParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAggrAddTsParams aggrAddTsParam; -}tAggrAddTsReq, *tpAggrAddTsReq; - -/*--------------------------------------------------------------------------- -*WLAN_HAL_AGGR_ADD_TS_RSP -*--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status0; - /* FIXME PRIMA for future use for 11R */ - tANI_U32 status1; -}tAggrAddTsRspParams, *tpAggrAddTsRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tAggrAddTsRspParams aggrAddTsRspParam; -}tAggrAddTsRspMsg, *tpAggrAddTsRspMsg; - -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 isAppsCpuAwake; -} tHalConfigureAppsCpuWakeupStateReqParams, *tpHalConfigureAppsCpuWakeupStatReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureAppsCpuWakeupStateReqParams appsStateReqParams; -} tHalConfigureAppsCpuWakeupStateReqMsg, *tpHalConfigureAppsCpuWakeupStateReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_CONFIGURE_APPS_CPU_WAKEUP_STATE_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalConfigureAppsCpuWakeupStateRspParams, *tpHalConfigureAppsCpuWakeupStateRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalConfigureAppsCpuWakeupStateRspParams appsStateRspParams; -} tHalConfigureAppsCpuWakeupStateRspMsg, *tpHalConfigureAppsCpuWakeupStateRspMsg; -/*--------------------------------------------------------------------------- - * WLAN_HAL_DUMP_COMMAND_REQ - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 argument1; - tANI_U32 argument2; - tANI_U32 argument3; - tANI_U32 argument4; - tANI_U32 argument5; - -}tHalDumpCmdReqParams,*tpHalDumpCmdReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDumpCmdReqParams dumpCmdReqParams; -} tHalDumpCmdReqMsg, *tpHalDumpCmdReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_DUMP_COMMAND_RSP - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - /*Length of the responce message*/ - tANI_U32 rspLength; - /*FiXME: Currently considering the the responce will be less than 100bytes */ - tANI_U8 rspBuffer[DUMPCMD_RSP_BUFFER]; - -} tHalDumpCmdRspParams, *tpHalDumpCmdRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalDumpCmdRspParams dumpCmdRspParams; -} tHalDumpCmdRspMsg, *tpHalDumpCmdRspMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_COEX_IND - *-------------------------------------------------------------------------*/ -#define WLAN_COEX_IND_DATA_SIZE (4) -#define WLAN_COEX_IND_TYPE_DISABLE_HB_MONITOR (0) -#define WLAN_COEX_IND_TYPE_ENABLE_HB_MONITOR (1) -#define WLAN_COEX_IND_TYPE_SCANS_ARE_COMPROMISED_BY_COEX (2) -#define WLAN_COEX_IND_TYPE_SCANS_ARE_NOT_COMPROMISED_BY_COEX (3) -#define WLAN_COEX_IND_TYPE_DISABLE_AGGREGATION_IN_2p4 (4) -#define WLAN_COEX_IND_TYPE_ENABLE_AGGREGATION_IN_2p4 (5) - -typedef PACKED_PRE struct PACKED_POST -{ - /*Coex Indication Type*/ - tANI_U32 coexIndType; - - /*Coex Indication Data*/ - tANI_U32 coexIndData[WLAN_COEX_IND_DATA_SIZE]; -}tCoexIndParams,*tpCoexIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tCoexIndParams coexIndParams; -}tCoexIndMsg, *tpCoexIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_OTA_TX_COMPL_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - /*Tx Complete Indication Success or Failure*/ - tANI_U32 status; -}tTxComplParams,*tpTxComplParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTxComplParams txComplParams; -}tTxComplIndMsg, *tpTxComplIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_SUSPEND_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 configuredMcstBcstFilterSetting; - tANI_U32 activeSessionCount; -}tHalWlanHostSuspendIndParam,*tpHalWlanHostSuspendIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanHostSuspendIndParam suspendIndParams; -}tHalWlanHostSuspendIndMsg, *tpHalWlanHostSuspendIndMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_EXCLUDE_UNENCRYTED_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_BOOLEAN bDot11ExcludeUnencrypted; - tSirMacAddr bssId; -}tHalWlanExcludeUnEncryptedIndParam,*tpHalWlanExcludeUnEncryptedIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanExcludeUnEncryptedIndParam excludeUnEncryptedIndParams; -}tHalWlanExcludeUnEncrptedIndMsg, *tpHalWlanExcludeUnEncrptedIndMsg; - -#ifdef WLAN_FEATURE_P2P -/*--------------------------------------------------------------------------- - *WLAN_HAL_NOA_ATTR_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 index ; - tANI_U8 oppPsFlag ; - tANI_U16 ctWin ; - - tANI_U16 uNoa1IntervalCnt; - tANI_U16 bssIdx; - tANI_U32 uNoa1Duration; - tANI_U32 uNoa1Interval; - tANI_U32 uNoa1StartTime; - - tANI_U16 uNoa2IntervalCnt; - tANI_U16 rsvd2; - tANI_U32 uNoa2Duration; - tANI_U32 uNoa2Interval; - tANI_U32 uNoa2StartTime; - - tANI_U32 status; -}tNoaAttrIndParams, *tpNoaAttrIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tNoaAttrIndParams noaAttrIndParams; -}tNoaAttrIndMsg, *tpNoaAttrIndMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_NOA_START_IND - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - tANI_U32 bssIdx; -}tNoaStartIndParams, *tpNoaStartIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tNoaStartIndParams noaStartIndParams; -}tNoaStartIndMsg, tpNoaStartIndMsg; -#endif - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_RESUME_REQ - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 configuredMcstBcstFilterSetting; -}tHalWlanHostResumeReqParam,*tpHalWlanHostResumeReqParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanHostResumeReqParam resumeReqParams; -}tHalWlanHostResumeReqMsg, *tpHalWlanHostResumeReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_HOST_RESUME_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalHostResumeRspParams, *tpHalHostResumeRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalHostResumeRspParams hostResumeRspParams; -} tHalHostResumeRspMsg, *tpHalHostResumeRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 staIdx; - // Peer MAC Address, whose BA session has timed out - tSirMacAddr peerMacAddr; - // TID for which a BA session timeout is being triggered - tANI_U8 baTID; - // DELBA direction - // 1 - Originator - // 0 - Recipient - tANI_U8 baDirection; - tANI_U32 reasonCode; - tSirMacAddr bssId; // TO SUPPORT BT-AMP -} tHalWlanDelBaIndMsg, *tpHalWlanDelBaIndMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalWlanDelBaIndMsg hostdelBaParam; -} tHalDelBAIndMsg, *tpHalDelBAIndMsg; - -/*--------------------------------------------------------------------------- - *PNO Messages - *-------------------------------------------------------------------------*/ -/* Max number of channels that a network can be found on*/ -/* WLAN_HAL_PNO_MAX_NETW_CHANNELS and WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX should - * be changed at same time - */ -#define WLAN_HAL_PNO_MAX_NETW_CHANNELS 60 - -/*Max number of channels that a network can be found on*/ -#define WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX 60 - -/*Maximum numbers of networks supported by PNO*/ -#define WLAN_HAL_PNO_MAX_SUPP_NETWORKS 16 - -/*The number of scan time intervals that can be programmed into PNO*/ -#define WLAN_HAL_PNO_MAX_SCAN_TIMERS 10 - -/*Maximum size of the probe template*/ -#define WLAN_HAL_PNO_MAX_PROBE_SIZE 450 - -/*Type of PNO enabling - Immediate - scanning will start immediately and PNO procedure will - be repeated based on timer - Suspend - scanning will start at suspend - Resume - scanning will start on system resume - Delay - start the scan timer to trigger PNO scan - */ -typedef enum -{ - ePNO_MODE_IMMEDIATE, - ePNO_MODE_ON_SUSPEND, - ePNO_MODE_ON_RESUME, - ePNO_MODE_DELAY, - ePNO_MODE_PROXIMITY, // FEATURE_WIFI_PROXIMITY - ePNO_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} ePNOMode; - -/*Authentication type*/ -typedef enum -{ - eAUTH_TYPE_ANY = 0, - eAUTH_TYPE_OPEN_SYSTEM = 1, - - // Upper layer authentication types - eAUTH_TYPE_WPA = 2, - eAUTH_TYPE_WPA_PSK = 3, - - eAUTH_TYPE_RSN = 4, - eAUTH_TYPE_RSN_PSK = 5, - eAUTH_TYPE_FT_RSN = 6, - eAUTH_TYPE_FT_RSN_PSK = 7, - eAUTH_TYPE_WAPI_WAI_CERTIFICATE = 8, - eAUTH_TYPE_WAPI_WAI_PSK = 9, - eAUTH_TYPE_CCKM_WPA = 10, - eAUTH_TYPE_CCKM_RSN = 11, - - eAUTH_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE - -}tAuthType; - -/* Encryption type */ -typedef enum eEdType -{ - eED_ANY = 0, - eED_NONE = 1, - eED_WEP = 2, - eED_TKIP = 3, - eED_CCMP = 4, - eED_WPI = 5, - - eED_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tEdType; - -/* SSID broadcast type */ -typedef enum eSSIDBcastType -{ - eBCAST_UNKNOWN = 0, - eBCAST_NORMAL = 1, - eBCAST_HIDDEN = 2, - - eBCAST_TYPE_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tSSIDBcastType; - -/* - The network description for which PNO will have to look for -*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*Authentication type for the network*/ - tAuthType authentication; - - /*Encryption type for the network*/ - tEdType encryption; - - /*Indicate the channel on which the Network can be found - 0 - if all channels */ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS]; - - /*Indicates the RSSI threshold for the network to be considered*/ - tANI_U8 rssiThreshold; -}tNetworkType; - -typedef PACKED_PRE struct PACKED_POST -{ - /*How much it should wait */ - tANI_U32 uTimerValue; - - /*How many times it should repeat that wait value - 0 - keep using this timer until PNO is disabled*/ - tANI_U32 uTimerRepeat; - - /*e.g: 2 3 - 4 0 - - it will wait 2s between consecutive scans for 3 times - - after that it will wait 4s between consecutive scans until disabled*/ -}tScanTimer; - -/* - The network parameters to be sent to the PNO algorithm -*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*set to 0 if you wish for PNO to use its default telescopic timer*/ - tANI_U8 ucScanTimersCount; - - /*A set value represents the amount of time that PNO will wait between - two consecutive scan procedures - If the desired is for a uniform timer that fires always at the exact same - interval - one single value is to be set - If there is a desire for a more complex - telescopic like timer multiple - values can be set - once PNO reaches the end of the array it will - continue scanning at intervals presented by the last value*/ - tScanTimer aTimerValues[WLAN_HAL_PNO_MAX_SCAN_TIMERS]; - -}tScanTimersType; - -typedef PACKED_PRE struct PACKED_POST { - - /*Enable PNO*/ - tANI_U32 enable; - - /*Immediate, On Suspend, On Resume*/ - ePNOMode modePNO; - - /*Number of networks sent for PNO*/ - tANI_U32 ucNetworksCount; - - /*The networks that PNO needs to look for*/ - tNetworkType aNetworks[WLAN_HAL_PNO_MAX_SUPP_NETWORKS]; - - /*The scan timers required for PNO*/ - tScanTimersType scanTimers; - - /*Probe template for 2.4GHz band*/ - tANI_U16 us24GProbeSize; - tANI_U8 a24GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - - /*Probe template for 5GHz band*/ - tANI_U16 us5GProbeSize; - tANI_U8 a5GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - -} tPrefNetwListParams, * tpPrefNetwListParams; - -/* - Preferred network list request -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPrefNetwListParams prefNetwListParams; -} tSetPrefNetwListReq, *tpSetPrefNetwListReq; - - -/* - The network description for which PNO will have to look for -*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*SSID of the BSS*/ - tSirMacSSid ssId; - - /*Authentication type for the network*/ - tAuthType authentication; - - /*Encryption type for the network*/ - tEdType encryption; - - /*SSID broadcast type, normal, hidden or unknown*/ - tSSIDBcastType bcastNetworkType; - - /*Indicate the channel on which the Network can be found - 0 - if all channels */ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS]; - - /*Indicates the RSSI threshold for the network to be considered*/ - tANI_U8 rssiThreshold; -}tNetworkTypeNew; - -typedef PACKED_PRE struct PACKED_POST { - - /*Enable PNO*/ - tANI_U32 enable; - - /*Immediate, On Suspend, On Resume*/ - ePNOMode modePNO; - - /*Number of networks sent for PNO*/ - tANI_U32 ucNetworksCount; - - /*The networks that PNO needs to look for*/ - tNetworkTypeNew aNetworks[WLAN_HAL_PNO_MAX_SUPP_NETWORKS]; - - /*The scan timers required for PNO*/ - tScanTimersType scanTimers; - - /*Probe template for 2.4GHz band*/ - tANI_U16 us24GProbeSize; - tANI_U8 a24GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - - /*Probe template for 5GHz band*/ - tANI_U16 us5GProbeSize; - tANI_U8 a5GProbeTemplate[WLAN_HAL_PNO_MAX_PROBE_SIZE]; - -} tPrefNetwListParamsNew, * tpPrefNetwListParamsNew; - -/* - Preferred network list request new -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tPrefNetwListParamsNew prefNetwListParams; -} tSetPrefNetwListReqNew, *tpSetPrefNetwListReqNew; - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -typedef PACKED_PRE struct PACKED_POST -{ - tSirMacSSid ssId; - tANI_U8 currAPbssid[HAL_MAC_ADDR_LEN]; - tANI_U32 authentication; - tEdType encryption; - tEdType mcencryption; - tANI_U8 ChannelCount; - tANI_U8 ChannelCache[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; -}tRoamNetworkType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 mdiePresent; - tANI_U16 mobilityDomain; -}tMobilityDomainInfo; - -typedef PACKED_PRE struct PACKED_POST { - eAniBoolean RoamScanOffloadEnabled; - tANI_S8 LookupThreshold; - tANI_U8 RoamRssiDiff; - tANI_U8 ChannelCacheType; - tANI_U8 Command; - tANI_U8 StartScanReason; - tANI_U16 NeighborScanTimerPeriod; - tANI_U16 NeighborRoamScanRefreshPeriod; - tANI_U16 NeighborScanChannelMinTime; - tANI_U16 NeighborScanChannelMaxTime; - tANI_U16 EmptyRefreshScanPeriod; - tANI_U8 ValidChannelCount; - tANI_U8 ValidChannelList[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; - eAniBoolean IsCCXEnabled; - - tANI_U16 us24GProbeSize; - tANI_U8 a24GProbeTemplate[WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE]; - tANI_U16 us5GProbeSize; - tANI_U8 a5GProbeTemplate[WLAN_HAL_ROAM_SCAN_MAX_PROBE_SIZE]; - /* Add Reserved bytes */ - tANI_U8 nProbes; - tANI_U16 HomeAwayTime; - eAniBoolean MAWCEnabled; - tANI_U8 ReservedBytes[WLAN_HAL_ROAM_SCAN_RESERVED_BYTES]; - tRoamNetworkType ConnectedNetwork; - tMobilityDomainInfo MDID; -} tRoamCandidateListParams, * tpRoamCandidateListParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRoamCandidateListParams RoamScanOffloadNetwListParams; -} tSetRoamScanOffloadReq, *tpRoamScanOffloadReq; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /* status of the request - just to indicate that PNO has acknowledged - * the request and will start scanning */ - tANI_U32 status; -} tSetRoamOffloadScanResp, *tpSetRoamOffloadScanResp; -#endif - -/* - Preferred network list response -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /* status of the request - just to indicate that PNO has acknowledged - * the request and will start scanning*/ - tANI_U32 status; -} tSetPrefNetwListResp, *tpSetPrefNetwListResp; - -/* - Preferred network indication parameters -*/ -typedef PACKED_PRE struct PACKED_POST { - - /*Network that was found with the highest RSSI*/ - tSirMacSSid ssId; - - /*Indicates the RSSI */ - tANI_U8 rssi; - - //The MPDU frame length of a beacon or probe rsp. data is the start of the frame - tANI_U16 frameLength; - -} tPrefNetwFoundParams, * tpPrefNetwFoundParams; - -/* - Preferred network found indication -*/ -typedef PACKED_PRE struct PACKED_POST { - - tHalMsgHeader header; - tPrefNetwFoundParams prefNetwFoundParams; -} tPrefNetwFoundInd, *tpPrefNetwFoundInd; - - -typedef PACKED_PRE struct PACKED_POST { - - /*RSSI Threshold*/ - tANI_U8 ucRssiThreshold; - -} tRssiFilterParams, * tpRssiFilterParams; - -/* - RSSI Filter request -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tRssiFilterParams prefRSSIFilterParams; -} tSetRssiFilterReq, *tpSetRssiFilterReq; - -/* - Set RSSI filter resp -*/ -typedef PACKED_PRE struct PACKED_POST{ - tHalMsgHeader header; - /*status of the request */ - tANI_U32 status; -} tSetRssiFilterResp, *tpSetRssiFilterResp; -/* - Update scan params -*/ -typedef PACKED_PRE struct PACKED_POST -{ - - /*Host setting for 11d*/ - tANI_U8 b11dEnabled; - - /*Lets PNO know that host has determined the regulatory domain*/ - tANI_U8 b11dResolved; - - /*Channels on which PNO is allowed to scan*/ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS]; - - /*Minimum channel time*/ - tANI_U16 usActiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usActiveMaxChTime; - - /*Minimum channel time*/ - tANI_U16 usPassiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usPassiveMaxChTime; - - /*Cb State*/ - ePhyChanBondState cbState; - -} tUpdateScanParams, * tpUpdateScanParams; - -/* - Update scan params -*/ -typedef PACKED_PRE struct PACKED_POST -{ - - /*Host setting for 11d*/ - tANI_U8 b11dEnabled; - - /*Lets PNO know that host has determined the regulatory domain*/ - tANI_U8 b11dResolved; - - /*Channels on which PNO is allowed to scan*/ - tANI_U8 ucChannelCount; - tANI_U8 aChannels[WLAN_HAL_PNO_MAX_NETW_CHANNELS_EX]; - - /*Minimum channel time*/ - tANI_U16 usActiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usActiveMaxChTime; - - /*Minimum channel time*/ - tANI_U16 usPassiveMinChTime; - - /*Maximum channel time*/ - tANI_U16 usPassiveMaxChTime; - - /*Cb State*/ - ePhyChanBondState cbState; - -} tUpdateScanParamsEx, * tpUpdateScanParamsEx; - -/* - Update scan params - sent from host to PNO - to be used during PNO scanning -*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - tUpdateScanParams scanParams; -} tUpdateScanParamsReq, *tpUpdateScanParamsReq; - -/* - Update scan params - sent from host to PNO - to be used during PNO scanning -*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - tUpdateScanParamsEx scanParams; -} tUpdateScanParamsReqEx, *tpUpdateScanParamsReqEx; - -/* - Update scan params - sent from host to PNO - to be used during PNO scanning -*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tUpdateScanParamsResp, *tpUpdateScanParamsResp; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_TX_PER_TRACKING_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */ - tANI_U8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */ - tANI_U8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */ - tANI_U32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */ -} tHalTxPerTrackingReqParam, *tpHalTxPerTrackingReqParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalTxPerTrackingReqParam txPerTrackingParams; -} tHalSetTxPerTrackingReqMsg, *tpHalSetTxPerTrackingReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_SET_TX_PER_TRACKING_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; -} tHalTxPerTrackingRspParams, *tpHalTxPerTrackingRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalTxPerTrackingRspParams txPerTrackingRspParams; -} tHalSetTxPerTrackingRspMsg, *tpHalSetTxPerTrackingRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TX_PER_HIT_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -}tTxPerHitIndMsg, *tpTxPerHitIndMsg; - -/*--------------------------------------------------------------------------- - *******************Packet Filtering Definitions Begin******************* - *--------------------------------------------------------------------------*/ -#define HAL_PROTOCOL_DATA_LEN 8 -#define HAL_MAX_NUM_MULTICAST_ADDRESS 240 -#define HAL_MAX_NUM_FILTERS 20 -#define HAL_MAX_CMP_PER_FILTER 10 - -typedef enum -{ - HAL_RCV_FILTER_TYPE_INVALID, - HAL_RCV_FILTER_TYPE_FILTER_PKT, - HAL_RCV_FILTER_TYPE_BUFFER_PKT, - HAL_RCV_FILTER_TYPE_MAX_ENUM_SIZE -}tHalReceivePacketFilterType; - -typedef enum -{ - HAL_FILTER_PROTO_TYPE_INVALID, - HAL_FILTER_PROTO_TYPE_MAC, - HAL_FILTER_PROTO_TYPE_ARP, - HAL_FILTER_PROTO_TYPE_IPV4, - HAL_FILTER_PROTO_TYPE_IPV6, - HAL_FILTER_PROTO_TYPE_UDP, - HAL_FILTER_PROTO_TYPE_MAX -}tHalRcvPktFltProtocolType; - -typedef enum -{ - HAL_FILTER_CMP_TYPE_INVALID, - HAL_FILTER_CMP_TYPE_EQUAL, - HAL_FILTER_CMP_TYPE_MASK_EQUAL, - HAL_FILTER_CMP_TYPE_NOT_EQUAL, - HAL_FILTER_CMP_TYPE_MAX -}tHalRcvPktFltCmpFlagType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 protocolLayer; - tANI_U8 cmpFlag; - tANI_U16 dataLength; /* Length of the data to compare */ - tANI_U8 dataOffset; /* from start of the respective frame header */ - tANI_U8 reserved; /* Reserved field */ - tANI_U8 compareData[HAL_PROTOCOL_DATA_LEN]; /* Data to compare */ - tANI_U8 dataMask[HAL_PROTOCOL_DATA_LEN]; /* Mask to be applied on the received packet data before compare */ -}tHalRcvPktFilterParams, *tpHalRcvPktFilterParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 filterId; - tANI_U8 filterType; - tANI_U8 numParams; - tANI_U32 coalesceTime; - tHalRcvPktFilterParams paramsData[1]; -}tHalRcvPktFilterCfgType, *tpHalRcvPktFilterCfgType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 filterId; - tANI_U8 filterType; - tANI_U8 numParams; - tANI_U32 coleasceTime; - tANI_U8 bssIdx; - tHalRcvPktFilterParams paramsData[1]; -}tHalSessionizedRcvPktFilterCfgType, *tpHalSessionizedRcvPktFilterCfgType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvPktFilterCfgType pktFilterCfg; -} tHalSetRcvPktFilterReqMsg, *tpHalSetRcvPktFilterReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 dataOffset; /* from start of the respective frame header */ - tANI_U32 cMulticastAddr; - tSirMacAddr multicastAddr[HAL_MAX_NUM_MULTICAST_ADDRESS]; - tANI_U8 bssIdx; -} tHalRcvFltMcAddrListType, *tpHalRcvFltMcAddrListType; - -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalSetPktFilterRspParams, *tpHalSetPktFilterRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalSetPktFilterRspParams pktFilterRspParams; -} tHalSetPktFilterRspMsg, *tpHalSetPktFilterRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; -} tHalRcvFltPktMatchCntReqParams, *tpHalRcvFltPktMatchCntReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktMatchCntReqParams pktMatchCntReqParams; -} tHalRcvFltPktMatchCntReqMsg, *tpHalRcvFltPktMatchCntReqMsg; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 filterId; - tANI_U32 matchCnt; -} tHalRcvFltPktMatchCnt; -typedef PACKED_PRE struct PACKED_POST -{ - /* Success or Failure */ - tANI_U32 status; - tANI_U32 matchCnt; - tHalRcvFltPktMatchCnt filterMatchCnt[HAL_MAX_NUM_FILTERS]; - tANI_U8 bssIdx; -} tHalRcvFltPktMatchRspParams, *tptHalRcvFltPktMatchRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktMatchRspParams fltPktMatchRspParams; -} tHalRcvFltPktMatchCntRspMsg, *tpHalRcvFltPktMatchCntRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; /* only valid for response message */ - tANI_U8 filterId; - tANI_U8 bssIdx; -}tHalRcvFltPktClearParam, *tpHalRcvFltPktClearParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktClearParam filterClearParam; -} tHalRcvFltPktClearReqMsg, *tpHalRcvFltPktClearReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktClearParam filterClearParam; -} tHalRcvFltPktClearRspMsg, *tpHalRcvFltPktClearRspMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - tANI_U8 bssIdx; -}tHalRcvFltPktSetMcListRspType, *tpHalRcvFltPktSetMcListRspType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltMcAddrListType mcAddrList; -} tHalRcvFltPktSetMcListReqMsg, *tpHalRcvFltPktSetMcListReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRcvFltPktSetMcListRspType rspParam; -} tHalRcvFltPktSetMcListRspMsg, *tpHalRcvFltPktSetMcListRspMsg; - - -/*--------------------------------------------------------------------------- - *******************Packet Filtering Definitions End******************* - *--------------------------------------------------------------------------*/ - -/* - * There are two versions of this message - * Version 1 : Base version - * Current version : Base version + Max LI modulated DTIM - */ -typedef PACKED_PRE struct PACKED_POST -{ - /* Ignore DTIM */ - tANI_U32 uIgnoreDTIM; - - /*DTIM Period*/ - tANI_U32 uDTIMPeriod; - - /* Listen Interval */ - tANI_U32 uListenInterval; - - /* Broadcast Multicast Filter */ - tANI_U32 uBcastMcastFilter; - - /* Beacon Early Termination */ - tANI_U32 uEnableBET; - - /* Beacon Early Termination Interval */ - tANI_U32 uBETInterval; -}tSetPowerParamsVer1Type, *tpSetPowerParamsVer1Type; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetPowerParamsVer1Type powerParams; -} tSetPowerParamsVer1ReqMsg, *tpSetPowerParamsVer1ReqMsg; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Ignore DTIM */ - tANI_U32 uIgnoreDTIM; - - /*DTIM Period*/ - tANI_U32 uDTIMPeriod; - - /* Listen Interval */ - tANI_U32 uListenInterval; - - /* Broadcast Multicast Filter */ - tANI_U32 uBcastMcastFilter; - - /* Beacon Early Termination */ - tANI_U32 uEnableBET; - - /* Beacon Early Termination Interval */ - tANI_U32 uBETInterval; - - /* MAX LI for modulated DTIM */ - tANI_U32 uMaxLIModulatedDTIM; -}tSetPowerParamsType, *tpSetPowerParamsType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetPowerParamsType powerParams; -} tSetPowerParamsReqMsg, *tpSetPowerParamsReqMsg; - -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tSetPowerParamsResp, *tpSetPowerParamsResp; - -/*--------------------------------------------------------------------------- - ****************Capability bitmap exchange definitions and macros starts************* - *--------------------------------------------------------------------------*/ - -typedef enum { - MCC = 0, - P2P = 1, - DOT11AC = 2, - SLM_SESSIONIZATION = 3, - DOT11AC_OPMODE = 4, - SAP32STA = 5, - TDLS = 6, - P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7, - WLANACTIVE_OFFLOAD = 8, - BEACON_OFFLOAD = 9, - SCAN_OFFLOAD = 10, - ROAM_OFFLOAD = 11, - BCN_MISS_OFFLOAD = 12, - STA_POWERSAVE = 13, - STA_ADVANCED_PWRSAVE = 14, - AP_UAPSD = 15, - AP_DFS = 16, - BLOCKACK = 17, - PHY_ERR = 18, - BCN_FILTER = 19, - RTT = 20, - RATECTRL = 21, - WOW = 22, - WLAN_ROAM_SCAN_OFFLOAD = 23, - SPECULATIVE_PS_POLL = 24, - SCAN_SCH = 25, - IBSS_HEARTBEAT_OFFLOAD = 26, - WLAN_SCAN_OFFLOAD = 27, - WLAN_PERIODIC_TX_PTRN = 28, - ADVANCE_TDLS = 29, - BATCH_SCAN = 30, - MAX_FEATURE_SUPPORTED = 128, -} placeHolderInCapBitmap; - -typedef PACKED_PRE struct PACKED_POST{ - - tANI_U32 featCaps[4]; -} tWlanFeatCaps, *tpWlanFeatCaps; - -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - tWlanFeatCaps wlanFeatCaps; - -} tWlanFeatCapsMsg, *tpWlanFeatCapsMsg; - -#define IS_MCC_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(MCC))) -#define IS_SLM_SESSIONIZATION_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(SLM_SESSIONIZATION))) -#define IS_FEATURE_SUPPORTED_BY_HOST(featEnumValue) (!!halMsg_GetHostWlanFeatCaps(featEnumValue)) -#define IS_WLANACTIVE_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLANACTIVE_OFFLOAD))) -#define IS_WLAN_ROAM_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD))) -#define IS_IBSS_HEARTBEAT_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD))) -#define IS_SCAN_OFFLOAD_SUPPORTED_BY_HOST (!!(halMsg_GetHostWlanFeatCaps(WLAN_SCAN_OFFLOAD))) - -tANI_U8 halMsg_GetHostWlanFeatCaps(tANI_U8 feat_enum_value); - -#define setFeatCaps(a,b) { tANI_U32 arr_index, bit_index; \ - if ((b)<=127) { \ - arr_index = (b)/32; \ - bit_index = (b)%32; \ - if(arr_index < 4) \ - (a)->featCaps[arr_index] |= (1<<bit_index); \ - } \ - } -#define getFeatCaps(a,b,c) { tANI_U32 arr_index, bit_index; \ - if ((b)<=127) { \ - arr_index = (b)/32; \ - bit_index = (b)%32; \ - (c) = ((a)->featCaps[arr_index] & (1<<bit_index))?1:0; \ - } \ - } -#define clearFeatCaps(a,b) { tANI_U32 arr_index, bit_index; \ - if ((b)<=127) { \ - arr_index = (b)/32; \ - bit_index = (b)%32; \ - (a)->featCaps[arr_index] &= ~(1<<bit_index); \ - } \ - } - -/*--------------------------------------------------------------------------- - * WLAN_HAL_WAKE_REASON_IND - *--------------------------------------------------------------------------*/ - -/* status codes to help debug rekey failures */ -typedef enum -{ - WLAN_HAL_GTK_REKEY_STATUS_SUCCESS = 0, - WLAN_HAL_GTK_REKEY_STATUS_NOT_HANDLED = 1, /* rekey detected, but not handled */ - WLAN_HAL_GTK_REKEY_STATUS_MIC_ERROR = 2, /* MIC check error on M1 */ - WLAN_HAL_GTK_REKEY_STATUS_DECRYPT_ERROR = 3, /* decryption error on M1 */ - WLAN_HAL_GTK_REKEY_STATUS_REPLAY_ERROR = 4, /* M1 replay detected */ - WLAN_HAL_GTK_REKEY_STATUS_MISSING_KDE = 5, /* missing GTK key descriptor in M1 */ - WLAN_HAL_GTK_REKEY_STATUS_MISSING_IGTK_KDE = 6, /* missing iGTK key descriptor in M1 */ - WLAN_HAL_GTK_REKEY_STATUS_INSTALL_ERROR = 7, /* key installation error */ - WLAN_HAL_GTK_REKEY_STATUS_IGTK_INSTALL_ERROR = 8, /* iGTK key installation error */ - WLAN_HAL_GTK_REKEY_STATUS_RESP_TX_ERROR = 9, /* GTK rekey M2 response TX error */ - - WLAN_HAL_GTK_REKEY_STATUS_GEN_ERROR = 255 /* non-specific general error */ -} tGTKRekeyStatus; - -/* wake reason types */ -typedef enum -{ - WLAN_HAL_WAKE_REASON_NONE = 0, - WLAN_HAL_WAKE_REASON_MAGIC_PACKET = 1, /* magic packet match */ - WLAN_HAL_WAKE_REASON_PATTERN_MATCH = 2, /* host defined pattern match */ - WLAN_HAL_WAKE_REASON_EAPID_PACKET = 3, /* EAP-ID frame detected */ - WLAN_HAL_WAKE_REASON_EAPOL4WAY_PACKET = 4, /* start of EAPOL 4-way handshake detected */ - WLAN_HAL_WAKE_REASON_NETSCAN_OFFL_MATCH = 5, /* network scan offload match */ - WLAN_HAL_WAKE_REASON_GTK_REKEY_STATUS = 6, /* GTK rekey status wakeup (see status) */ - WLAN_HAL_WAKE_REASON_BSS_CONN_LOST = 7, /* BSS connection lost */ -} tWakeReasonType; - -/* - Wake Packet which is saved at tWakeReasonParams.DataStart - This data is sent for any wake reasons that involve a packet-based wakeup : - - WLAN_HAL_WAKE_REASON_TYPE_MAGIC_PACKET - WLAN_HAL_WAKE_REASON_TYPE_PATTERN_MATCH - WLAN_HAL_WAKE_REASON_TYPE_EAPID_PACKET - WLAN_HAL_WAKE_REASON_TYPE_EAPOL4WAY_PACKET - WLAN_HAL_WAKE_REASON_TYPE_GTK_REKEY_STATUS - - The information is provided to the host for auditing and debug purposes - -*/ - -/* - Wake reason indication parameters -*/ -typedef PACKED_PRE struct PACKED_POST -{ - uint32 ulReason; /* see tWakeReasonType */ - uint32 ulReasonArg; /* argument specific to the reason type */ - uint32 ulStoredDataLen; /* length of optional data stored in this message, in case - HAL truncates the data (i.e. data packets) this length - will be less than the actual length */ - uint32 ulActualDataLen; /* actual length of data */ - uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen) - see specific wake type */ -} tWakeReasonParams, *tpWakeReasonParams; - -/* - Wake reason indication -*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tWakeReasonParams wakeReasonParams; - tANI_U32 uBssIdx : 8; - tANI_U32 bReserved : 24; -} tHalWakeReasonInd, *tpHalWakeReasonInd; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_REQ -*--------------------------------------------------------------------------*/ - -#define HAL_GTK_KEK_BYTES 16 -#define HAL_GTK_KCK_BYTES 16 - -#define WLAN_HAL_GTK_OFFLOAD_FLAGS_DISABLE (1 << 0) - -#define GTK_SET_BSS_KEY_TAG 0x1234AA55 - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 ulFlags; /* optional flags */ - tANI_U8 aKCK[HAL_GTK_KCK_BYTES]; /* Key confirmation key */ - tANI_U8 aKEK[HAL_GTK_KEK_BYTES]; /* key encryption key */ - tANI_U64 ullKeyReplayCounter; /* replay counter */ - tANI_U8 bssIdx; -} tHalGtkOffloadReqParams, *tpHalGtkOffloadReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadReqParams gtkOffloadReqParams; -} tHalGtkOffloadReqMsg, *tpHalGtkOffloadReqMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_RSP -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 ulStatus; /* success or failure */ - tANI_U8 bssIdx; -} tHalGtkOffloadRspParams, *tpHalGtkOffloadRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadRspParams gtkOffloadRspParams; -} tHalGtkOffloadRspMsg, *tpHalGtkOffloadRspMsg; - - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_GETINFO_REQ -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - -} tHalGtkOffloadGetInfoReqParams, *tptHalGtkOffloadGetInfoReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadGetInfoReqParams gtkOffloadGetInfoReqParams; -} tHalGtkOffloadGetInfoReqMsg, *tpHalGtkOffloadGetInfoReqMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_GTK_OFFLOAD_GETINFO_RSP -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 ulStatus; /* success or failure */ - tANI_U32 ulLastRekeyStatus; /* last rekey status when the rekey was offloaded */ - tANI_U64 ullKeyReplayCounter; /* current replay counter value */ - tANI_U32 ulTotalRekeyCount; /* total rekey attempts */ - tANI_U32 ulGTKRekeyCount; /* successful GTK rekeys */ - tANI_U32 ulIGTKRekeyCount; /* successful iGTK rekeys */ - tANI_U8 bssIdx; -} tHalGtkOffloadGetInfoRspParams, *tptHalGtkOffloadGetInfoRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalGtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams; -} tHalGtkOffloadGetInfoRspMsg, *tpHalGtkOffloadGetInfoRspMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_DHCP_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*Indicates the device mode which indicates about the DHCP activity */ - tANI_U8 device_mode; - tSirMacAddr macAddr; -} tDHCPInfo, *tpDHCPInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U32 status; /* success or failure */ -} tDHCPIndStatus, *tpDHCPIndstatus; - -/* - Thermal Mitigation mode of operation. - HAL_THERMAL_MITIGATION_MODE_0 - Based on AMPDU disabling aggregation - HAL_THERMAL_MITIGATION_MODE_1 - Based on AMPDU disabling aggregation and - reducing transmit power - HAL_THERMAL_MITIGATION_MODE_2 - Not supported -*/ -typedef enum -{ - HAL_THERMAL_MITIGATION_MODE_INVALID = -1, - HAL_THERMAL_MITIGATION_MODE_0, - HAL_THERMAL_MITIGATION_MODE_1, - HAL_THERMAL_MITIGATION_MODE_2, - HAL_THERMAL_MITIGATION_MODE_MAX = WLAN_HAL_MAX_ENUM_SIZE, -}tHalThermalMitigationModeType; -//typedef tANI_S16 tHalThermalMitigationModeType; - -/* - Thermal Mitigation level. - Note the levels are incremental i.e HAL_THERMAL_MITIGATION_LEVEL_2 = - HAL_THERMAL_MITIGATION_LEVEL_0 + HAL_THERMAL_MITIGATION_LEVEL_1 - - HAL_THERMAL_MITIGATION_LEVEL_0 - lowest level of thermal mitigation. This - level indicates normal mode of operation - HAL_THERMAL_MITIGATION_LEVEL_1 - 1st level of thermal mitigation - HAL_THERMAL_MITIGATION_LEVEL_2 - 2nd level of thermal mitigation - HAL_THERMAL_MITIGATION_LEVEL_3 - 3rd level of thermal mitigation - HAL_THERMAL_MITIGATION_LEVEL_4 - 4th level of thermal mitigation -*/ -typedef enum -{ - HAL_THERMAL_MITIGATION_LEVEL_INVALID = -1, - HAL_THERMAL_MITIGATION_LEVEL_0, - HAL_THERMAL_MITIGATION_LEVEL_1, - HAL_THERMAL_MITIGATION_LEVEL_2, - HAL_THERMAL_MITIGATION_LEVEL_3, - HAL_THERMAL_MITIGATION_LEVEL_4, - HAL_THERMAL_MITIGATION_LEVEL_MAX = WLAN_HAL_MAX_ENUM_SIZE, -}tHalThermalMitigationLevelType; -//typedef tANI_S16 tHalThermalMitigationLevelType; - -typedef PACKED_PRE struct PACKED_POST -{ - /* Thermal Mitigation Operation Mode */ - tHalThermalMitigationModeType thermalMitMode; - - /* Thermal Mitigation Level */ - tHalThermalMitigationLevelType thermalMitLevel; - -}tSetThermalMitgationType, *tpSetThermalMitgationType; - -/* WLAN_HAL_SET_THERMAL_MITIGATION_REQ */ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tSetThermalMitgationType thermalMitParams; -} tSetThermalMitigationReqMsg, *tpSetThermalMitigationReqMsg; - -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tSetThermalMitigationResp, *tpSetThermalMitigationResp; - -/* Per STA Class B Statistics. Class B statistics are STA TX/RX stats -provided to FW from Host via periodic messages */ -typedef PACKED_PRE struct PACKED_POST { - /* TX stats */ - uint32 txBytesPushed; - uint32 txPacketsPushed; - - /* RX stats */ - uint32 rxBytesRcvd; - uint32 rxPacketsRcvd; - uint32 rxTimeTotal; -} tStaStatsClassB, *tpStaStatsClassB; - -typedef PACKED_PRE struct PACKED_POST { - - /* Duration over which this stats was collected */ - tANI_U32 duration; - - /* Per STA Stats */ - tStaStatsClassB staStatsClassB[HAL_NUM_STA]; -} tStatsClassBIndParams, *tpStatsClassBIndParams; - -typedef PACKED_PRE struct PACKED_POST { - - tHalMsgHeader header; - - /* Class B Stats */ - tStatsClassBIndParams statsClassBIndParams; -} tStatsClassBInd, *tpStatsClassBInd; - -/*Wifi Proximity paramters in AP mode*/ -#ifdef FEATURE_WIFI_PROXIMITY - -typedef PACKED_PRE struct PACKED_POST{ - - tANI_U8 wifiProximityChannel; - tANI_U32 wifiProximityDuration; - tANI_U32 wifiProximityInterval; - tANI_U32 wifiProximityMode; - tANI_U32 wifiProximityStatus; - tSirMacAddr bssId; - tSirMacSSid ssId; - -} tSetWifiProximityReqParam, *tpSetWifiProximityReqParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - tSetWifiProximityReqParam wifiProximityReqParams; - -}tSetWifiProximityReqMsg, *tpSetWifiProximityReqMsg; - -/*WLAN_HAL_WIFI_PROXIMITY_RSP*/ -typedef PACKED_PRE struct PACKED_POST{ - - tHalMsgHeader header; - - /*status of the request */ - tANI_U32 status; - -} tSetWifiProximityRspMsg, *tpSetWifiProxmityRspMsg; - -#endif - -#ifdef FEATURE_SPECULATIVE_PS_POLL -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SPECULATIVE_PS_POLLS_REQ - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - tANI_U16 serviceInterval; - tANI_U16 suspendInterval; - tANI_U8 acMask; -} tHalStartSpecPsPollReqParams, *tpHalStartSpecPsPollReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStartSpecPsPollReqParams specPsPollReq; -} tHalStartSpecPsPollReqMsg, *tpHalStartSpecPsPollReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SPECULATIVE_PS_POLLS_RSP - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - tANI_U8 bssIdx; -} tHalStartSpecPsPollRspParams, *tpHalStartSpecPsPollRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalStartSpecPsPollRspParams startSpecPsPollRspParams; -} tHalStartSpecPsPollRspMsg, *tpHalStartSpecPsPollRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STOP_SPECULATIVE_PS_POLLS_IND - *--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tANI_U8 bssIdx; -} tHalStopSpecPsPollsIndMsg, *tpHalStopSpecPsPollsIndMsg; -#endif - -#ifdef FEATURE_WLAN_TDLS -#define HAL_MAX_SUPP_CHANNELS 128 -#define HAL_MAX_SUPP_OPER_CLASSES 32 -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_ESTABLISHED_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; - - /* if this is 1, self is initiator and peer is reponder */ - tANI_U8 bIsResponder; - - /* QoS Info */ - tANI_U8 acVOUAPSDFlag:1; - tANI_U8 acVIUAPSDFlag:1; - tANI_U8 acBKUAPSDFlag:1; - tANI_U8 acBEUAPSDFlag:1; - tANI_U8 aAck:1; - tANI_U8 maxServicePeriodLength:2; - tANI_U8 moreDataAck:1; - - /*TDLS Peer U-APSD Buffer STA Support*/ - tANI_U8 TPUBufferStaSupport; - - /*TDLS off channel related params */ - tANI_U8 tdlsOffChannelSupport; - tANI_U8 peerCurrOperClass; - tANI_U8 selfCurrOperClass; - tANI_U8 validChannelsLen; - tANI_U8 validChannels[HAL_MAX_SUPP_CHANNELS]; - tANI_U8 validOperClassesLen; - tANI_U8 validOperClasses[HAL_MAX_SUPP_OPER_CLASSES]; -}tTDLSLinkEstablishedType, *tpTDLSLinkEstablishedType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkEstablishedType tdlsLinkEstablishedParams; -} tTDLSLinkEstablishedReqMsg, *tpTDLSLinkEstablishedReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_ESTABLISHED_RSP - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - - /*STA Index*/ - tANI_U16 staIdx; -} tTDLSLinkEstablishedResp, *tpTDLSLinkEstablishedResp; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkEstablishedResp TDLSLinkEstablishedRespParams; -} tTDLSLinkEstablishedRespMsg, *tpTDLSLinkEstablishedRespMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_TEARDOWN_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /*STA Index*/ - tANI_U16 staIdx; -}tTDLSLinkTeardownType, *tpTDLSLinkTeardownType; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkTeardownType tdlsLinkTeardownParams; -} tTDLSLinkTeardownReqMsg, *tpTDLSLinkTeardownReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_TDLS_LINK_TEARDOWN_RSP - *-------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; - - /*STA Index*/ - tANI_U16 staIdx; -} tTDLSLinkTeardownResp, *tpTDLSLinkTeardownResp; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTDLSLinkTeardownResp TDLSLinkTeardownRespParams; -} tTDLSLinkTeardownRespMsg, *tpTDLSLinkTeardownRespMsg; - -/*--------------------------------------------------------------------------- - *WLAN_HAL_TDLS_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 assocId; - tANI_U16 staIdx; - tANI_U16 status; - tANI_U16 reasonCode; -}tTdlsIndParams, *tpTdlsIndParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTdlsIndParams tdlsIndParams; -}tTdlsIndMsg, *tpTdlsIndMsg; - -#endif - -/*--------------------------------------------------------------------------- - *WLAN_HAL_IBSS_PEER_INACTIVITY_IND - *--------------------------------------------------------------------------*/ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; - tANI_U8 staIdx; - tSirMacAddr staAddr; -}tIbssPeerInactivityIndParams, *tpIbssPeerInactivityIndParams; - - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tIbssPeerInactivityIndParams ibssPeerInactivityIndParams; -}tIbssPeerInactivityIndMsg, *tpIbssPeerInactivityIndMsg; - - -/*********** Scan Offload Related Structures *************/ -#define HAL_NUM_SCAN_SSID 10 -#define HAL_NUM_SCAN_BSSID 4 - -/* - * Enumetation to indicate scan type (active/passive) - */ -typedef enum -{ - eSIR_PASSIVE_SCAN, - eSIR_ACTIVE_SCAN = WLAN_HAL_MAX_ENUM_SIZE, -} tSirScanType; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 numBssid; - tSirMacAddr bssid[HAL_NUM_SCAN_BSSID]; - tANI_U8 numSsid; - tSirMacSSid ssid[HAL_NUM_SCAN_SSID]; - tANI_BOOLEAN hiddenSsid; - tSirMacAddr selfMacAddr; - tSirBssType bssType; - tSirScanType scanType; - tANI_U32 minChannelTime; - tANI_U32 maxChannelTime; - tANI_BOOLEAN p2pSearch; - tANI_U8 channelCount; - tANI_U8 channels[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; - tANI_U16 ieFieldLen; - tANI_U8 ieField[1]; -}tScanOffloadReqType, *tpScanOffloadReqType; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SCAN_OFFLOAD_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tScanOffloadReqType scanOffloadParams; -} tHalStartScanOffloadReqMsg, *tpHalStartScanOffloadReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_START_SCAN_OFFLOAD_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /*status of the request - just to indicate SO has acknowledged - * * the request and will start scanning*/ - tANI_U32 status; -} tHalStartScanOffloadRspMsg, *tpHalStartScanOffloadRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STOP_SCAN_OFFLOAD_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; -} tHalStopScanOffloadReqMsg, *tpHalStopScanOffloadReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_STOP_SCAN_OFFLOAD_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /*status of the request - just to indicate SO has acknowledged - the request and will start scanning*/ - tANI_U32 status; -} tHalStopScanOffloadRspMsg, *tpHalStopScanOffloadRspMsg; - -/* - * Enumetation of scan events indicated by firmware to the host - */ -typedef enum -{ - WLAN_HAL_SCAN_EVENT_STARTED = 0x1, /* Scan command accepted by FW */ - WLAN_HAL_SCAN_EVENT_COMPLETED = 0x2, /* Scan has been completed by FW */ - WLAN_HAL_SCAN_EVENT_BSS_CHANNEL = 0x4, /* FW is going to move to HOME channel */ - WLAN_HAL_SCAN_EVENT_FOREIGN_CHANNEL = 0x8,/* FW is going to move to FORIEGN channel */ - WLAN_HAL_SCAN_EVENT_DEQUEUED = 0x10, /* scan request got dequeued */ - WLAN_HAL_SCAN_EVENT_PREEMPTED = 0x20, /* preempted by other high priority scan */ - WLAN_HAL_SCAN_EVENT_START_FAILED = 0x40, /* scan start failed */ - WLAN_HAL_SCAN_EVENT_RESTARTED = 0x80, /*scan restarted*/ - WLAN_HAL_SCAN_EVENT_MAX = WLAN_HAL_MAX_ENUM_SIZE -} tScanEventType; - -typedef PACKED_PRE struct PACKED_POST -{ - tScanEventType event; - tANI_U32 channel; - tANI_U32 scanId; -} tScanOffloadEventInfo; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_OFFLOAD_SCAN_EVENT_IND - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tScanOffloadEventInfo scanOffloadInd; -} tHalScanOffloadIndMsg, *tpHalScanOffloadIndMsg; - -typedef PACKED_PRE struct PACKED_POST { - /** primary 20 MHz channel frequency in mhz */ - tANI_U32 mhz; - /** Center frequency 1 in MHz*/ - tANI_U32 band_center_freq1; - /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/ - tANI_U32 band_center_freq2; - /* The first 26 bits are a bit mask to indicate any channel flags, - (see WLAN_HAL_CHAN_FLAG*) - The last 6 bits indicate the mode (see tChannelPhyModeType)*/ - tANI_U32 channel_info; - /** contains min power, max power, reg power and reg class id. */ - tANI_U32 reg_info_1; - /** contains antennamax */ - tANI_U32 reg_info_2; -} tUpdateChannelParam; - - -typedef enum { - WLAN_HAL_MODE_11A = 0, /* 11a Mode */ - WLAN_HAL_MODE_11G = 1, /* 11b/g Mode */ - WLAN_HAL_MODE_11B = 2, /* 11b Mode */ - WLAN_HAL_MODE_11GONLY = 3, /* 11g only Mode */ - WLAN_HAL_MODE_11NA_HT20 = 4, /* 11a HT20 mode */ - WLAN_HAL_MODE_11NG_HT20 = 5, /* 11g HT20 mode */ - WLAN_HAL_MODE_11NA_HT40 = 6, /* 11a HT40 mode */ - WLAN_HAL_MODE_11NG_HT40 = 7, /* 11g HT40 mode */ - WLAN_HAL_MODE_11AC_VHT20 = 8, - WLAN_HAL_MODE_11AC_VHT40 = 9, - WLAN_HAL_MODE_11AC_VHT80 = 10, - WLAN_HAL_MODE_11AC_VHT20_2G = 11, - WLAN_HAL_MODE_11AC_VHT40_2G = 12, - WLAN_HAL_MODE_11AC_VHT80_2G = 13, - WLAN_HAL_MODE_UNKNOWN = 14, - -} tChannelPhyModeType; - -#define WLAN_HAL_CHAN_FLAG_HT40_PLUS 6 -#define WLAN_HAL_CHAN_FLAG_PASSIVE 7 -#define WLAN_HAL_CHAN_ADHOC_ALLOWED 8 -#define WLAN_HAL_CHAN_AP_DISABLED 9 -#define WLAN_HAL_CHAN_FLAG_DFS 10 -#define WLAN_HAL_CHAN_FLAG_ALLOW_HT 11 /* HT is allowed on this channel */ -#define WLAN_HAL_CHAN_FLAG_ALLOW_VHT 12 /* VHT is allowed on this channel */ - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 numChan; - tUpdateChannelParam chanParam[WLAN_HAL_ROAM_SCAN_MAX_CHANNELS]; -} tUpdateChannelReqType; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_CHANNEL_LIST_REQ - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tUpdateChannelReqType updateChannelParams; -} tHalUpdateChannelReqMsg, *tpHalUpdateChannelReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_UPDATE_CHANNEL_LIST_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - - /*status of the request - just to indicate SO has acknowledged - * * the request and will start scanning*/ - tANI_U32 status; -} tHalUpdateChannelRspMsg, *tpHalUpdateChannelRspMsg; - - -/*--------------------------------------------------------------------------- - * WLAN_HAL_LBP_LEADER_REQ - *-------------------------------------------------------------------------*/ - -/* Maximum number of RMCAST sessions in each role (transmitter or Leader) */ -#define HAL_MAX_RMCAST_SESSIONS 2 - -/* Maximum number of leaders in blacklist or candidate leader list */ -#define HAL_NUM_MAX_LEADERS 8 - -typedef enum -{ - WLAN_HAL_SUGGEST_LEADER, - WLAN_HAL_BECOME_LEADER, - WLAN_HAL_LEADER_CMD_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tLeaderReqCmdType, tLeaderRspCmdType; - -typedef PACKED_PRE struct PACKED_POST -{ - tLeaderReqCmdType cmd; - - /* MAC address of MCAST Transmitter (source) */ - tSirMacAddr mcastTransmitter; - - /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */ - tSirMacAddr mcastGroup; - - /* Optional black list for cmd = WLAN_HAL_SUGGEST_LEADER */ - tSirMacAddr blacklist[HAL_NUM_MAX_LEADERS]; -} tHalLbpLeaderReqParams, *tpHalLbpLeaderReqParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLbpLeaderReqParams leaderReqParams; -} tHalLbpLeaderReqMsg, *tpHalLbpLeaderReqMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_LBP_LEADER_RSP - *-------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - /* success or failure */ - tANI_U32 status; - - /* Command Type */ - tLeaderRspCmdType cmd; - - /* MAC address of MCAST Transmitter (source) */ - tSirMacAddr mcastTransmitter; - - /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */ - tSirMacAddr mcastGroup; - - /* List of candidates for cmd = WLAN_HAL_SUGGEST_LEADER*/ - tSirMacAddr leader[HAL_NUM_MAX_LEADERS]; - -} tHalLbpLeaderRspParams, *tpHalLbpLeaderRspParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLbpLeaderRspParams leaderRspParams; -} tHalLbpLeaderRspMsg, *tpHalLbpLeaderRspMsg; - -/*--------------------------------------------------------------------------- - * WLAN_HAL_LBP_UPDATE_IND - *-------------------------------------------------------------------------*/ -typedef enum -{ - WLAN_HAL_LEADER_ACCEPTED, //Host-->FW - WLAN_HAL_LEADER_CANCELED, //Host-->FW - WLAN_HAL_LEADER_PICK_NEW, //FW-->Host - WLAN_HAL_LEADER_IND_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tLbpUpdateIndType; - -typedef enum -{ - WLAN_HAL_LBP_LEADER_ROLE, - WLAN_HAL_LBP_TRANSMITTER_ROLE, - WLAN_HAL_LBP_ROLE_MAX = WLAN_HAL_MAX_ENUM_SIZE -}tLbpRoleType; - -typedef PACKED_PRE struct PACKED_POST -{ - tLbpUpdateIndType indication; - - /* Role of the entity generating this indication */ - tLbpRoleType role; - - /* MAC address of MCAST Transmitter (source) */ - tSirMacAddr mcastTransmitter; - - /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */ - tSirMacAddr mcastGroup; - - /* MAC address of MCAST Receiver Leader */ - tSirMacAddr mcastLeader; - - /* Candidate list for indication = WLAN_HAL_LEADER_PICK_NEW */ - tSirMacAddr leader[HAL_NUM_MAX_LEADERS]; -} tHalLbpUpdateIndParams, *tpHalLbpUpdateIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalLbpUpdateIndParams leaderIndParams; -} tHalLbpUpdateInd, *tpHalLbpUpdateInd; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 staIdx; // Station Idx; - tANI_U32 txRate; // Legacy transmit rate, in units of 500 kbit/sec, - // for the most recently transmitted frame - tANI_U32 mcsIndex; // mcs index for HT20 and HT40 rates - tANI_U32 txRateFlags; // to differentiate between HT20 and - // HT40 rates; short and long guard interval - tANI_S8 rssi; // RSSI of the last received beacon -}tHalIbssPeerParams, *tpHalIbssPeerParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 status; // success or failure - tANI_U8 numOfPeers; // Number of Peers for - // which stats are being reported - tHalIbssPeerParams ibssPeerParams[1]; // Stats of peer in IBSS -}tHalIbssPeerInfoRspParams, *tpHalIbssPeerInfoRspParams; - -// WLAN_HAL_GET_IBSS_PEER_INFO_RSP -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalIbssPeerInfoRspParams ibssPeerInfoRspParams; -}tHalIbssPeerInfoRsp, *tpHalIbssPeerInfoRsp; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 bssIdx; // Bss Index - tANI_BOOLEAN allPeerInfoReqd; // If set, all IBSS peers stats are reported - tANI_U8 staIdx; // If allPeerInfoReqd is not set, - // only stats of peer with - // staIdx is reported -}tHalIbssPeerInfoReqParams, *tpHalIbssPeerInfoReqParams; - -// WLAN_HAL_GET_IBSS_PEER_INFO_REQ -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalIbssPeerInfoReqParams ibssPeerInfoReqParams; -}tHalIbssPeerInfoReq, *tpHalIbssPeerInfoReq; - -/*--------------------------------------------------------------------------- - WLAN_HAL_RATE_UPDATE_IND - *-------------------------------------------------------------------------*/ - typedef PACKED_PRE struct PACKED_POST -{ - /* 0 implies UCAST RA, positive value implies fixed rate, -1 implies ignore this param */ - tANI_S32 ucastDataRate; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags ucastDataRateTxFlag; - - /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */ - tSirMacAddr bssid; - - /* 0 implies MCAST RA, positive value implies fixed rate, -1 implies ignore */ - tANI_S32 reliableMcastDataRate; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags reliableMcastDataRateTxFlag; - - /* Default (non-reliable) MCAST(or BCAST) fixed rate in 2.4 GHz, 0 implies ignore */ - tANI_U32 mcastDataRate24GHz; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags mcastDataRate24GHzTxFlag; - - /* Default (non-reliable) MCAST(or BCAST) fixed rate in 5 GHz, 0 implies ignore */ - tANI_U32 mcastDataRate5GHz; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - tTxRateInfoFlags mcastDataRate5GHzTxFlag; - -} tHalRateUpdateParams, *tpHalRateUpdateParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalRateUpdateParams halRateUpdateParams; -} tHalRateUpdateInd, * tpHalRateUpdateInd; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_TX_FAIL_IND -*--------------------------------------------------------------------------*/ -// Northbound indication from FW to host on weak link detection -typedef PACKED_PRE struct PACKED_POST -{ - // Sequence number increases by 1 whenever the device driver - // sends a notification event. This is cleared as 0 when the - // JOIN IBSS commamd is issued - tANI_U16 seqNo; - tANI_U16 staId; - tANI_U8 macAddr[HAL_MAC_ADDR_LEN]; -} tHalTXFailIndParams, *tpHalTXFailIndParams; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tHalTXFailIndParams txFailIndParams; -} tHalTXFailIndMsg, *tpHalTXFailIndMsg; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_TX_FAIL_MONITOR_IND -*--------------------------------------------------------------------------*/ -// Southbound message from Host to monitor the Tx failures -typedef PACKED_PRE struct PACKED_POST -{ - // tx_fail_count = 0 should disable the TX Fail monitor, non-zero value should enable it. - tANI_U8 tx_fail_count; -} tTXFailMonitorInfo, *tpTXFailMonitorInfo; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tTXFailMonitorInfo txFailMonitor; -} tTXFailMonitorInd, *tpTXFailMonitorInd; - -/*--------------------------------------------------------------------------- -* WLAN_HAL_IP_FORWARD_TABLE_UPDATE_IND -*--------------------------------------------------------------------------*/ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 destIpv4Addr[HAL_IPV4_ADDR_LEN]; - tANI_U8 nextHopMacAddr[HAL_MAC_ADDR_LEN]; -} tDestIpNextHopMacPair; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 numEntries; - tDestIpNextHopMacPair destIpMacPair[1]; -} tWlanIpForwardTableUpdateIndParam; - -typedef PACKED_PRE struct PACKED_POST -{ - tHalMsgHeader header; - tWlanIpForwardTableUpdateIndParam ipForwardTableParams; -} tWlanIpForwardTableUpdateInd; - -/*--------------------------------------------------------------------------- - *-------------------------------------------------------------------------*/ - -#if defined(__ANI_COMPILER_PRAGMA_PACK_STACK) -#pragma pack(pop) -#elif defined(__ANI_COMPILER_PRAGMA_PACK) -#else -#endif - -#endif /* _WLAN_HAL_MSG_H_ */ - diff --git a/wcnss/riva/inc/wlan_nv.h b/wcnss/riva/inc/wlan_nv.h deleted file mode 100644 index 4ef15cdcd749..000000000000 --- a/wcnss/riva/inc/wlan_nv.h +++ /dev/null @@ -1,813 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/** ------------------------------------------------------------------------- * - ------------------------------------------------------------------------- * - - - \file wlan_nv.h - - \brief Types for NV implementation - Anything that needs to be publicly available should - be in this file - - $Id$ - - Copyright (C) 2006 Airgo Networks, Incorporated - - - ========================================================================== */ - -#if !defined( __WLAN_NV_H ) -#define __WLAN_NV_H - -#include "halLegacyPalTypes.h" -#include "halCompiler.h" - -//From HAL/inc/halNv.h -typedef enum -{ - //Common Nv Fields - NV_COMMON_PRODUCT_ID, // 0 - NV_COMMON_PRODUCT_BANDS, // 1 - NV_COMMON_NUM_OF_TX_CHAINS, // 2 - NV_COMMON_NUM_OF_RX_CHAINS, // 3 - NV_COMMON_MAC_ADDR, // 4 - NV_COMMON_MFG_SERIAL_NUMBER, // 5 - NV_COMMON_WLAN_NV_REV_ID, // 6 - NV_COMMON_COUPLER_TYPE, // 7 - NV_COMMON_NV_VERSION, // 8 - NV_COMMON_RESERVED, // 9 - - NUM_NV_FIELDS, - NV_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ - -}eNvField; - - -#define NV_FIELD_MAC_ADDR_SIZE 6 -#define NV_FIELD_MFG_SN_SIZE 40 -typedef enum -{ - PRODUCT_BAND_11_B_G = 0, //Gen6.0 is only this setting - PRODUCT_BAND_11_A_B_G = 1, - PRODUCT_BAND_11_A = 2, - - NUM_PRODUCT_BANDS, - NUM_PRODUCT_BANDS_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}eNvProductBands; //NV_COMMON_PRODUCT_BANDS - -#define EXTERNAL_PA 1 -#define INTERNAL_PA 0 - -#define EXTERNAL_LNA 1 -#define INTERNAL_LNA 0 - -#define EXTERNAL_COUPLER 1 -#define INTERNAL_COUPLER 0 - -#define EXTERNAL_PDET 1 -#define INTERNAL_PDET 0 - -#define DPD_ENABLED 1 -#define DPD_DISABLED 0 - -#define TPC_MODE_OPEN_LOOP 0 -#define TPC_MODE_SCPC 1 -#define TPC_MODE_CLPC_MODE2 2 -#define TPC_MODE_CLPC_MODE3 3 - -#define PA_POLARITY_TX_UNUSED 0 -#define PA_POLARITY_TX_POSITIVE 1 -#define PA_POLARITY_TX_NEGATIVE 2 -#define PA_POLARITY_RX_UNUSED 0 -#define PA_POLARITY_RX_POSITIVE 1 -#define PA_POLARITY_RX_NEGATIVE 2 - -#define NV_VERSION_INVALID 0xFF -#define NV_VERSION_11N_11AC_COUPER_TYPE 0 -#define NV_VERSION_11N_11AC_FW_CONFIG 1 -#define NV_VERSION_LPDC_FW_CONFIG 2 - -#ifdef WCN_PRONTO -#define WLAN_NV_VERSION NV_VERSION_LPDC_FW_CONFIG -#else //WCN_PRONTO -#define WLAN_NV_VERSION NV_VERSION_11N_11AC_FW_CONFIG -#endif //WCN_PRONTO - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 macAddr1[NV_FIELD_MAC_ADDR_SIZE]; /* Default, not change name for compatibility */ - uint8 macAddr2[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr3[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr4[NV_FIELD_MAC_ADDR_SIZE]; -} sMacAddr; - -typedef PACKED_PRE union PACKED_POST -{ - //common NV fields - uint16 productId; - uint8 productBands; - uint8 wlanNvRevId; - uint8 numOfTxChains; - uint8 numOfRxChains; - sMacAddr macAddr; - uint8 mfgSN[NV_FIELD_MFG_SN_SIZE]; - uint8 couplerType; - uint8 nvVersion; -} uNvFields; - - -//format of common part of nv -typedef PACKED_PRE struct PACKED_POST -{ - //always ensure fields are aligned to 32-bit boundaries - uint16 productId; - uint8 productBands; - uint8 wlanNvRevId; //0: WCN1312, 1: WCN1314, 2: WCN3660 - - uint8 numOfTxChains; - uint8 numOfRxChains; - uint8 macAddr[NV_FIELD_MAC_ADDR_SIZE]; /* Default, not change name for compatibility */ - uint8 macAddr2[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr3[NV_FIELD_MAC_ADDR_SIZE]; - uint8 macAddr4[NV_FIELD_MAC_ADDR_SIZE]; - uint8 mfgSN[NV_FIELD_MFG_SN_SIZE]; - uint8 couplerType; - uint8 nvVersion; -} sNvFields; - - -//From wlanfw/inc/halPhyTypes.h - -typedef int8 tPowerdBm; //power in signed 8-bit integer, no decimal places - -typedef PACKED_PRE union PACKED_POST -{ - uint32 measurement; //measured values can be passed to pttApi, but are maintained to 2 decimal places internally - int16 reported; //used internally only - reported values only maintain 2 decimals places -}uAbsPwrPrecision; - -typedef enum -{ - PHY_TX_CHAIN_0 = 0, - - NUM_PHY_MAX_TX_CHAINS = 1, - PHY_MAX_TX_CHAINS = NUM_PHY_MAX_TX_CHAINS, - PHY_ALL_TX_CHAINS, - - //possible tx chain combinations - PHY_NO_TX_CHAINS, - PHY_TX_CHAIN_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}ePhyTxChains; - -//From wlanfw/inc/halRfTypes.h - -typedef enum -{ - REG_DOMAIN_FCC, - REG_DOMAIN_ETSI, - REG_DOMAIN_JAPAN, - REG_DOMAIN_WORLD, - REG_DOMAIN_N_AMER_EXC_FCC, - REG_DOMAIN_APAC, - REG_DOMAIN_KOREA, - REG_DOMAIN_HI_5GHZ, - REG_DOMAIN_NO_5GHZ, - - NUM_REG_DOMAINS, - NUM_REG_DOMAINS_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}eRegDomainId; - -typedef enum -{ - RF_SUBBAND_2_4_GHZ = 0, - RF_SUBBAND_5_LOW_GHZ = 1, //Low & Mid U-NII - RF_SUBBAND_5_MID_GHZ = 2, //ETSI - RF_SUBBAND_5_HIGH_GHZ = 3, //High U-NII - RF_SUBBAND_4_9_GHZ = 4, //Japanese - - - NUM_RF_SUBBANDS, - - MAX_RF_SUBBANDS, - INVALID_RF_SUBBAND, - - RF_BAND_2_4_GHZ = 0, - RF_BAND_5_GHZ = 1, - NUM_RF_BANDS, - BOTH_RF_BANDS, - RF_SUBBAND_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -}eRfSubBand; - -typedef enum -{ - //2.4GHz Band - RF_CHAN_1 = 0, - RF_CHAN_2 = 1, - RF_CHAN_3 = 2, - RF_CHAN_4 = 3, - RF_CHAN_5 = 4, - RF_CHAN_6 = 5, - RF_CHAN_7 = 6, - RF_CHAN_8 = 7, - RF_CHAN_9 = 8, - RF_CHAN_10 = 9, - RF_CHAN_11 = 10, - RF_CHAN_12 = 11, - RF_CHAN_13 = 12, - RF_CHAN_14 = 13, - - //4.9GHz Band - RF_CHAN_240 = 14, - RF_CHAN_244 = 15, - RF_CHAN_248 = 16, - RF_CHAN_252 = 17, - RF_CHAN_208 = 18, - RF_CHAN_212 = 19, - RF_CHAN_216 = 20, - - //5GHz Low & Mid U-NII Band - RF_CHAN_36 = 21, - RF_CHAN_40 = 22, - RF_CHAN_44 = 23, - RF_CHAN_48 = 24, - RF_CHAN_52 = 25, - RF_CHAN_56 = 26, - RF_CHAN_60 = 27, - RF_CHAN_64 = 28, - - //5GHz Mid Band - ETSI & FCC - RF_CHAN_100 = 29, - RF_CHAN_104 = 30, - RF_CHAN_108 = 31, - RF_CHAN_112 = 32, - RF_CHAN_116 = 33, - RF_CHAN_120 = 34, - RF_CHAN_124 = 35, - RF_CHAN_128 = 36, - RF_CHAN_132 = 37, - RF_CHAN_136 = 38, - RF_CHAN_140 = 39, - - //5GHz High U-NII Band - RF_CHAN_149 = 40, - RF_CHAN_153 = 41, - RF_CHAN_157 = 42, - RF_CHAN_161 = 43, - RF_CHAN_165 = 44, - - //CHANNEL BONDED CHANNELS - RF_CHAN_BOND_3 = 45, - RF_CHAN_BOND_4 = 46, - RF_CHAN_BOND_5 = 47, - RF_CHAN_BOND_6 = 48, - RF_CHAN_BOND_7 = 49, - RF_CHAN_BOND_8 = 50, - RF_CHAN_BOND_9 = 51, - RF_CHAN_BOND_10 = 52, - RF_CHAN_BOND_11 = 53, - RF_CHAN_BOND_242 = 54, //4.9GHz Band - RF_CHAN_BOND_246 = 55, - RF_CHAN_BOND_250 = 56, - RF_CHAN_BOND_210 = 57, - RF_CHAN_BOND_214 = 58, - RF_CHAN_BOND_38 = 59, //5GHz Low & Mid U-NII Band - RF_CHAN_BOND_42 = 60, - RF_CHAN_BOND_46 = 61, - RF_CHAN_BOND_50 = 62, - RF_CHAN_BOND_54 = 63, - RF_CHAN_BOND_58 = 64, - RF_CHAN_BOND_62 = 65, - RF_CHAN_BOND_102 = 66, //5GHz Mid Band - ETSI & FCC - RF_CHAN_BOND_106 = 67, - RF_CHAN_BOND_110 = 68, - RF_CHAN_BOND_114 = 69, - RF_CHAN_BOND_118 = 70, - RF_CHAN_BOND_122 = 71, - RF_CHAN_BOND_126 = 72, - RF_CHAN_BOND_130 = 73, - RF_CHAN_BOND_134 = 74, - RF_CHAN_BOND_138 = 75, - RF_CHAN_BOND_151 = 76, //5GHz High U-NII Band - RF_CHAN_BOND_155 = 77, - RF_CHAN_BOND_159 = 78, - RF_CHAN_BOND_163 = 79, - - NUM_RF_CHANNELS, - - MIN_2_4GHZ_CHANNEL = RF_CHAN_1, - MAX_2_4GHZ_CHANNEL = RF_CHAN_14, - - MIN_5GHZ_CHANNEL = RF_CHAN_240, - MAX_5GHZ_CHANNEL = RF_CHAN_165, - NUM_5GHZ_CHANNELS = (MAX_5GHZ_CHANNEL - MIN_5GHZ_CHANNEL + 1), - - MIN_20MHZ_RF_CHANNEL = RF_CHAN_1, - MAX_20MHZ_RF_CHANNEL = RF_CHAN_165, - NUM_20MHZ_RF_CHANNELS = (MAX_20MHZ_RF_CHANNEL - MIN_20MHZ_RF_CHANNEL + 1), - - MIN_40MHZ_RF_CHANNEL = RF_CHAN_BOND_3, - MAX_40MHZ_RF_CHANNEL = RF_CHAN_BOND_163, - NUM_40MHZ_RF_CHANNELS = (MAX_40MHZ_RF_CHANNEL - MIN_40MHZ_RF_CHANNEL + 1), - - MIN_CB_2_4GHZ_CHANNEL = RF_CHAN_BOND_3, - MAX_CB_2_4GHZ_CHANNEL = RF_CHAN_BOND_11, - - MIN_CB_5GHZ_CHANNEL = RF_CHAN_BOND_242, - MAX_CB_5GHZ_CHANNEL = RF_CHAN_BOND_163, - - NUM_TPC_2_4GHZ_CHANNELS = 14, - NUM_TPC_5GHZ_CHANNELS = NUM_5GHZ_CHANNELS, - - INVALID_RF_CHANNEL = 0xBAD, - RF_CHANNEL_INVALID_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ -}eRfChannels; - -typedef enum -{ - RF_CHAN_1_1 = RF_CHAN_1, - RF_CHAN_2_1 = RF_CHAN_2, - RF_CHAN_3_1 = RF_CHAN_3, - RF_CHAN_4_1 = RF_CHAN_4, - RF_CHAN_5_1 = RF_CHAN_5, - RF_CHAN_6_1 = RF_CHAN_6, - RF_CHAN_7_1 = RF_CHAN_7, - RF_CHAN_8_1 = RF_CHAN_8, - RF_CHAN_9_1 = RF_CHAN_9, - RF_CHAN_10_1 = RF_CHAN_10, - RF_CHAN_11_1 = RF_CHAN_11, - RF_CHAN_12_1 = RF_CHAN_12, - RF_CHAN_13_1 = RF_CHAN_13, - RF_CHAN_14_1 = RF_CHAN_14, -// The above params are used for scripts. - NUM_2_4GHZ_CHANNELS, -}eRfChannels_2_4GHz; - -enum -{ - NV_CHANNEL_DISABLE, - NV_CHANNEL_ENABLE, - NV_CHANNEL_DFS, - NV_CHANNEL_INVALID -}; -typedef uint8 eNVChannelEnabledType; - -typedef PACKED_PRE struct PACKED_POST -{ - eNVChannelEnabledType enabled; - tPowerdBm pwrLimit; -}sRegulatoryChannel; - -typedef PACKED_PRE struct PACKED_POST -{ - sRegulatoryChannel channels[NUM_RF_CHANNELS]; - uAbsPwrPrecision antennaGain[NUM_RF_SUBBANDS]; - uAbsPwrPrecision bRatePowerOffset[NUM_2_4GHZ_CHANNELS]; - uAbsPwrPrecision gnRatePowerOffset[NUM_RF_CHANNELS]; -}ALIGN_4 sRegulatoryDomains; - -typedef PACKED_PRE struct PACKED_POST -{ - int16 bRssiOffset[NUM_RF_CHANNELS]; - int16 gnRssiOffset[NUM_RF_CHANNELS]; -}ALIGN_4 sRssiChannelOffsets; - -typedef PACKED_PRE struct PACKED_POST -{ - uint16 targetFreq; //number in MHz - uint16 channelNum; //channel number as in the eRfChannels enumeration - eRfSubBand band; //band that this channel belongs to -}tRfChannelProps; - -typedef enum -{ - MODE_802_11B = 0, - MODE_802_11AG = 1, - MODE_802_11N = 2, - NUM_802_11_MODES, - MODE_802_11_INVALID = 0x7FFFFFFF /* define as 4 bytes data */ -} e80211Modes; - -#define HW_CAL_VALUES_VALID_BMAP_UNUSED 0 //Value -//Bit mask -#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_2G_MASK 0x1 -#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_5G_MASK 0x2 -#define HW_VAL_VALUES_VALID_BMAP_SLEEP_TIME_OVERHEAD_xLNA_5G_MASK 0x4 -#define HW_VAL_VALUES_VALID_TXBBF_SEL_9MHZ_MASK 0x8 -#define HW_VAL_VALUES_VALID_CUSTOM_TCXO_REG8_MASK 0x10 -#define HW_VAL_VALUES_VALID_CUSTOM_TCXO_REG9_MASK 0x20 - - -//From wlanfw/inc/halPhyCalMemory.h -typedef PACKED_PRE struct PACKED_POST -{ - uint16 psSlpTimeOvrHd2G; - uint16 psSlpTimeOvrHd5G; - - uint16 psSlpTimeOvrHdxLNA5G; - uint8 nv_TxBBFSel9MHz : 1; - uint8 hwParam1 : 7; - uint8 hwParam2; - - uint16 custom_tcxo_reg8; - uint16 custom_tcxo_reg9; - - uint32 hwParam3; - uint32 hwParam4; - uint32 hwParam5; - uint32 hwParam6; - uint32 hwParam7; - uint32 hwParam8; - uint32 hwParam9; - uint32 hwParam10; - uint32 hwParam11; -}sCalData; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 validBmap; //use eNvCalID - sCalData calData; -}sHwCalValues; - -typedef PACKED_PRE struct PACKED_POST -{ - uint32 txFirFilterMode; -}sTxBbFilterMode; - -typedef PACKED_PRE struct PACKED_POST -{ - int16 ofdmPwrOffset; - int16 rsvd; -}sOfdmCmdPwrOffset; - -//From wlanfw/inc/halPhyCfg.h -typedef uint8 tTpcLutValue; - -#define MAX_TPC_CAL_POINTS (8) - -typedef uint8 tPowerDetect; //7-bit power detect reading - -typedef PACKED_PRE struct PACKED_POST -{ - tPowerDetect pwrDetAdc; //= SENSED_PWR register, which reports the 8-bit ADC - // the stored ADC value gets shifted to 7-bits as the index to the LUT - tPowerDetect adjustedPwrDet; //7-bit value that goes into the LUT at the LUT[pwrDet] location - //MSB set if extraPrecision.hi8_adjustedPwrDet is used -}tTpcCaldPowerPoint; - -typedef tTpcCaldPowerPoint tTpcCaldPowerTable[NUM_PHY_MAX_TX_CHAINS][MAX_TPC_CAL_POINTS]; - -typedef PACKED_PRE struct PACKED_POST -{ - tTpcCaldPowerTable empirical; //calibrated power points -}tTpcConfig; - -//From wlanfw/inc/phyTxPower.h -#ifndef TPC_MEM_POWER_LUT_DEPTH -#define TPC_MEM_POWER_LUT_DEPTH 256 -#endif - -typedef tTpcLutValue tTpcPowerTable[NUM_PHY_MAX_TX_CHAINS][TPC_MEM_POWER_LUT_DEPTH]; - -typedef PACKED_PRE struct PACKED_POST -{ - tTpcConfig *pwrSampled; //points to CLPC data in calMemory -}tPhyTxPowerBand; - -//From halPhyRates.h -typedef enum -{ - //802.11b Rates - HAL_PHY_RATE_11B_LONG_1_MBPS, - HAL_PHY_RATE_11B_LONG_2_MBPS, - HAL_PHY_RATE_11B_LONG_5_5_MBPS, - HAL_PHY_RATE_11B_LONG_11_MBPS, - HAL_PHY_RATE_11B_SHORT_2_MBPS, - HAL_PHY_RATE_11B_SHORT_5_5_MBPS, - HAL_PHY_RATE_11B_SHORT_11_MBPS, - - //Spica_Virgo 11A 20MHz Rates - HAL_PHY_RATE_11A_6_MBPS, - HAL_PHY_RATE_11A_9_MBPS, - HAL_PHY_RATE_11A_12_MBPS, - HAL_PHY_RATE_11A_18_MBPS, - HAL_PHY_RATE_11A_24_MBPS, - HAL_PHY_RATE_11A_36_MBPS, - HAL_PHY_RATE_11A_48_MBPS, - HAL_PHY_RATE_11A_54_MBPS, - - // 11A 20MHz Rates - HAL_PHY_RATE_11A_DUP_6_MBPS, - HAL_PHY_RATE_11A_DUP_9_MBPS, - HAL_PHY_RATE_11A_DUP_12_MBPS, - HAL_PHY_RATE_11A_DUP_18_MBPS, - HAL_PHY_RATE_11A_DUP_24_MBPS, - HAL_PHY_RATE_11A_DUP_36_MBPS, - HAL_PHY_RATE_11A_DUP_48_MBPS, - HAL_PHY_RATE_11A_DUP_54_MBPS, - - //MCS Index #0-7 (20/40MHz) - HAL_PHY_RATE_MCS_1NSS_6_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_13_MBPS, - HAL_PHY_RATE_MCS_1NSS_19_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_26_MBPS, - HAL_PHY_RATE_MCS_1NSS_39_MBPS, - HAL_PHY_RATE_MCS_1NSS_52_MBPS, - HAL_PHY_RATE_MCS_1NSS_58_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_65_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_7_2_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_14_4_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_21_7_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_28_9_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_43_3_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_57_8_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_65_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_72_2_MBPS, - - //MCS Index #8-15 (20/40MHz) - HAL_PHY_RATE_MCS_1NSS_CB_13_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_27_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_40_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_54_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_81_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_108_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_121_5_MBPS, - HAL_PHY_RATE_MCS_1NSS_CB_135_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_15_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_30_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_45_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_60_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_90_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_120_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_135_MBPS, - HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_150_MBPS, - -#ifdef WLAN_FEATURE_11AC - /*11A duplicate 80MHz Rates*/ - HAL_PHY_RATE_11AC_DUP_6_MBPS, - HAL_PHY_RATE_11AC_DUP_9_MBPS, - HAL_PHY_RATE_11AC_DUP_12_MBPS, - HAL_PHY_RATE_11AC_DUP_18_MBPS, - HAL_PHY_RATE_11AC_DUP_24_MBPS, - HAL_PHY_RATE_11AC_DUP_36_MBPS, - HAL_PHY_RATE_11AC_DUP_48_MBPS, - HAL_PHY_RATE_11AC_DUP_54_MBPS, - - /*11AC rate 20MHZ Normal GI*/ - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_6_5_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_13_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_19_5_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_26_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_39_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_52_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_58_5_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_65_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_78_MBPS, -#ifdef WCN_PRONTO - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_86_5_MBPS, -#endif - - /*11AC rate 20MHZ Shortl GI*/ - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_7_2_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_14_4_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_21_6_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_28_8_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_43_3_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_57_7_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_65_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_72_2_MBPS, - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_86_6_MBPS, -#ifdef WCN_PRONTO - HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_96_1_MBPS, -#endif - - /*11AC rates 40MHZ normal GI*/ - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_13_5_MBPS , - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_27_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_40_5_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_54_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_81_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_108_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_121_5_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_135_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_162_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_180_MBPS, - - /*11AC rates 40MHZ short GI*/ - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_15_MBPS , - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_30_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_45_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_60_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_90_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_120_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_135_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_150_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_180_MBPS, - HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_200_MBPS, - - /*11AC rates 80 MHZ normal GI*/ - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_29_3_MBPS , - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_58_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_87_8_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_117_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_175_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_234_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_263_3_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_292_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_351_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_390_MBPS, - - /*11AC rates 80 MHZ short GI*/ - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_32_5_MBPS , - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_65_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_97_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_130_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_195_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_260_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_292_5_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_325_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_390_MBPS, - HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_433_3_MBPS, -#endif //WLAN_FEATURE_11AC - - NUM_HAL_PHY_RATES, - HAL_PHY_RATE_INVALID, - MIN_RATE_INDEX = 0, - MAX_RATE_INDEX = NUM_HAL_PHY_RATES - 1, - HAL_PHY_RATE_INVALID_MAX_FIELD = 0x7FFFFFFF /* define as 4 bytes data */ -}eHalPhyRates; - -#define NUM_RATE_POWER_GROUPS NUM_HAL_PHY_RATES //total number of rate power groups including the CB_RATE_POWER_OFFSET -typedef uAbsPwrPrecision tRateGroupPwr[NUM_HAL_PHY_RATES]; - -//From halNvTables.h -#define NV_FIELD_COUNTRY_CODE_SIZE 3 -typedef PACKED_PRE struct PACKED_POST -{ - uint8 regDomain; //from eRegDomainId - uint8 countryCode[NV_FIELD_COUNTRY_CODE_SIZE]; // string identifier -}sDefaultCountry; - - -#define GF_PA_BIAS_SELECT_MASK 0X7 //(3 bits) -#define TSMC_PA_BIAS_SELECT_MASK 0x7 //(3 bits) - -#define GF_PA_BIAS_SELECT_1 0X0 -#define GF_PA_BIAS_SELECT_2 0X1 - -#define TSMC_PA_BIAS_SELECT_1 0X0 -#define TSMC_PA_BIAS_SELECT_2 0X1 -#define TSMC_PA_BIAS_SELECT_3 0x2 - - -#define EXT_PA_CTRL_POLARITY_DEFAULT 0X0 -#define EXT_PA_CTRL_POLARITY_VALID 0X80 - -#define EXT_PA_CTRL0_POLARITY_MASK 0X3 -#define EXT_PA_CTRL0_POLARITY_OFFSET 0X0 -#define EXT_PA_CTRL1_POLARITY_MASK 0XC -#define EXT_PA_CTRL1_POLARITY_OFFSET 0X2 - -#define EXT_PA_CTRL_POLARITY_ZERO 0X1 -#define EXT_PA_CTRL_POLARITY_ONE 0X2 - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 skuID; - uint8 tpcMode2G; - uint8 tpcMode5G; - uint8 configItem1; - - uint8 xPA2G; - uint8 xPA5G; - uint8 extPaCtrl0Polarity; - uint8 extPaCtrl1Polarity; - - uint8 xLNA2G; - uint8 xLNA5G; - uint8 xCoupler2G; - uint8 xCoupler5G; - - uint8 xPdet2G; - uint8 xPdet5G; - uint8 enableDPD2G; - uint8 enableDPD5G; - - uint8 pdadcSelect2G; - uint8 pdadcSelect5GLow; - uint8 pdadcSelect5GMid; - uint8 pdadcSelect5GHigh; - - uint32 configItem2; - uint32 configItem3; - uint32 configItem4; -}sFwConfig; - - -#define NUM_RF_VR_RATE 13 -typedef uAbsPwrPrecision tRateGroupPwrVR[NUM_RF_VR_RATE]; - -typedef PACKED_PRE union PACKED_POST -{ - tRateGroupPwr pwrOptimum[NUM_RF_SUBBANDS]; // NV_TABLE_RATE_POWER_SETTINGS - sRegulatoryDomains regDomains[NUM_REG_DOMAINS]; // NV_TABLE_REGULATORY_DOMAINS - sDefaultCountry defaultCountryTable; // NV_TABLE_DEFAULT_COUNTRY - tTpcPowerTable plutCharacterized[NUM_RF_CHANNELS]; // NV_TABLE_TPC_POWER_TABLE - int16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS - tRateGroupPwrVR pwrOptimum_virtualRate[NUM_RF_SUBBANDS]; // NV_TABLE_VIRTUAL_RATE - sFwConfig fwConfig; // NV_TABLE_FW_CONFIG - sRssiChannelOffsets rssiChanOffsets[2]; // NV_TABLE_RSSI_CHANNEL_OFFSETS - sHwCalValues hwCalValues; // NV_TABLE_HW_CAL_VALUES - int16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS - int16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS - sOfdmCmdPwrOffset ofdmCmdPwrOffset; // NV_TABLE_OFDM_CMD_PWR_OFFSET - sTxBbFilterMode txbbFilterMode; // NV_TABLE_TX_BB_FILTER_MODE -}ALIGN_4 uNvTables; - -//From halPhy.h -typedef tPowerdBm tChannelPwrLimit; - -typedef PACKED_PRE struct PACKED_POST -{ - uint8 chanId; - tChannelPwrLimit pwr; -} ALIGN_4 tChannelListWithPower; - -//From HAL/inc/halNvTables.h -typedef enum -{ - NV_FIELDS_IMAGE = 0, //contains all fields - - NV_TABLE_RATE_POWER_SETTINGS = 2, - NV_TABLE_REGULATORY_DOMAINS = 3, - NV_TABLE_DEFAULT_COUNTRY = 4, - NV_TABLE_TPC_POWER_TABLE = 5, - NV_TABLE_TPC_PDADC_OFFSETS = 6, - NV_TABLE_HW_CAL_VALUES = 7, - NV_TABLE_RSSI_CHANNEL_OFFSETS = 9, - NV_TABLE_CAL_MEMORY = 10, //cal memory structure from halPhyCalMemory.h preceded by status - NV_TABLE_FW_CONFIG = 11, - NV_TABLE_ANTENNA_PATH_LOSS = 12, - NV_TABLE_PACKET_TYPE_POWER_LIMITS = 13, - NV_TABLE_OFDM_CMD_PWR_OFFSET = 14, - NV_TABLE_TX_BB_FILTER_MODE = 15, - NV_TABLE_VIRTUAL_RATE = 18, - - NUM_NV_TABLE_IDS, - NV_ALL_TABLES = 0xFFF, - NV_BINARY_IMAGE = 0x1000, - NV_MAX_TABLE = 0x7FFFFFFF /* define as 4 bytes data */ -}eNvTable; - -typedef PACKED_PRE struct PACKED_POST -{ - tRateGroupPwr pwrOptimum[NUM_RF_SUBBANDS]; // NV_TABLE_RATE_POWER_SETTINGS - sRegulatoryDomains regDomains[NUM_REG_DOMAINS]; // NV_TABLE_REGULATORY_DOMAINS - sDefaultCountry defaultCountryTable; // NV_TABLE_DEFAULT_COUNTRY - tTpcPowerTable plutCharacterized[NUM_RF_CHANNELS]; // NV_TABLE_TPC_POWER_TABLE - int16 plutPdadcOffset[NUM_RF_CHANNELS]; // NV_TABLE_TPC_PDADC_OFFSETS - tRateGroupPwrVR pwrOptimum_virtualRate[NUM_RF_SUBBANDS]; // NV_TABLE_VIRTUAL_RATE - sFwConfig fwConfig; // NV_TABLE_FW_CONFIG - sRssiChannelOffsets rssiChanOffsets[2]; // NV_TABLE_RSSI_CHANNEL_OFFSETS - sHwCalValues hwCalValues; // NV_TABLE_HW_CAL_VALUES - int16 antennaPathLoss[NUM_RF_CHANNELS]; // NV_TABLE_ANTENNA_PATH_LOSS - int16 pktTypePwrLimits[NUM_802_11_MODES][NUM_RF_CHANNELS]; // NV_TABLE_PACKET_TYPE_POWER_LIMITS - sOfdmCmdPwrOffset ofdmCmdPwrOffset; // NV_TABLE_OFDM_CMD_PWR_OFFSET - sTxBbFilterMode txbbFilterMode; // NV_TABLE_TX_BB_FILTER_MODE -}ALIGN_4 sNvTables; - -typedef PACKED_PRE struct PACKED_POST -{ - sNvFields fields; - sNvTables tables; -}ALIGN_4 sHalNv; - -extern const sHalNv nvDefaults; - -#endif - diff --git a/wcnss/riva/inc/wlan_phy.h b/wcnss/riva/inc/wlan_phy.h deleted file mode 100644 index acfdafe0962a..000000000000 --- a/wcnss/riva/inc/wlan_phy.h +++ /dev/null @@ -1,919 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -#ifndef WLAN_PHY_H -#define WLAN_PHY_H -/*============================================================================ -@file wlan_phy.h - -Contains definitions of all PHY related structures that aree needed by FTM/PTT - -Copyright (c) 2007 Qualcomm Technologies, Inc. All Rights Reserved. -Qualcomm Technologies Proprietary and Confidential -============================================================================*/ -#include <wlan_nv.h> - -/* Currently this structure holds the information about the current calibration mode. -In future, if anymore info is needed, that can be added here */ -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 currentCalibration; -} sCalibrationInfo; - -typedef PACKED_PRE struct PACKED_POST { - tANI_S16 I; //ADC sample of PHY_I_RAIL - tANI_S16 Q; //ADC sample of PHY_Q_RAIL -}tIQSamples; - -typedef tIQSamples tIQAdc; -typedef tIQSamples tIQDac; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 maxGainIndex; - tANI_U8 topGainDb; - tANI_U8 bottomGainDb; - tANI_U8 unused[1]; -}tAsicAgc; - -#define TXFIR_MEM QWLAN_TXFIR_TXCAL_MEM0_MREG -#define TXFIR_MEM_GAIN_MULT (16) //bytes per gain -#define TXFIR_MEM_PER_CHAIN (16 * TXFIR_MEM_GAIN_MULT) //# of gains per chain * bytes per gain - -typedef tIQAdc tTxCarrierError; - -#define ONE_MICROSECOND (160) -#define DEFAULT_INTERFRAME_SPACE (ONE_MICROSECOND * 10) //10 microseconds - -typedef enum { - PHYDBG_TX_IDLE = 0, - PHYDBG_TX_START = 1, - PHYDBG_TX_WARMUP = 2, - PHYDBG_TX_INFD = 3, - PHYDBG_TX_CMD = 4, - PHYDBG_TX_SVC = 5, - PHYDBG_TX_PYLDF = 6, - PHYDBG_TX_PYLDR = 7, - PHYDBG_TX_CRC = 8, - PHYDBG_TX_FLUSH = 9, - PHYDBG_TX_TXDONEWAIT = 10, - PHYDBG_TX_TIFWAIT = 11 -} ePhyDbgTxStatus; - -typedef enum { - PHYDBG_PREAMBLE_OFDM, - PHYDBG_PREAMBLE_GREENFIELD, - PHYDBG_PREAMBLE_MIXED, - PHYDBG_PREAMBLE_SHORTB, - PHYDBG_PREAMBLE_LONGB, - - PHYDBG_LDPC_PREAMBLE_OFDM = 0x10, - PHYDBG_LDPC_PREAMBLE_GREENFIELD = 0x11, - PHYDBG_LDPC_PREAMBLE_MIXED = 0x12 -} ePhyDbgPreamble; - - -//grab ram -#ifdef VERIFY_HALPHY_SIMV_MODEL -#define GRAB_RAM_DBLOCK_SIZE (256) //number of samples in full capture -#else -#define GRAB_RAM_DBLOCK_SIZE (1024) //number of samples in full capture -#endif - -#define MAX_REQUESTED_GRAB_RAM_SAMPLES 256 //only allow 256 samples at a time -#define GRAB_RAM_BUFFER_DEPTH (4*1024) //maximum grab ram size in full capture -#define LAST_GRAB_RAM_SAMPLE_INDEX (GRAB_RAM_BUFFER_DEPTH - 1) - - -typedef PACKED_PRE struct PACKED_POST { - tIQAdc rx0; -} tGrabRamSample; - - -enum { - GRABRAM_RAWADC = 0, - GRABRAM_POSTIQ -}; -typedef tANI_U32 eGrabRamSampleType; - -typedef tANI_S8 tANI_S6; -typedef tANI_S16 tANI_S9; -typedef tANI_S16 tANI_S10; -typedef tANI_S16 tANI_S12; -typedef tANI_U16 tANI_U10; - - - -//convert float to a format that preserves enough accuracy to be used by driver -typedef tANI_S16 t2Decimal; -#define CONVERT_TO_2DECIMAL_PLACES(x) (x * 100) -#define CONVERT_FROM_2DECIMAL_PLACES(x) (x / 100) - -#ifndef PTT_FLOAT -#define PTT_FLOAT tANI_U32 // driver code can't include float, -//so this reserves space in our structures to allow floating point measurements -#endif - -typedef enum -{ - PHY_RX_CHAIN_0 = 0, - - PHY_MAX_RX_CHAINS = 1, - PHY_ALL_RX_CHAINS, - PHY_NO_RX_CHAINS -}ePhyRxChains; - -typedef enum -{ - PHY_I_RAIL = 0, - PHY_Q_RAIL = 1, - PHY_NUM_IQ_RAILS -}ePhyIQ; - -//[RY] extend total gain steps to 24 - -enum -{ - TX_GAIN_STEP_0, - TX_GAIN_STEP_1, - TX_GAIN_STEP_2, - TX_GAIN_STEP_3, - TX_GAIN_STEP_4, - TX_GAIN_STEP_5, - TX_GAIN_STEP_6, - TX_GAIN_STEP_7, - TX_GAIN_STEP_8, - TX_GAIN_STEP_9, - TX_GAIN_STEP_10, - TX_GAIN_STEP_11, - TX_GAIN_STEP_12, - TX_GAIN_STEP_13, - TX_GAIN_STEP_14, - TX_GAIN_STEP_15, - TX_GAIN_STEP_16, - TX_GAIN_STEP_17, - TX_GAIN_STEP_18, - TX_GAIN_STEP_19, - TX_GAIN_STEP_20, - TX_GAIN_STEP_21, - TX_GAIN_STEP_22, - TX_GAIN_STEP_23, - TX_GAIN_STEP_24, - TX_GAIN_STEP_25, - TX_GAIN_STEP_26, - TX_GAIN_STEP_27, - TX_GAIN_STEP_28, - TX_GAIN_STEP_29, - TX_GAIN_STEP_30, - TX_GAIN_STEP_31, - - RX_GAIN_STEP_0 = 0, - RX_GAIN_STEP_1, - RX_GAIN_STEP_2, - RX_GAIN_STEP_3, - RX_GAIN_STEP_4, - RX_GAIN_STEP_5, - RX_GAIN_STEP_6, - RX_GAIN_STEP_7, - RX_GAIN_STEP_8, - RX_GAIN_STEP_9, - RX_GAIN_STEP_10, - RX_GAIN_STEP_11, - RX_GAIN_STEP_12, - RX_GAIN_STEP_13, - RX_GAIN_STEP_14, - RX_GAIN_STEP_15, - - NUM_TX_GAIN_STEPS = 32, - MAX_TX_GAIN_STEP = TX_GAIN_STEP_31, - - NUM_RX_GAIN_STEPS = 16, - MAX_RX_GAIN_STEP = RX_GAIN_STEP_15, -}; -typedef tANI_U32 eGainSteps; - - -//[RY] new for PRIMA -#define DPD_RESPONSE_SIZE 128 -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 dpdCalFailCnt; //Count for number of times DPD cal failed. - tANI_U8 dpdCalSuccessCnt; //Count for number of times DPD cal passed. - tANI_U8 dpdColdBootRepeatCalStatus; - tANI_U8 dpdLastIteration; - tANI_S16 dpd_threshold[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_aoffset[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_again[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_poffset[DPD_RESPONSE_SIZE]; - tANI_S16 dpd_pgain[DPD_RESPONSE_SIZE]; - tANI_S32 dpd_sample[20]; - tANI_U8 dpd_try; - tANI_U8 band; -}sDPDcorrectionCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sDPDcorrectionCalValues dpd[PHY_MAX_TX_CHAINS]; -}sTxChainsDPDCalValues; - - -//[RY] RX IQ correction coefficients Memory -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 coeff_i[5]; - tANI_S9 coeff_q[5]; -}sIQCalValues; - -//[RY], added for RIVA -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 iq_ampimb_coeff; - tANI_S16 txloleakage_i; // raw data is 6-bit 2's compliment - tANI_S16 txloleakage_q; // raw data is 6-bit 2's compliment -}sTXIQCalValues; - -//[RY], added for RIVA -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 iqphaseimb_coeff_i[5]; - tANI_S9 iqphaseimb_coeff_q[5]; -}sTXIQPhaseImbCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sIQCalValues iq[PHY_MAX_RX_CHAINS]; -}sRxChainsIQCalValues; - -//[RY] change for PRIMA -typedef PACKED_PRE struct PACKED_POST { - sTXIQCalValues iq[PHY_MAX_TX_CHAINS]; - sTXIQPhaseImbCalValues iqImb[PHY_MAX_TX_CHAINS]; -}sTxChainsIQCalValues; - -typedef PACKED_PRE struct PACKED_POST { - tANI_S9 co_i[3]; - tANI_S9 co_q[3]; -}sHKIQCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sHKIQCalValues co[PHY_MAX_TX_CHAINS]; -}sTxChainsHKIQCalValues; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 lna_code; //wlan_lna_5g_control1,wl_5g_lna_load_ctune - tANI_U8 gm_code; //wlan_rxgm_5g_control4,wlgm_ctune -}sLnaBandCalValues; - -typedef PACKED_PRE struct PACKED_POST { - sLnaBandCalValues lnaCode[PHY_MAX_RX_CHAINS]; -}sTxChainsLnaBandCalValues; - -typedef tANI_U16 t_mW; //milliWatts -typedef tANI_U8 tPwrTemplateIndex; //5-bit number used as the index into the tx gain tables - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 txPowerAdc[PHY_MAX_TX_CHAINS]; -}sTxChainsPowerAdcReadings; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 agcGain; -}tRxGain; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 rx[PHY_MAX_RX_CHAINS]; -}sRxChainsData; - -typedef sRxChainsData sRxChainsRssi; -typedef sRxChainsData sRxChainsAgcDisable; - -typedef PACKED_PRE struct PACKED_POST { - tANI_BOOLEAN rx[PHY_MAX_RX_CHAINS]; -}sRxChainsBoolean; - -typedef sRxChainsBoolean sRxChainsAgcEnable; - -#define NUM_AGC_GAINS 64 -typedef tRxGain sAgcGainLut[NUM_AGC_GAINS]; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_S6 iLo; - tANI_S6 qLo; -}sTxFirLoCorrect; - -typedef tIQAdc sTxLoCorrectBB[PHY_MAX_TX_CHAINS][NUM_TX_GAIN_STEPS]; - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U32 txIqLoCache[PHY_MAX_TX_CHAINS][NUM_TX_GAIN_STEPS][4]; - tANI_U32 spatialRotation; -}tAsicTxFir; - -//Tx Power Config -//A collection of selected calibrated power points at selected frequencies. -//The algorithm does not need to know any particulars about which frequencies or cal points, -// just the linearized adjustments at the selected calibration points -#define MAX_TPC_CHANNELS (NUM_RF_CHANNELS) -#define START_TPC_CHANNEL (2412) -#define END_TPC_CHANNEL (2484) - -#define MAX_PWR_LUT_DBM (24) -#define MIN_PWR_LUT_DBM (8) - - -/* The reason that MAX_PWR_LUT_DBM_2DEC_PLACES is not simply (MAX_PWR_LUT_DBM * 100) is due to the fact - that we are interpolating the 5-bit power template index from this range compared to a LUT range of 0 to 127. - There is an expectation that this power range is evenly divided in 0.5dBm steps. - We expect that a commanded 13dBm would yield a power template index of 10, where a power template index of 0 would represent 8dBm. - If we used an even 2400 to represent the max power, then the calculation for 13dBm actually returns 9: - (127 - 0)*((1300 - 800)/(2400 - 800))+0 = 39.6875 = 39. When shifted to 5 bits, =9. Not what we wanted. - What we need to do is find the 2-decimal place power that corresponds as closely as possible to the 127 in the 0 to 127 range. - For the 800 to 2400 range, that comes out to 2386.5, so 2386. So again for a commanded power of 13dBm: - (127 - 0)*((1300 - 800)/(2386 - 800))+0 = 40.0378 = 40. When shifted to 5-bits, = 10, which is what we wanted. - -*/ - -#define MIN_PWR_LUT_DBM_2DEC_PLACES (MIN_PWR_LUT_DBM * 100) -#define MAX_PWR_LUT_DBM_2DEC_PLACES ((MAX_PWR_LUT_DBM * 100) - (1 + (100 * (MAX_PWR_LUT_DBM - MIN_PWR_LUT_DBM))/TPC_MEM_POWER_LUT_DEPTH)) - -//macro provides a quick conversion of dbm value between MIN_PWR_LUT_DBM and MAX_PWR_LUT_DBM to a power template index(0 to 31) -//based on convention, which may not hold true in the future. -#define CONVERT_DBM_GINDEX(dbm) (((dbm - MIN_PWR_LUT_DBM) * 32) / (MAX_PWR_LUT_DBM - MIN_PWR_LUT_DBM)) - -typedef tANI_U8 tTxGainCombo; //7-bit gain value used to get the power measurement - -typedef PACKED_PRE struct PACKED_POST -{ - tPowerDetect min; - tPowerDetect max; -}tPwrTemplateRange; - - - -/* - The following union affords backward compatibility with txGain usage with band-specific tTpcConfig tables. - Due to my finding that 7-bits is not enough precision, we need to reuse the txGain space as extra precision bits - for the adjustedPwrDet. My spreadsheet shows that we need at least 4 bits more precision. - To know which usage, the MSB of adjustedPwrDet can be set to signify the extra precision in place of the txGain, which isn't used anyway. - We just need to be careful not to interpret a pre-existing table's txGain as extra precision. -*/ - - typedef union - { - tTxGainCombo txGain; //7-bit gain used to measure the pwrDetAdc value - tANI_U8 hi8_adjustedPwrDet; //if the MSB is set in adjustedPwrDet, then these are extra bits of precision - }uExtraLutBits; - - -typedef PACKED_PRE struct PACKED_POST -{ - t2Decimal min; //sometimes used for comparing chain powers - t2Decimal max; //sometimes used for comparing chain powers -}tPowerdBmRange; //absolute power measurement precision maintained to two decimal places - - -typedef tANI_U16 tRfADCVal; -typedef tRfADCVal tTempADCVal; - -typedef PACKED_PRE struct PACKED_POST -{ - tRfADCVal pdadc_offset; - tANI_U8 reserved[2]; -}tTpcParams; - - -//these definitions used as indexing to power per channel per rate table stored in NV -#define CB_RATE_POWER_OFFSET 0 -#define CB_RATE_POWER_OFFSET_LAST_INDEX 60 //last index where we would apply the CB_RATE_POWER_OFFSET - -/* TX Power Calibration & Report Types */ - - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U8 temperatureAdc; //= 5 bit temperature measured at time sample was taken - tANI_U8 txGain; //= 7 bit gain value used to get the power measurement - tANI_U8 pwrDetAdc; //= 8 bit ADC power detect value - tANI_U8 reserved; - uAbsPwrPrecision absPowerMeasured; //= dBm measurement, will be truncated to two decimal places - }tTpcCalPoint; - - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U16 numTpcCalPoints; - tANI_U16 reserved; - tTpcCalPoint chain[MAX_TPC_CAL_POINTS]; - }tTpcChainData; - - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U16 freq; //frequency in MHz - tANI_U16 reserved; - tTpcChainData empirical[PHY_MAX_TX_CHAINS]; //TPC samples passed in - }tTpcFreqData; - - typedef PACKED_PRE struct PACKED_POST - { - tANI_U8 numChannels; - tANI_U8 reserved[3]; - tTpcFreqData calValues[MAX_TPC_CHANNELS]; - }sTpcFreqCalTable; - - -typedef PACKED_PRE struct PACKED_POST { - tPowerDetect lut; //7-bit value in the power Lookup Table - tANI_U8 reserved[3]; - - uAbsPwrPrecision abs; //LUT value conversion to absolute dBm -}tTxPowerLutOutput; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U8 gain; //8-bit coarse(bits 4-7) & fine(bits 0-3) gain commanded for the current index - tPowerDetect adc; //8-bit power ADC sampled during the packet preamble - tANI_U16 rawAdc; //11-bit power raw ADC sampled - - tTxPowerLutOutput indexMinMatch; //minimum LUT matching power that satisfies the power template index setting - tTxPowerLutOutput indexMaxMatch; //maximum LUT matching power that satisfies the power template index setting - tTxPowerLutOutput output; //output power values corresponding to power ADC index -}tTxChainPower; - -extern const tRfChannelProps rfChannels[NUM_RF_CHANNELS]; - -typedef enum -{ - RF_CAL_TONE_28NEG, - RF_CAL_TONE_24NEG, - RF_CAL_TONE_20NEG, - RF_CAL_TONE_16NEG, - RF_CAL_TONE_12NEG, - RF_CAL_TONE_8NEG, - RF_CAL_TONE_4NEG, - RF_CAL_TONE_4POS, - RF_CAL_TONE_8POS, - RF_CAL_TONE_12POS, - RF_CAL_TONE_16POS, - RF_CAL_TONE_20POS, - RF_CAL_TONE_24POS, - RF_CAL_TONE_28POS, - - NUM_RF_TONES, - - MIN_RF_TONE = RF_CAL_TONE_28NEG, - MAX_RF_TONE = RF_CAL_TONE_28POS -}eRfTones; - -typedef tANI_U8 tDcoCorrect; -typedef tANI_S8 tIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - tDcoCorrect IDcoCorrect; - tDcoCorrect QDcoCorrect; - tANI_U8 dcRange; -}tRxDcoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tRxDcoCorrect dco[PHY_MAX_RX_CHAINS]; -}tRxChainsDcoCorrections; - -typedef PACKED_PRE struct PACKED_POST { - tIm2Correct ICorrect; - tIm2Correct QCorrect; -}tRxIm2Correct; - -typedef PACKED_PRE struct PACKED_POST { - tRxIm2Correct dco[PHY_MAX_RX_CHAINS]; -}tRxChainsIm2Corrections; - -typedef PACKED_PRE struct PACKED_POST { - tDcoCorrect IDcoCorrect; - tDcoCorrect QDcoCorrect; -}tTxLoCorrect; - -typedef PACKED_PRE struct PACKED_POST { - tTxLoCorrect txLo[PHY_MAX_TX_CHAINS]; -}sTxChainsLoCorrections; - - -//tDcoCorrect is needed to define rf specific structures - -#define NUM_RF_RX_GAIN_STEPS (128) -#define MAX_RF_RX_GAIN_STEP (NUM_RF_RX_GAIN_STEPS - 1) - -#define NUM_RF_TX_GAIN_STEPS (16) -#define MAX_RF_TX_GAIN_STEP (NUM_RF_TX_GAIN_STEPS - 1) - -#define RF_AGC_GAIN_LUT_DEPTH (128) -#define NUM_RF_DCO_VALUES (128) //There are only 32 DCO values, but our algorithm it makes more sense for us to access these by AGC gain index -#define MAX_RF_DCO_VALUE (NUM_RF_DCO_VALUES - 1) - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 gainReg1; //GEMINI_REG_RX_GC_0 (lna + mix + tia + bq1 + bq2 + pga) -}tRfRxGain; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U16 bbf_gain_cnt; - tANI_U16 bbf_lin_adj; - tANI_U16 lo_mix_da_gain_cntl; - tANI_U16 pa_gain_cntl; - tANI_U16 da_pa_bias_1_cnt; - tANI_U16 da_pa_bias_2_cntl; -}tRfTxGain; - -typedef PACKED_PRE struct PACKED_POST -{ - //TODO:define this struct for Gemini - tANI_U8 rxIf; - tANI_U8 txIf; - tANI_U8 txRf; - tANI_U8 reserved; -}sRfSpecificFilterSettings; - -typedef sRfSpecificFilterSettings sRfChannelFilterSettings[NUM_RF_CHANNELS]; - - -typedef PACKED_PRE struct PACKED_POST -{ - tANI_U8 hdet_ctl_ext_atten; - tANI_U8 hdet_dcoc_code; - tANI_U8 hdet_dcoc_ib_rcal_en; - tANI_U8 hdet_dcoc_ib_scal_en; -}sRfNvCalValues; //stored in QFUSE - - - -typedef enum -{ - SYNTH_UNLOCKED, - SYNTH_LOCK -}eRfSynthLock; - -typedef enum -{ - TEMP_SENSOR_PA, - TEMP_SENSOR_RX -}eRfTempSensor; - -typedef enum -{ - TEMPERATURE_BIN_0, //-30 to 5 C - TEMPERATURE_BIN_1, //5 to 45 C - TEMPERATURE_BIN_2, //45 to 85 C - TEMPERATURE_BIN_3, //85 to 125 C - NUM_TEMPERATURE_BINS -}eTemperatureBins; - -typedef PACKED_PRE struct PACKED_POST { - tANI_U16 hdetDcocCode; - tANI_U16 hdetDcoOffset; -}sRfHdetCalValues; - -#define TPC_TXPWR_ENABLE_MASK QWLAN_TPC_TXPWR_ENABLE_EN_MASK - - -#define TPC_MEM_TX0_PWR_LUT_OFFSET QWLAN_TPC_POWERDET0_RAM_MREG -#define TPC_MEM_TX1_PWR_LUT_OFFSET QWLAN_TPC_POWERDET1_RAM_MREG -#define TPC_MEM_TX2_PWR_LUT_OFFSET QWLAN_TPC_POWERDET2_RAM_MREG -#define TPC_MEM_TX3_PWR_LUT_OFFSET QWLAN_TPC_POWERDET3_RAM_MREG -#define TPC_MEM_TX0_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT0_MREG -#define TPC_MEM_TX1_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT1_MREG -#define TPC_MEM_TX2_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT2_MREG -#define TPC_MEM_TX3_GAIN_LUT_OFFSET QWLAN_TPC_GAIN_LUT3_MREG - -//these masks are the same for both chains -#define TPC_POWERDET_MASK QWLAN_TPC_POWERDET0_RAM_POWER_MASK -#define TPC_GAIN_RF_MASK QWLAN_TPC_GAIN_LUT0_RF_GAIN_MASK -#define TPC_GAIN_RF_OFFSET QWLAN_TPC_GAIN_LUT0_RF_GAIN_OFFSET -#define TPC_GAIN_DIG_MASK QWLAN_TPC_GAIN_LUT0_DIG_GAIN_MASK - - -#define TPC_MEM_GAIN_LUT_DEPTH 32 - - -#define TPC_ADC_CTRL_REG QWLAN_TPC_ADC_CTRL_GET_ADC_REG -#define TPC_ADC_GET_MASK QWLAN_TPC_ADC_CTRL_GET_ADC_GET_ADC_MASK - -#define TPC_ADC_FAILED_MASK QWLAN_TPC_ADC_STATUS_FAILED_MASK -#define TPC_ADC_BUSY_P_MASK QWLAN_TPC_ADC_STATUS_BUSY_P_MASK -#define TPC_ADC_BUSY_T_MASK QWLAN_TPC_ADC_STATUS_BUSY_T_MASK - - -#define MSK_1 0x1 -#define MSK_2 0x3 -#define MSK_3 0x7 -#define MSK_4 0xF -#define MSK_5 0x1F -#define MSK_6 0x3F -#define MSK_7 0x7F -#define MSK_8 0xFF -#define MSK_9 0x1FF -#define MSK_10 0x3FF -#define MSK_11 0x7FF -#define MSK_12 0xFFF -#define MSK_13 0x1FFF -#define MSK_14 0x3FFF -#define MSK_15 0x7FFF -#define MSK_16 0xFFFF -#define MSK_17 0x1FFFF -#define MSK_18 0x3FFFF -#define MSK_19 0x7FFFF -#define MSK_20 0xFFFFF -#define MSK_21 0x1FFFFF -#define MSK_22 0x3FFFFF -#define MSK_23 0x7FFFFF -#define MSK_24 0xFFFFFF -#define MSK_25 0x1FFFFFF -#define MSK_26 0x3FFFFFF -#define MSK_27 0x7FFFFFF -#define MSK_28 0xFFFFFFF -#define MSK_29 0x1FFFFFFF -#define MSK_30 0x3FFFFFFF -#define MSK_31 0x7FFFFFFF -#define MSK_32 0xFFFFFFFF - - -#define COARSE_GAIN_MASK MSK_4 -#define COARSE_GAIN_OFFSET 4 -#define FINE_GAIN_MASK MSK_4 //the upper most bit overlaps the coarse gain and should not be used for TPC LUT data -#define FINE_GAIN_OFFSET 0 - -typedef enum -{ - TPC_COARSE_TXPWR_0, - TPC_COARSE_TXPWR_1, - TPC_COARSE_TXPWR_2, - TPC_COARSE_TXPWR_3, - TPC_COARSE_TXPWR_4, - TPC_COARSE_TXPWR_5, - TPC_COARSE_TXPWR_6, - TPC_COARSE_TXPWR_7, - TPC_COARSE_TXPWR_8, - TPC_COARSE_TXPWR_9, - TPC_COARSE_TXPWR_10, - TPC_COARSE_TXPWR_11, - TPC_COARSE_TXPWR_12, - TPC_COARSE_TXPWR_13, - TPC_COARSE_TXPWR_14, - TPC_COARSE_TXPWR_15, - TPC_COARSE_TXPWR_16, - TPC_COARSE_TXPWR_17, - TPC_COARSE_TXPWR_18, - TPC_COARSE_TXPWR_19, - TPC_COARSE_TXPWR_20, - TPC_COARSE_TXPWR_21, - TPC_COARSE_TXPWR_22, - TPC_COARSE_TXPWR_23, - TPC_COARSE_TXPWR_24, - TPC_COARSE_TXPWR_25, - TPC_COARSE_TXPWR_26, - TPC_COARSE_TXPWR_27, - TPC_COARSE_TXPWR_28, - TPC_COARSE_TXPWR_29, - TPC_COARSE_TXPWR_30, - TPC_COARSE_TXPWR_31, - NUM_TPC_COARSE_STEPS = TPC_COARSE_TXPWR_31 - TPC_COARSE_TXPWR_0 + 1, - MIN_TPC_COARSE_TXPWR = TPC_COARSE_TXPWR_0, - MAX_TPC_COARSE_TXPWR = TPC_COARSE_TXPWR_31 -}eTxCoarseGain; //refers to the external RF power adjustment - -typedef enum -{ - TPC_FINE_TXPWR_0, - TPC_FINE_TXPWR_1, - TPC_FINE_TXPWR_2, - TPC_FINE_TXPWR_3, - TPC_FINE_TXPWR_4, - TPC_FINE_TXPWR_5, - TPC_FINE_TXPWR_6, - TPC_FINE_TXPWR_7, - TPC_FINE_TXPWR_8, - TPC_FINE_TXPWR_9, - TPC_FINE_TXPWR_10, - TPC_FINE_TXPWR_11, - TPC_FINE_TXPWR_12, - TPC_FINE_TXPWR_13, - TPC_FINE_TXPWR_14, - TPC_FINE_TXPWR_15, - MIN_TPC_FINE_TXPWR = TPC_FINE_TXPWR_0, - MAX_TPC_FINE_TXPWR = TPC_FINE_TXPWR_15 -}eTxFineGain; //refers to the internal TxFIR power adjustment - -typedef PACKED_PRE struct PACKED_POST { - eTxCoarseGain coarsePwr; - eTxFineGain finePwr; -}tTxGain; - -//for 30second periodic interrupt, do this every 5 minutes -#define HAL_PHY_PERIODIC_CAL_ITER_LIMIT 10 - -typedef enum -{ - //these show which rx and tx chains are enabled, other chains are disable accordingly - //Production modes - PHY_CHAIN_SEL_R0_T0_ON, - - PHY_CHAIN_SEL_BT_R0_T0_ON, //simultaneous bluetooth receive enabled - - - //test modes - PHY_CHAIN_SEL_R0_ON, - PHY_CHAIN_SEL_T0_ON, - PHY_CHAIN_SEL_NO_RX_TX, - - MAX_PHY_CHAIN_SEL, - INVALID_PHY_CHAIN_SEL, - PHY_MAX_CHAIN_SELECT = 0x7FFFFFFF /* define as 4 bytes data */ -}ePhyChainSelect; - -typedef enum -{ -#ifdef CHANNEL_BONDED_CAPABLE - - PHY_CCA_40MHZ_SOURCE = 0, -#endif - - PHY_CCA_20MHZ_SOURCE = 1 -}ePhyCCASource; - -typedef enum -{ - PHY_CCA_FORCED_ON = 0, - PHY_CCA_ED = 1, - PHY_CCA_CD = 2, - PHY_CCA_CD_AND_CS = 3, - PHY_CCA_ED_AND_CD = 4, - PHY_CCA_ED_OR_CD = 5, - PHY_CCA_ED_AND_CD_AND_CS = 6, - PHY_CCA_ED_OR_CD_AND_CS = 7, - PHY_CCA_SEC_ED40_AND_NOR_PKTDET40_PKTDET20 = 8, - PHY_CCA_SEC_BUSY = 9 -}ePhyCCAMode; - -typedef enum -{ - PHY_RX_DISABLE_NONE = 0, - PHY_RX_DISABLE_11AG = 0x00000001, - PHY_RX_DISABLE_11B = 0x00000002, - PHY_RX_DISABLE_11N40 = 0x00000004, - PHY_RX_DISABLE_11AC80 = 0x00000008, - - PHY_RX_DISABLE_11ABG = (PHY_RX_DISABLE_11AG | PHY_RX_DISABLE_11B), - PHY_RX_DISABLE_ALL_TYPES = (PHY_RX_DISABLE_11B | PHY_RX_DISABLE_11AG | - PHY_RX_DISABLE_11N40 | PHY_RX_DISABLE_11AC80), -}ePhyRxDisabledPktTypes; - - -// Enum for network density setting. -typedef enum -{ - PHY_NW_DENSITY_LOW = 0, - PHY_NW_DENSITY_MED, - PHY_NW_DENSITY_HIGH, - PHY_NW_DENSITY_ADAPTIVE -} ePhyNwDensity; - - -typedef enum -{ - ALL_CALS, //RxDco 1st, TxLO 2nd - RX_DCO_CAL_ONLY, - RX_IM2_CAL_ONLY, - RX_DCO_IM2_CAL, - TX_LO_CAL_ONLY, - RX_IQ_CAL_ONLY, - TX_IQ_CAL_ONLY, - HKDAC_TX_IQ_CAL_ONLY, - NO_CALS = 0xFF -}eCalSelection; - - -//supports testing of closed-loop power control -typedef enum -{ - FORCE_CLOSED_LOOP_GAIN = 0, //phyDbg pkt gen only uses gain index 0 when we are taking measurements with the closed-loop gain - FORCE_POWER_TEMPLATE_INDEX = 1, //only use forced power template index - FIXED_POWER_DBM = 2, //only use to specify fixed power, ignoring rate/channel/reg limits - REGULATORY_POWER_LIMITS = 3, //use production power Lut settings limited by power limit table per channel - RATE_POWER_NON_LIMITED = 4, //use power specified per rate and channel group, but don't limit power by channel - POWER_INDX_SRC_MAX_VAL = 0x7FFFFFFF, //dummy val to set enum to 4 bytes -}ePowerTempIndexSource; - -#define BIT_0 0x00000001 -#define BIT_1 0x00000002 -#define BIT_2 0x00000004 -#define BIT_3 0x00000008 -#define BIT_4 0x00000010 -#define BIT_5 0x00000020 -#define BIT_6 0x00000040 -#define BIT_7 0x00000080 -#define BIT_8 0x00000100 -#define BIT_9 0x00000200 -#define BIT_10 0x00000400 -#define BIT_11 0x00000800 -#define BIT_12 0x00001000 -#define BIT_13 0x00002000 -#define BIT_14 0x00004000 -#define BIT_15 0x00008000 -#define BIT_16 0x00010000 -#define BIT_17 0x00020000 -#define BIT_18 0x00040000 -#define BIT_19 0x00080000 -#define BIT_20 0x00100000 -#define BIT_21 0x00200000 -#define BIT_22 0x00400000 -#define BIT_23 0x00800000 -#define BIT_24 0x01000000 -#define BIT_25 0x02000000 -#define BIT_26 0x04000000 -#define BIT_27 0x08000000 -#define BIT_28 0x10000000 -#define BIT_29 0x20000000 -#define BIT_30 0x40000000 -#define BIT_31 0x80000000 - -#define WFM_CLK_80 BIT_3 -#define WFM_START BIT_0 -#define WFM_STOP BIT_1 - -#define WFM_MEM_I_DATA_MASK (0x7FF) -#define WFM_MEM_Q_DATA_OFFSET (0xB) -#define WFM_MEM_Q_DATA_MASK (0x3FF800) - -typedef enum -{ - WAVE_SINGLE_SHOT = 0, - WAVE_CONTINUOUS = BIT_2 -}eWaveMode; - -typedef enum -{ - RATE_240 = 0, - RATE_160 = 1, - RATE_120 = 2, - RATE_80 = 3, - RATE_40 = 4, - RATE_20 = 5, -}eWaveRate; - -#define MAX_TONE_AMPLITUDE (2^11) // peak to peak - -#define MAX_TEST_WAVEFORM_SAMPLES 500 - -#define NUM_RX_IMB_CAL_TONES 4 - -#define CAL_WFM_TX_TONE_8_START_IDX 0 -#define CAL_WFM_TX_TONE_8_STOP_IDX 255 -#define CAL_WFM_TX_TONE_MINUS_8_START_IDX 256 -#define CAL_WFM_TX_TONE_MINUS_8_STOP_IDX 511 -#define CAL_WFM_RX_TONE_START_IDX 512 -#define CAL_WFM_RX_TONE_STOP_IDX 767 - -#define B_RATE_CAL_ADJUSTMENT -150 -#define GN_RATE_BANDEDGE_ADJUSTMENT -100 - -#define TPC_INDEX_WIFI_DIRECT 0 -#define TPC_INDEX_LOW_POWER 1 -#define MIN_TPC_GAIN_INDEX 0 //Index 0 used for Wifi Direct -#define TPC_GAIN_LUT_PWR_SLOPE 2 -#define MAX_TPC_GAIN_LUT_DBM (22) -#define MIN_TPC_GAIN_LUT_DBM (6) - -#define MAX_TPC_GAIN_LUT_DBM_2DEC_PLACES (MAX_TPC_GAIN_LUT_DBM * 100) -#define MIN_TPC_GAIN_LUT_DBM_2DEC_PLACES (MIN_TPC_GAIN_LUT_DBM * 100) - -typedef enum -{ - RF_BANDWIDTH_20MHZ = 20, - RF_BANDWIDTH_40MHZ = 40, - RF_BANDWIDTH_80MHZ = 80, - RF_MIN_BANDWIDTH = RF_BANDWIDTH_20MHZ, - RF_MAX_BANDWIDTH = RF_BANDWIDTH_80MHZ, - RF_BANDWIDTH_INVALID = 0x7FFFFFFF -}eRfBandwidth; - -#endif /* WLAN_PHY_H */ diff --git a/wcnss/riva/inc/wlan_qct_dev_defs.h b/wcnss/riva/inc/wlan_qct_dev_defs.h deleted file mode 100644 index c4bb755550b0..000000000000 --- a/wcnss/riva/inc/wlan_qct_dev_defs.h +++ /dev/null @@ -1,381 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/** - * - * @file: wlan_qct_dev_defs.h - * - * @brief: This file contains the hardware related definitions. - * - * Copyright (C) 2008, Qualcomm Technologies, Inc. All rights reserved. - */ - -#ifndef __WLAN_QCT_DEV_DEFS_H -#define __WLAN_QCT_DEV_DEFS_H - - -/* -------------------------------------------------------------------- - * HW definitions for WLAN Chip - * -------------------------------------------------------------------- - */ - -#ifdef WCN_PRONTO - -#ifdef WLAN_SOFTAP_VSTA_FEATURE -//supports both V1 and V2 -#define HAL_NUM_ASSOC_STA 32 // HAL_NUM_STA - No of GP STAs - 2 (1 self Sta + 1 Bcast Sta) -#define HAL_NUM_STA 41 -#define HAL_NUM_HW_STA 16 - -#define HAL_NUM_GPSTA 4 -#define HAL_NUM_UMA_DESC_ENTRIES HAL_NUM_HW_STA // or HAL_NUM_STA - -#define HAL_NUM_BSSID 2 -#define HAL_NUM_STA_WITHOUT_VSTA 12 -#define HAL_NUM_STA_INCLUDING_VSTA 32 - -#define HAL_NUM_VSTA (HAL_NUM_STA - HAL_NUM_HW_STA) -#define QWLANFW_MAX_NUM_VSTA (HAL_NUM_VSTA) -#define QWLANFW_VSTA_INVALID_IDX (HAL_NUM_STA+1) -#define QWLAN_VSTA_MIN_IDX (HAL_NUM_HW_STA) -#define QWLANFW_NUM_GPSTA (HAL_NUM_GPSTA) - -// For Pronto -#define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V1 9 -#define HAL_NUM_STA_WITHOUT_VSTA_PRONTO_V2 (HAL_NUM_STA_WITHOUT_VSTA) - -#define IS_VSTA_VALID_IDX(__x) \ - ((__x) != QWLANFW_VSTA_INVALID_IDX) - -#define IS_VSTA_IDX(__x) \ - (((__x) >= QWLAN_VSTA_MIN_IDX) && ((__x) < HAL_NUM_STA)) - -#define GET_VSTA_INDEX_FOR_STA_INDEX(__idx) ((__idx) - QWLAN_VSTA_MIN_IDX) - -// is the STA a General Purpose STA? -#define IS_GPSTA_IDX(__x) \ - (((__x) >= (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) && \ - ((__x) < HAL_NUM_HW_STA)) - -// is the STA a HW STA (excluding GP STAs) -#define IS_HWSTA_IDX(__x) \ - ((__x) < (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) - -#define HAL_NUM_STA_INCLUDING_VSTA 32 - -#elif WCN_PRONTO_V1 - -/* In Pronto 1.0 TPE descriptor size is increased to 1K per station - * but not the cMEM allocated for hardware descriptors. Due to this - * memory limitation the number of stations are limited to 9 and BSS - * to 2 respectively. - * - * In Pronto 2.0, TPE descriptor size is reverted - * back to 512 bytes and hence more stations and BSSs can be supported - * from Pronto 2.0 - * - * In Pronto 1.0, 9 HW stations are supported including BCAST STA(staId 0) - * and SELF STA(staId 1). So total ASSOC stations which can connect to - * Pronto 1.0 Softap = 9 - 1(self sta) - 1(Bcast sta) = 7 stations - */ -#define HAL_NUM_HW_STA 9 -#define HAL_NUM_STA (HAL_NUM_HW_STA) -#define HAL_NUM_BSSID 2 -#define HAL_NUM_UMA_DESC_ENTRIES 9 -#define HAL_NUM_ASSOC_STA 7 - - -#else /* WCN_PRONTO_V1 */ - -#define HAL_NUM_HW_STA 14 -#define HAL_NUM_STA (HAL_NUM_HW_STA) -#define HAL_NUM_BSSID 4 -#define HAL_NUM_UMA_DESC_ENTRIES 14 -#define HAL_NUM_ASSOC_STA 12 - - -#endif /* WCN_PRONTO_V1 and WLAN_SOFTAP_VSTA_FEATURE*/ -#else /* WCN_PRONTO */ - -/* - * Riva supports 16 stations in hardware - * - * Riva without Virtual STA feature can only support 12 stations: - * 1 Broadcast STA (hard) - * 1 "Self" STA (hard) - * 10 Soft AP Stations (hard) - * - * Riva with Virtual STA feature supports 38 stations: - * 1 Broadcast STA (hard) - * 1 "Self" STA (hard) - * 4 General Purpose Stations to support Virtual STAs (hard) - * 32 Soft AP Stations (10 hard/22 virtual) - * - * To support concurrency with Vsta, number of stations are increased to 41 (from 38). - * 1 for the second interface. - * 1 for reserving an infra peer STA index (hard) for the other interface. - * 1 for P2P device role. - */ -#ifdef WLAN_SOFTAP_VSTA_FEATURE -#define HAL_NUM_ASSOC_STA 32 -#define HAL_NUM_STA 41 -#define HAL_NUM_HW_STA 16 -#define HAL_NUM_GPSTA 4 -#define HAL_NUM_VSTA (HAL_NUM_STA - HAL_NUM_HW_STA) - -#define QWLANFW_MAX_NUM_VSTA HAL_NUM_VSTA -#define QWLANFW_VSTA_INVALID_IDX (HAL_NUM_STA+1) -#define QWLAN_VSTA_MIN_IDX HAL_NUM_HW_STA -#define QWLANFW_NUM_GPSTA HAL_NUM_GPSTA - - -#define IS_VSTA_VALID_IDX(__x) \ - ((__x) != QWLANFW_VSTA_INVALID_IDX) - -#define IS_VSTA_IDX(__x) \ - (((__x) >= QWLAN_VSTA_MIN_IDX) && ((__x) < HAL_NUM_STA)) - -#define GET_VSTA_INDEX_FOR_STA_INDEX(__idx) ((__idx) - QWLAN_VSTA_MIN_IDX) - -// is the STA a General Purpose STA? -#define IS_GPSTA_IDX(__x) \ - (((__x) >= (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) && \ - ((__x) < HAL_NUM_HW_STA)) - -// is the STA a HW STA (excluding GP STAs) -#define IS_HWSTA_IDX(__x) \ - ((__x) < (HAL_NUM_HW_STA-HAL_NUM_GPSTA)) - -#define HAL_NUM_STA_INCLUDING_VSTA 32 -#define HAL_NUM_STA_WITHOUT_VSTA 12 - -#else -#define HAL_NUM_STA 12 -#define HAL_NUM_ASSOC_STA 10 -#define HAL_NUM_HW_STA 12 -#endif - -#define HAL_NUM_BSSID 2 -#define HAL_NUM_UMA_DESC_ENTRIES HAL_NUM_HW_STA - -#endif /* WCN_PRONTO */ - -#ifdef FEATURE_WLAN_TDLS -#define CXM_TDLS_MAX_NUM_STA 32 -#endif - -#define HAL_INVALID_BSSIDX HAL_NUM_BSSID - -#define MAX_NUM_OF_BACKOFFS 8 -#define HAL_MAX_ASSOC_ID HAL_NUM_STA - -#define WLANHAL_TX_BD_HEADER_SIZE 40 //FIXME_PRIMA - Revisit -#define WLANHAL_RX_BD_HEADER_SIZE 76 - -/* - * From NOVA Mac Arch document - * Encryp. mode The encryption mode - * 000: Encryption functionality is not enabled - * 001: Encryption is set to WEP - * 010: Encryption is set to WEP 104 - * 011: Encryption is set to TKIP - * 100: Encryption is set to AES - * 101 - 111: Reserved for future - */ - -#define HAL_ENC_POLICY_NULL 0 -#define HAL_ENC_POLICY_WEP40 1 -#define HAL_ENC_POLICY_WEP104 2 -#define HAL_ENC_POLICY_TKIP 3 -#define HAL_ENC_POLICY_AES_CCM 4 - -/* --------------------------------------------------------------------- */ -/* BMU */ -/* --------------------------------------------------------------------- */ - -/* - * BMU WQ assignment, as per Prima Programmer's Guide - FIXME_PRIMA: Revisit - * - */ - -typedef enum sBmuWqId { - - /* ====== In use WQs ====== */ - - /* BMU */ - BMUWQ_BMU_IDLE_BD = 0, - BMUWQ_BMU_IDLE_PDU = 1, - - /* RxP */ - BMUWQ_RXP_UNKNWON_ADDR = 2, /* currently unhandled by HAL */ - - /* DPU RX */ - BMUWQ_DPU_RX = 3, - - /* DPU TX */ - BMUWQ_DPU_TX = 6, - - /* Firmware */ - BMUWQ_FW_TRANSMIT = 12, /* DPU Tx->FW Tx */ - BMUWQ_FW_RECV = 7, /* DPU Rx->FW Rx */ - - BMUWQ_FW_RPE_RECV = 16, /* RXP/RPE Rx->FW Rx */ - FW_SCO_WQ = BMUWQ_FW_RPE_RECV, - - /* DPU Error */ - BMUWQ_DPU_ERROR_WQ = 8, - - /* DXE RX */ - BMUWQ_DXE_RX = 11, - - BMUWQ_DXE_RX_HI = 4, - - /* ADU/UMA */ - BMUWQ_ADU_UMA_TX = 23, - BMUWQ_ADU_UMA_RX = 24, - - /* BMU BTQM */ - BMUWQ_BTQM = 25, - - /* Special WQ for BMU to dropping all frames coming to this WQ ID */ - BMUWQ_SINK = 255, - -#ifdef WCN_PRONTO - BMUWQ_BMU_CMEM_IDLE_BD = 27, - /* Total BMU WQ count in Pronto */ - BMUWQ_NUM = 28, - - //WQs 17 through 22 are enabled in Pronto. So, set not supported mask to 0. - BMUWQ_NOT_SUPPORTED_MASK = 0x0, -#else - /* Total BMU WQ count in Prima */ - BMUWQ_NUM = 27, - - //Prima has excluded support for WQs 17 through 22. - BMUWQ_NOT_SUPPORTED_MASK = 0x7e0000, -#endif //WCN_PRONTO - - - /* Aliases */ - BMUWQ_BTQM_TX_MGMT = BMUWQ_BTQM, - BMUWQ_BTQM_TX_DATA = BMUWQ_BTQM, - BMUWQ_BMU_WQ2 = BMUWQ_RXP_UNKNWON_ADDR, - BMUWQ_FW_DPU_TX = 5, - - //WQ where all the frames with addr1/addr2/addr3 with value 254/255 go to. - BMUWQ_FW_RECV_EXCEPTION = 14, //using BMUWQ_FW_MESSAGE WQ for this purpose. - - //WQ where all frames with unknown Addr2 filter exception cases frames will pushed if FW wants host to - //send deauth to the sender. - BMUWQ_HOST_RX_UNKNOWN_ADDR2_FRAMES = 15, //using BMUWQ_FW_DXECH2_0 for this purpose. - - /* ====== Unused/Reserved WQ ====== */ - - /* ADU/UMA Error WQ */ - BMUWQ_ADU_UMA_TX_ERROR_WQ = 13, /* Not in use by HAL */ - BMUWQ_ADU_UMA_RX_ERROR_WQ = 10, /* Not in use by HAL */ - - /* DPU Error WQ2 */ - BMUWQ_DPU_ERROR_WQ2 = 9, /* Not in use by HAL */ - - /* FW WQs */ - //This WQ is being used for RXP to push in frames in exception cases ( addr1/add2/addr3 254/255) - //BMUWQ_FW_MESG = 14, /* DxE Tx->FW, Not in use by FW */ - //BMUWQ_FW_DXECH2_0 = 15, /* BD/PDU<->MEM conversion using DxE CH2. Not in use by FW */ - BMUWQ_FW_DXECH2_1 = 16, /* BD/PDU<->MEM conversion using DxE CH2. Not in use by FW */ - - /* NDPA Addr3 workaround */ - BMUWQ_RXP_DEFAULT_PUSH_WQ = 17, -/* These WQs are not supported in Volans - BMUWQ_BMU_WQ17 = 17, - BMUWQ_BMU_WQ18 = 18, - BMUWQ_BMU_WQ19 = 19, - BMUWQ_BMU_WQ20 = 20, - BMUWQ_BMU_WQ21 = 21, - BMUWQ_BMU_WQ22 = 22 -*/ -} tBmuWqId; - -typedef enum -{ - BTQM_QID0 = 0, - BTQM_QID1, - BTQM_QID2, - BTQM_QID3, - BTQM_QID4, - BTQM_QID5, - BTQM_QID6, - BTQM_QID7, - BTQM_QID8, - BTQM_QID9, - BTQM_QID10, - - BTQM_QUEUE_TX_TID_0 = BTQM_QID0, - BTQM_QUEUE_TX_TID_1, - BTQM_QUEUE_TX_TID_2, - BTQM_QUEUE_TX_TID_3, - BTQM_QUEUE_TX_TID_4, - BTQM_QUEUE_TX_TID_5, - BTQM_QUEUE_TX_TID_6, - BTQM_QUEUE_TX_TID_7, - - - /* Queue Id <-> BO - */ - BTQM_QUEUE_TX_nQOS = BTQM_QID8, - BTQM_QUEUE_SELF_STA_BCAST_MGMT = BTQM_QID10, - BTQM_QUEUE_SELF_STA_UCAST_MGMT = BTQM_QID9, - BTQM_QUEUE_SELF_STA_UCAST_DATA = BTQM_QID9, - BTQM_QUEUE_NULL_FRAME = BTQM_QID9, - BTQM_QUEUE_SELF_STA_PROBE_RSP = BTQM_QID9, - BTQM_QUEUE_TX_AC_BE = BTQM_QUEUE_TX_TID_0, - BTQM_QUEUE_TX_AC_BK = BTQM_QUEUE_TX_TID_2, - BTQM_QUEUE_TX_AC_VI = BTQM_QUEUE_TX_TID_4, - BTQM_QUEUE_TX_AC_VO = BTQM_QUEUE_TX_TID_6 -}tBtqmQId; - -#define STACFG_MAX_TC 8 - -/* --------------------------------------------------------------------- */ -/* BD type*/ -/* --------------------------------------------------------------------- */ -#define HWBD_TYPE_GENERIC 0 /* generic BD format */ -#define HWBD_TYPE_FRAG 1 /* fragmentation BD format*/ - -/*---------------------------------------------------------------------- */ -/* HW Tx power */ -/*---------------------------------------------------------------------- */ -#ifdef WLAN_HAL_PRIMA - #define WLAN_SOC_PRIMA_MAX_TX_POWER 22 - #define WLAN_SOC_PRIMA_MIN_TX_POWER 6 -#else - /* add more platforms here */ - #define WLAN_SOC_PRIMA_MAX_TX_POWER 22 - #define WLAN_SOC_PRIMA_MIN_TX_POWER 6 -#endif //#ifdef WCN_PRIMA - -#endif /* __WLAN_QCT_DEV_DEFS_H */ diff --git a/wcnss/riva/inc/wlan_status_code.h b/wcnss/riva/inc/wlan_status_code.h deleted file mode 100644 index e1057281a265..000000000000 --- a/wcnss/riva/inc/wlan_status_code.h +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright (c) 2013, The Linux Foundation. All rights reserved. - * - * Previously licensed under the ISC license by Qualcomm Atheros, Inc. - * - * - * Permission to use, copy, modify, and/or distribute this software for - * any purpose with or without fee is hereby granted, provided that the - * above copyright notice and this permission notice appear in all - * copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * This file was originally distributed by Qualcomm Atheros, Inc. - * under proprietary terms before Copyright ownership was assigned - * to the Linux Foundation. - */ - -/*=========================================================================== - * - * @file: wlan_status_code.h - * - * @brief: Common header file containing all the status codes - * All status codes have been consolidated into one enum - * - * @author: Kumar Anand - * Copyright (C) 2010, Qualcomm Technologies, Inc. - * All rights reserved. - * - *=========================================================================*/ - -#ifndef __WLAN_STATUS_CODE_H__ -#define __WLAN_STATUS_CODE_H__ - -/*------------------------------------------------------------------------- - Include Files --------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ - -/* This is to force compiler to use the maximum of an int ( 4 bytes ) */ -#define WLAN_STATUS_MAX_ENUM_SIZE 0x7FFFFFFF - -/*---------------------------------------------------------------------------- - * Type Declarations - * -------------------------------------------------------------------------*/ - -typedef enum -{ - /* PAL Request succeeded!*/ - PAL_STATUS_SUCCESS = 0, - - /* HAL Request succeeded!*/ - eHAL_STATUS_SUCCESS = 0, - - /* Request failed because there of an invalid request. This is - typically the result of invalid parameters on the request*/ - PAL_STATUS_INVAL, - - /* Request refused because a request is already in place and - another cannot be handled currently */ - PAL_STATUS_ALREADY, - - /* Request failed because of an empty condition */ - PAL_STATUS_EMPTY, - - /* Request failed for some unknown reason. */ - PAL_STATUS_FAILURE, - - /* HAL general failure */ - eHAL_STATUS_FAILURE, - - /* Invalid Param*/ - eHAL_STATUS_INVALID_PARAMETER, - - /* Invalid Station Index*/ - eHAL_STATUS_INVALID_STAIDX, - - /* DPU descriptor table full*/ - eHAL_STATUS_DPU_DESCRIPTOR_TABLE_FULL, - - /* No interrupts */ - eHAL_STATUS_NO_INTERRUPTS, - - /* Interrupt present */ - eHAL_STATUS_INTERRUPT_PRESENT, - - /* Stable Table is full */ - eHAL_STATUS_STA_TABLE_FULL, - - /* Duplicate Station found */ - eHAL_STATUS_DUPLICATE_STA, - - /* BSSID is invalid */ - eHAL_STATUS_BSSID_INVALID, - - /* STA is invalid */ - eHAL_STATUS_STA_INVALID, - - /* BSSID is is duplicate */ - eHAL_STATUS_DUPLICATE_BSSID, - - /* BSS Idx is invalid */ - eHAL_STATUS_INVALID_BSSIDX, - - /* BSSID Table is full */ - eHAL_STATUS_BSSID_TABLE_FULL, - - /* Invalid DPU signature*/ - eHAL_STATUS_INVALID_SIGNATURE, - - /* Invalid key Id */ - eHAL_STATUS_INVALID_KEYID, - - /* Already on requested channel */ - eHAL_STATUS_SET_CHAN_ALREADY_ON_REQUESTED_CHAN, - - /* UMA descriptor table is full */ - eHAL_STATUS_UMA_DESCRIPTOR_TABLE_FULL, - - /* MIC Key table is full */ - eHAL_STATUS_DPU_MICKEY_TABLE_FULL, - - /* A-MPDU/BA related Error codes */ - eHAL_STATUS_BA_RX_BUFFERS_FULL, - eHAL_STATUS_BA_RX_MAX_SESSIONS_REACHED, - eHAL_STATUS_BA_RX_INVALID_SESSION_ID, - - eHAL_STATUS_TIMER_START_FAILED, - eHAL_STATUS_TIMER_STOP_FAILED, - eHAL_STATUS_FAILED_ALLOC, - - /* Scan failure codes */ - eHAL_STATUS_NOTIFY_BSS_FAIL, - - /* Self STA not deleted as reference count is not zero */ - eHAL_STATUS_DEL_STA_SELF_IGNORED_REF_COUNT_NOT_ZERO, - - /* Self STA not added as entry already exists*/ - eHAL_STATUS_ADD_STA_SELF_IGNORED_REF_COUNT_NOT_ZERO, - - /* Message from SLM has failure status */ - eHAL_STATUS_FW_SEND_MSG_FAILED, - - /* BSS disconnect status : beacon miss */ - eHAL_STATUS_BSS_DISCONN_BEACON_MISS, - /* BSS disconnect status : deauth */ - eHAL_STATUS_BSS_DISCONN_DEAUTH, - /* BSS disconnect status : disassoc */ - eHAL_STATUS_BSS_DISCONN_DISASSOC, - - /* Data abort happened in PHY sw */ - eHAL_STATUS_PHY_DATA_ABORT, - - /* Invalid NV field */ - eHAL_STATUS_PHY_INVALID_NV_FIELD, - - /* WLAN boot test failed */ - eHAL_STATUS_WLAN_BOOT_TEST_FAILURE, - - /* Max status value */ - eHAL_STATUS_MAX_VALUE = WLAN_STATUS_MAX_ENUM_SIZE - -} palStatus, eHalStatus; - -/* Helper Macros */ -#define PAL_IS_STATUS_SUCCESS(status) (PAL_STATUS_SUCCESS == (status)) -#define HAL_STATUS_SUCCESS( status ) (eHAL_STATUS_SUCCESS == (status)) - -#endif //__WLAN_STATUS_CODE_H__ |
