diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2014-10-14 14:57:50 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-10-14 14:57:50 -0700 |
| commit | 9c3b86abe2e76779d8be4e2188ea176caf6e5287 (patch) | |
| tree | e8103f6ce8a1edf3d60029b4f99f9f5ce4523a54 | |
| parent | 5c116490962cdc132f3f8056f7dde197e818bd1f (diff) | |
| parent | f4c5ad72a7a2f7d7f8d9dbd3c880f2983cd5bfd9 (diff) | |
Merge "Release 1.0.0.210 QCACLD WLAN Driver"
88 files changed, 181 insertions, 25456 deletions
diff --git a/CORE/CLD_TXRX/TXRX/txrx.h b/CORE/CLD_TXRX/TXRX/txrx.h index 89645112ee8a..c5b705031cdf 100644 --- a/CORE/CLD_TXRX/TXRX/txrx.h +++ b/CORE/CLD_TXRX/TXRX/txrx.h @@ -138,7 +138,6 @@ struct wlan_txrx_ind_req { }; struct wlan_txrx_config_param { - u8 ucAcWeights[TXRX_NUM_WMM_AC]; u32 uDelayedTriggerFrmInt; u8 uMinFramesProcThres; }; diff --git a/CORE/HDD/inc/qc_sap_ioctl.h b/CORE/HDD/inc/qc_sap_ioctl.h index 63f30a181532..77bb4b54e346 100644 --- a/CORE/HDD/inc/qc_sap_ioctl.h +++ b/CORE/HDD/inc/qc_sap_ioctl.h @@ -170,15 +170,15 @@ typedef struct #define QCSAP_IOCTL_GET_STA_INFO (SIOCIWFIRSTPRIV+21) #define QCSAP_IOCTL_SET_MAX_TX_POWER (SIOCIWFIRSTPRIV+22) #define QCSAP_IOCTL_DATAPATH_SNAP_SHOT (SIOCIWFIRSTPRIV+23) -#define QCSAP_IOCTL_GET_INI_CFG (SIOCIWFIRSTPRIV+24) -#define QCSAP_IOCTL_SET_INI_CFG (SIOCIWFIRSTPRIV+25) -#define QCSAP_IOCTL_SET_TWO_INT_GET_NONE (SIOCIWFIRSTPRIV + 26) +#define QCSAP_IOCTL_GET_INI_CFG (SIOCIWFIRSTPRIV+25) +#define QCSAP_IOCTL_SET_INI_CFG (SIOCIWFIRSTPRIV+26) +#define QCSAP_IOCTL_SET_TWO_INT_GET_NONE (SIOCIWFIRSTPRIV + 28) #ifdef DEBUG #define QCSAP_IOCTL_SET_FW_CRASH_INJECT 1 #endif #define MAX_VAR_ARGS 7 -#define QCSAP_IOCTL_PRIV_GET_SOFTAP_LINK_SPEED (SIOCIWFIRSTPRIV + 27) +#define QCSAP_IOCTL_PRIV_GET_SOFTAP_LINK_SPEED (SIOCIWFIRSTPRIV + 31) #define QCSAP_IOCTL_MAX_STR_LEN 1024 diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index c1d3eaf27676..d3a9e842e607 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -69,18 +69,6 @@ #define CFG_FRAG_THRESHOLD_MAX WNI_CFG_FRAGMENTATION_THRESHOLD_STAMAX #define CFG_FRAG_THRESHOLD_DEFAULT WNI_CFG_FRAGMENTATION_THRESHOLD_STADEF -#define CFG_CALIBRATION_NAME "gCalibration" -#define CFG_CALIBRATION_MIN ( 0 ) -#define CFG_CALIBRATION_MAX ( 1 ) -#define CFG_CALIBRATION_MAC_DEFAULT ( 1 ) -#define CFG_CALIBRATION_DEFAULT CFG_CALIBRATION_MAC_DEFAULT - -#define CFG_CALIBRATION_PERIOD_NAME "gCalibrationPeriod" -#define CFG_CALIBRATION_PERIOD_MIN ( 2 ) -#define CFG_CALIBRATION_PERIOD_MAX ( 10 ) -#define CFG_CALIBRATION_PERIOD_MAC_DEFAULT ( 5 ) -#define CFG_CALIBRATION_PERIOD_DEFAULT CFG_CALIBRATION_PERIOD_MAC_DEFAULT - #define CFG_OPERATING_CHANNEL_NAME "gOperatingChannel" #define CFG_OPERATING_CHANNEL_MIN ( 0 ) #define CFG_OPERATING_CHANNEL_MAX ( 14 ) @@ -938,51 +926,11 @@ typedef enum #define CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT (0x2001) // TL configuration -#define CFG_TL_WFQ_BK_WEIGHT_NAME "WfqBkWeight" -#define CFG_TL_WFQ_BK_WEIGHT_MIN 1 -#define CFG_TL_WFQ_BK_WEIGHT_MAX 0xFF -#define CFG_TL_WFQ_BK_WEIGHT_DEFAULT 1 - -#define CFG_TL_WFQ_BE_WEIGHT_NAME "WfqBeWeight" -#define CFG_TL_WFQ_BE_WEIGHT_MIN 1 -#define CFG_TL_WFQ_BE_WEIGHT_MAX 0xFF -#define CFG_TL_WFQ_BE_WEIGHT_DEFAULT 3 - -#define CFG_TL_WFQ_VI_WEIGHT_NAME "WfqViWeight" -#define CFG_TL_WFQ_VI_WEIGHT_MIN 1 -#define CFG_TL_WFQ_VI_WEIGHT_MAX 0xFF -#define CFG_TL_WFQ_VI_WEIGHT_DEFAULT 5 - -#define CFG_TL_WFQ_VO_WEIGHT_NAME "WfqVoWeight" -#define CFG_TL_WFQ_VO_WEIGHT_MIN 1 -#define CFG_TL_WFQ_VO_WEIGHT_MAX 0xFF -#define CFG_TL_WFQ_VO_WEIGHT_DEFAULT 7 - #define CFG_TL_DELAYED_TRGR_FRM_INT_NAME "DelayedTriggerFrmInt" #define CFG_TL_DELAYED_TRGR_FRM_INT_MIN 1 #define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL) #define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000 -#define CFG_REORDER_TIME_BK_NAME "BkReorderTime" -#define CFG_REORDER_TIME_BK_MIN 30 -#define CFG_REORDER_TIME_BK_MAX 1000 -#define CFG_REORDER_TIME_BK_DEFAULT 100 - -#define CFG_REORDER_TIME_BE_NAME "BeReorderTime" -#define CFG_REORDER_TIME_BE_MIN 30 -#define CFG_REORDER_TIME_BE_MAX 1000 -#define CFG_REORDER_TIME_BE_DEFAULT 100 - -#define CFG_REORDER_TIME_VI_NAME "ViReorderTime" -#define CFG_REORDER_TIME_VI_MIN 30 -#define CFG_REORDER_TIME_VI_MAX 1000 -#define CFG_REORDER_TIME_VI_DEFAULT 100 - -#define CFG_REORDER_TIME_VO_NAME "VoReorderTime" -#define CFG_REORDER_TIME_VO_MIN 30 -#define CFG_REORDER_TIME_VO_MAX 1000 -#define CFG_REORDER_TIME_VO_DEFAULT 40 - #if defined WLAN_FEATURE_VOWIFI #define CFG_RRM_ENABLE_NAME "gRrmEnable" #define CFG_RRM_ENABLE_MIN (0) @@ -1020,139 +968,6 @@ typedef enum #define CFG_BTC_EXECUTION_MODE_MAX ( 5 ) #define CFG_BTC_EXECUTION_MODE_DEFAULT ( 0 ) -#define CFG_BTC_DHCP_PROTECTION_NAME "BtcConsBtSlotToBlockDuringDhcp" -#define CFG_BTC_DHCP_PROTECTION_MIN ( 0 ) -#define CFG_BTC_DHCP_PROTECTION_MAX ( 0xFF ) -#define CFG_BTC_DHCP_PROTECTION_DEFAULT ( 0 ) - -#define CFG_BTC_A2DP_DHCP_PROTECTION_NAME "BtcA2DPDhcpProtectLevel" -#define CFG_BTC_A2DP_DHCP_PROTECTION_MIN ( 0 ) -#define CFG_BTC_A2DP_DHCP_PROTECTION_MAX ( 0xFF ) -#define CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT ( 7 ) - -#define CFG_BTC_STATIC_LEN_INQ_BT_NAME "btcStaticLenInqBt" -#define CFG_BTC_STATIC_LEN_INQ_BT_MIN ( 5000 ) -#define CFG_BTC_STATIC_LEN_INQ_BT_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT ( 120000 ) - -#define CFG_BTC_STATIC_LEN_PAGE_BT_NAME "btcStaticLenPageBt" -#define CFG_BTC_STATIC_LEN_PAGE_BT_MIN ( 5000 ) -#define CFG_BTC_STATIC_LEN_PAGE_BT_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT ( 120000 ) - -#define CFG_BTC_STATIC_LEN_CONN_BT_NAME "btcStaticLenConnBt" -#define CFG_BTC_STATIC_LEN_CONN_BT_MIN ( 5000 ) -#define CFG_BTC_STATIC_LEN_CONN_BT_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT ( 120000 ) - -#define CFG_BTC_STATIC_LEN_LE_BT_NAME "btcStaticLenLeBt" -#define CFG_BTC_STATIC_LEN_LE_BT_MIN ( 5000 ) -#define CFG_BTC_STATIC_LEN_LE_BT_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_LE_BT_DEFAULT ( 120000 ) - -#define CFG_BTC_STATIC_LEN_INQ_WLAN_NAME "btcStaticLenInqWlan" -#define CFG_BTC_STATIC_LEN_INQ_WLAN_MIN ( 0 ) -#define CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT ( 30000 ) - -#define CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME "btcStaticLenPageWlan" -#define CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN ( 0 ) -#define CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT ( 30000 ) - -#define CFG_BTC_STATIC_LEN_CONN_WLAN_NAME "btcStaticLenConnWlan" -#define CFG_BTC_STATIC_LEN_CONN_WLAN_MIN ( 0 ) -#define CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT ( 30000 ) - -#define CFG_BTC_STATIC_LEN_LE_WLAN_NAME "btcStaticLenLeWlan" -#define CFG_BTC_STATIC_LEN_LE_WLAN_MIN ( 0 ) -#define CFG_BTC_STATIC_LEN_LE_WLAN_MAX ( 500000 ) -#define CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT ( 30000 ) - -#define CFG_BTC_DYN_MAX_LEN_BT_NAME "btcDynMaxLenBt" -#define CFG_BTC_DYN_MAX_LEN_BT_MIN ( 25000 ) -#define CFG_BTC_DYN_MAX_LEN_BT_MAX ( 500000 ) -#define CFG_BTC_DYN_MAX_LEN_BT_DEFAULT ( 250000 ) - -#define CFG_BTC_DYN_MAX_LEN_WLAN_NAME "btcDynMaxLenWlan" -#define CFG_BTC_DYN_MAX_LEN_WLAN_MIN ( 15000 ) -#define CFG_BTC_DYN_MAX_LEN_WLAN_MAX ( 500000 ) -#define CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT ( 45000 ) - -#define CFG_BTC_MAX_SCO_BLOCK_PERC_NAME "btcMaxScoBlockPerc" -#define CFG_BTC_MAX_SCO_BLOCK_PERC_MIN ( 0 ) -#define CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ( 100 ) -#define CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT ( 1 ) - -#define CFG_BTC_DHCP_PROT_ON_A2DP_NAME "btcDhcpProtOnA2dp" -#define CFG_BTC_DHCP_PROT_ON_A2DP_MIN ( 0 ) -#define CFG_BTC_DHCP_PROT_ON_A2DP_MAX ( 1 ) -#define CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT ( 1 ) - -#define CFG_BTC_DHCP_PROT_ON_SCO_NAME "btcDhcpProtOnSco" -#define CFG_BTC_DHCP_PROT_ON_SCO_MIN ( 0 ) -#define CFG_BTC_DHCP_PROT_ON_SCO_MAX ( 1 ) -#define CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT ( 0 ) - -#define CFG_MWS_COEX_V1_WAN_FREQ_NAME "mwsCoexVictim1WANFreq" -#define CFG_MWS_COEX_VX_WAN_FREQ_MIN ( 0 ) -#define CFG_MWS_COEX_VX_WAN_FREQ_MAX ( 0xFFFFFFFF ) -#define CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT ( 0 ) - -#define CFG_MWS_COEX_V1_WLAN_FREQ_NAME "mwsCoexVictim1WLANFreq" -#define CFG_MWS_COEX_VX_WLAN_FREQ_MIN ( 0 ) -#define CFG_MWS_COEX_VX_WLAN_FREQ_MAX ( 0xFFFFFFFF ) -#define CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT ( 0 ) - -#define CFG_MWS_COEX_V1_CONFIG_NAME "mwsCoexVictim1Config" -#define CFG_MWS_COEX_V1_CONFIG2_NAME "mwsCoexVictim1Config2" -#define CFG_MWS_COEX_VX_CONFIG_MIN ( 0 ) -#define CFG_MWS_COEX_VX_CONFIG_MAX ( 0xFFFFFFFF ) -#define CFG_MWS_COEX_VX_CONFIG_DEFAULT ( 0 ) - -#define CFG_MWS_COEX_V2_WAN_FREQ_NAME "mwsCoexVictim2WANFreq" -#define CFG_MWS_COEX_V2_WLAN_FREQ_NAME "mwsCoexVictim2WLANFreq" -#define CFG_MWS_COEX_V2_CONFIG_NAME "mwsCoexVictim2Config" -#define CFG_MWS_COEX_V2_CONFIG2_NAME "mwsCoexVictim2Config2" -#define CFG_MWS_COEX_V3_WAN_FREQ_NAME "mwsCoexVictim3WANFreq" -#define CFG_MWS_COEX_V3_WLAN_FREQ_NAME "mwsCoexVictim3WLANFreq" -#define CFG_MWS_COEX_V3_CONFIG_NAME "mwsCoexVictim3Config" -#define CFG_MWS_COEX_V3_CONFIG2_NAME "mwsCoexVictim3Config2" -#define CFG_MWS_COEX_V4_WAN_FREQ_NAME "mwsCoexVictim4WANFreq" -#define CFG_MWS_COEX_V4_WLAN_FREQ_NAME "mwsCoexVictim4WLANFreq" -#define CFG_MWS_COEX_V4_CONFIG_NAME "mwsCoexVictim4Config" -#define CFG_MWS_COEX_V4_CONFIG2_NAME "mwsCoexVictim4Config2" -#define CFG_MWS_COEX_V5_WAN_FREQ_NAME "mwsCoexVictim5WANFreq" -#define CFG_MWS_COEX_V5_WLAN_FREQ_NAME "mwsCoexVictim5WLANFreq" -#define CFG_MWS_COEX_V5_CONFIG_NAME "mwsCoexVictim5Config" -#define CFG_MWS_COEX_V5_CONFIG2_NAME "mwsCoexVictim5Config2" -#define CFG_MWS_COEX_V6_WAN_FREQ_NAME "mwsCoexVictim6WANFreq" -#define CFG_MWS_COEX_V6_WLAN_FREQ_NAME "mwsCoexVictim6WLANFreq" -#define CFG_MWS_COEX_V6_CONFIG_NAME "mwsCoexVictim6Config" -#define CFG_MWS_COEX_V6_CONFIG2_NAME "mwsCoexVictim6Config2" -#define CFG_MWS_COEX_V7_WAN_FREQ_NAME "mwsCoexVictim7WANFreq" -#define CFG_MWS_COEX_V7_WLAN_FREQ_NAME "mwsCoexVictim7WLANFreq" -#define CFG_MWS_COEX_V7_CONFIG_NAME "mwsCoexVictim7Config" -#define CFG_MWS_COEX_V7_CONFIG2_NAME "mwsCoexVictim7Config2" -#define CFG_MWS_COEX_V8_WAN_FREQ_NAME "mwsCoexVictim8WANFreq" -#define CFG_MWS_COEX_V8_WLAN_FREQ_NAME "mwsCoexVictim8WLANFreq" -#define CFG_MWS_COEX_V8_CONFIG_NAME "mwsCoexVictim8Config" -#define CFG_MWS_COEX_V8_CONFIG2_NAME "mwsCoexVictim8Config2" -#define CFG_MWS_COEX_V9_WAN_FREQ_NAME "mwsCoexVictim9WANFreq" -#define CFG_MWS_COEX_V9_WLAN_FREQ_NAME "mwsCoexVictim9WLANFreq" -#define CFG_MWS_COEX_V9_CONFIG_NAME "mwsCoexVictim9Config" -#define CFG_MWS_COEX_V9_CONFIG2_NAME "mwsCoexVictim9Config2" -#define CFG_MWS_COEX_V10_WAN_FREQ_NAME "mwsCoexVictim10WANFreq" -#define CFG_MWS_COEX_V10_WLAN_FREQ_NAME "mwsCoexVictim10WLANFreq" -#define CFG_MWS_COEX_V10_CONFIG_NAME "mwsCoexVictim10Config" -#define CFG_MWS_COEX_V10_CONFIG2_NAME "mwsCoexVictim10Config2" - -#define CFG_MWS_COEX_MODEM_BACKOFF_NAME "mwsCoexModemBackoff" -#define CFG_MWS_COEX_MODEM_BACKOFF_MIN ( 0 ) -#define CFG_MWS_COEX_MODEM_BACKOFF_MAX ( 0xFFFFFFFF ) -#define CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT ( 0 ) - #define CFG_MWS_COEX_CONFIG1_NAME "mwsCoexConfig1" #define CFG_MWS_COEX_CONFIGX_MIN ( 0 ) #define CFG_MWS_COEX_CONFIGX_MAX ( 0xFFFFFFFF ) @@ -1163,11 +978,6 @@ typedef enum #define CFG_MWS_COEX_CONFIG5_NAME "mwsCoexConfig5" #define CFG_MWS_COEX_CONFIG6_NAME "mwsCoexConfig6" -#define CFG_SAR_POWER_BACKOFF_NAME "SARPowerBackoff" -#define CFG_SAR_POWER_BACKOFF_MIN ( 0 ) -#define CFG_SAR_POWER_BACKOFF_MAX ( 0xFFFFFFFF ) -#define CFG_SAR_POWER_BACKOFF_DEFAULT ( 0 ) - #if defined WLAN_FEATURE_VOWIFI_11R #define CFG_FT_RESOURCE_REQ_NAME "gFTResourceReqSupported" #define CFG_FT_RESOURCE_REQ_MIN (0) @@ -2096,9 +1906,6 @@ typedef enum #define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX ( 14 ) #define CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT ( 6 ) -#define CFG_LIST_OF_NON_11AC_COUNTRY_CODE "gListOfNon11acCountryCode" -#define CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT "RU,UA,ZA" - /* Parameter to control VHT support in 2.4 GHz band */ #define CFG_ENABLE_VHT_FOR_24GHZ_NAME "gEnableVhtFor24GHzBand" #define CFG_ENABLE_VHT_FOR_24GHZ_MIN (0) @@ -2155,23 +1962,6 @@ typedef enum #define CFG_ENABLE_SNR_MONITORING_MIN ( 0 ) #define CFG_ENABLE_SNR_MONITORING_MAX ( 1 ) #define CFG_ENABLE_SNR_MONITORING_DEFAULT ( 0 ) -//Macro to enable/disable dynamic timer -#define CFG_DYNAMIC_SPLIT_SCAN_NAME "gEnableDynSplitScan" -#define CFG_DYNAMIC_SPLIT_SCAN_MIN ( 0 ) -#define CFG_DYNAMIC_SPLIT_SCAN_MAX ( 1 ) -#define CFG_DYNAMIC_SPLIT_SCAN_DEFAULT ( 1 ) - -//Macro to monitor the packet count -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME "gSplitScanTxRxThreshold" -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN ( 10 ) -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ( 100 ) -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT ( 50 ) - -//Macro to handle the monitor timer value in milliseconds -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME "gSplitScanTxRxTimer" -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN ( 1000 ) -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ( 10000 ) -#define CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT ( 5000 ) #ifdef FEATURE_WLAN_SCAN_PNO #define CFG_PNO_SCAN_SUPPORT "gPNOScanSupport" @@ -2512,11 +2302,6 @@ This feature requires the dependent cfg.ini "gRoamPrefer5GHz" set to 1 */ #define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_DEFAULT ( 1500 ) #endif /* QCA_LL_TX_FLOW_CT */ -#define CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_NAME "gEnableStrictRegulatoryForFCC" -#define CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MIN ( 0 ) -#define CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MAX ( 1 ) -#define CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_DEFAULT ( 0 ) - #define CFG_SAP_MAX_OFFLOAD_PEERS "gMaxOffloadPeers" #define CFG_SAP_MAX_OFFLOAD_PEERS_MIN (2) #define CFG_SAP_MAX_OFFLOAD_PEERS_MAX (5) @@ -2807,9 +2592,6 @@ typedef struct //Config parameters v_U32_t RTSThreshold; v_U32_t FragmentationThreshold; - v_U32_t nCheckForHangTime; - v_U32_t Calibration; - v_U32_t CalibrationPeriod; v_U8_t OperatingChannel; v_BOOL_t ShortSlotTimeEnabled; v_BOOL_t Is11dSupportEnabled; @@ -2822,31 +2604,10 @@ typedef struct char PowerUsageControl[4]; v_U8_t nEnableSuspend; v_U8_t nEnableDriverStop; - v_BOOL_t fIsImpsEnabled; v_BOOL_t fIsLogpEnabled; v_U8_t btcExecutionMode; - v_U8_t btcConsBtSlotsToBlockDuringDhcp; - v_U8_t btcA2DPBtSubIntervalsDuringDhcp; - v_U32_t btcStaticLenInqBt; - v_U32_t btcStaticLenPageBt; - v_U32_t btcStaticLenConnBt; - v_U32_t btcStaticLenLeBt; - v_U32_t btcStaticLenInqWlan; - v_U32_t btcStaticLenPageWlan; - v_U32_t btcStaticLenConnWlan; - v_U32_t btcStaticLenLeWlan; - v_U32_t btcDynMaxLenBt; - v_U32_t btcDynMaxLenWlan; - v_U32_t btcMaxScoBlockPerc; - v_U32_t btcDhcpProtOnA2dp; - v_U32_t btcDhcpProtOnSco; - v_U32_t mwsCoexVictimWANFreq[10]; - v_U32_t mwsCoexVictimWLANFreq[10]; - v_U32_t mwsCoexVictimConfig[10]; - v_U32_t mwsCoexVictimConfig2[10]; - v_U32_t mwsCoexModemBackoff; v_U32_t mwsCoexConfig[6]; - v_U32_t SARPowerBackoff; + v_BOOL_t fIsImpsEnabled; v_U32_t nImpsModSleepTime; v_U32_t nImpsMaxSleepTime; v_U32_t nImpsMinSleepTime; @@ -2860,9 +2621,7 @@ typedef struct v_U32_t nChannelBondingMode24GHz; v_U32_t nChannelBondingMode5GHz; v_U32_t MaxRxAmpduFactor; - v_U32_t nBAAgingTimerInterval; v_U16_t TxRate; - v_U32_t AdaptiveThresholdAlgo; v_U32_t ShortGI20MhzEnable; v_U32_t BlockAckAutoSetup; v_U32_t ScanResultAgeCount; @@ -3035,15 +2794,7 @@ typedef struct v_U16_t InfraSbaAcBk; /* TL related configuration */ - v_U8_t WfqBkWeight; - v_U8_t WfqBeWeight; - v_U8_t WfqViWeight; - v_U8_t WfqVoWeight; v_U32_t DelayedTriggerFrmInt; - v_U16_t BkReorderAgingTime; - v_U16_t BeReorderAgingTime; - v_U16_t ViReorderAgingTime; - v_U16_t VoReorderAgingTime; /* Wowl pattern */ char wowlPattern[1024]; @@ -3106,14 +2857,14 @@ typedef struct v_U8_t ShortGI40MhzEnable; eHddLinkSpeedReportType reportMaxLinkSpeed; v_S31_t linkSpeedRssiHigh; + v_S31_t linkSpeedRssiMid; + v_S31_t linkSpeedRssiLow; #if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_LFR) v_BOOL_t nRoamPrefer5GHz; v_BOOL_t nRoamIntraBand; v_U8_t nProbes; v_U16_t nRoamScanHomeAwayTime; #endif - v_S31_t linkSpeedRssiMid; - v_S31_t linkSpeedRssiLow; v_U8_t enableMCC; v_U8_t allowMCCGODiffBI; v_BOOL_t isP2pDeviceAddrAdministrated; @@ -3194,7 +2945,6 @@ typedef struct v_U8_t disableAggWithBtc; char listOfNonDfsCountryCode[128]; v_BOOL_t enableSSR; - char listOfNon11acCountryCode[128]; v_U32_t cfgMaxMediumTime; v_BOOL_t enableVhtFor24GHzBand; v_U8_t fScanOffload; @@ -3203,12 +2953,6 @@ typedef struct v_BOOL_t bFastRoamInConIniFeatureEnabled; #endif v_BOOL_t fEnableAdaptRxDrain; - //TX and RX traffic threshold for split scan - v_U8_t txRxThresholdForSplitScan; - v_U8_t dynSplitscan; //Enable/Disable dynamic - //splitscan - //Traffic monitor timer for split scan - v_U32_t trafficMntrTmrForSplitScan; v_U8_t flexConnectPowerFactor; v_BOOL_t enableIbssHeartBeatOffload; v_U32_t antennaDiversity; @@ -3293,7 +3037,6 @@ typedef struct v_U32_t TxHbwFlowMaxQueueDepth; #endif /* QCA_LL_TX_FLOW_CT */ v_U16_t acsBandSwitchThreshold; - v_BOOL_t gEnableStrictRegulatoryForFCC; v_U8_t apMaxOffloadPeers; v_U8_t apMaxOffloadReorderBuffs; v_BOOL_t advertiseConcurrentOperation; diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h index 6e91a699a298..c90e2ee66df3 100644 --- a/CORE/HDD/inc/wlan_hdd_main.h +++ b/CORE/HDD/inc/wlan_hdd_main.h @@ -1423,10 +1423,6 @@ struct hdd_context_s // Indicates about pending sched_scan results v_BOOL_t isSchedScanUpdatePending; - /* - * TX_rx_pkt_count_timer - */ - vos_timer_t tx_rx_trafficTmr; #ifdef MSM_PLATFORM /* DDR bus bandwidth compute timer @@ -1438,8 +1434,6 @@ struct hdd_context_s uint64_t prev_rx; #endif - v_U8_t issplitscan_enabled; - /* VHT80 allowed*/ v_BOOL_t isVHT80Allowed; diff --git a/CORE/HDD/inc/wlan_hdd_tx_rx.h b/CORE/HDD/inc/wlan_hdd_tx_rx.h index 7d325393caaa..ae2a9e8d54cd 100644 --- a/CORE/HDD/inc/wlan_hdd_tx_rx.h +++ b/CORE/HDD/inc/wlan_hdd_tx_rx.h @@ -265,14 +265,6 @@ VOS_STATUS hdd_Ibss_GetStaId(hdd_station_ctx_t *pHddStaCtx, v_MACADDR_t *pMacAddress, v_U8_t *staId); /**============================================================================ - @brief hdd_tx_rx_pkt_cnt_stat_timer_handler() - - Timer handler to check enable/disable split scan - @param pHddStaCtx : Hdd adapter - @return : VOS_STATUS_SUCCESS/VOS_STATUS_E_FAILURE - ===========================================================================*/ -void hdd_tx_rx_pkt_cnt_stat_timer_handler( void *pAdapter); - -/**============================================================================ @brief hdd_flush_ibss_tx_queues() - Flush tx queues in IBSS mode @param pAdapter: Hdd adapter diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c index 6f095c89b7c6..2a163fe5c9cf 100644 --- a/CORE/HDD/src/wlan_hdd_assoc.c +++ b/CORE/HDD/src/wlan_hdd_assoc.c @@ -1098,7 +1098,6 @@ static VOS_STATUS hdd_roamRegisterSTA( hdd_adapter_t *pAdapter, v_BOOL_t fConnected; hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); - hdd_config_t *cfg_param = pHddCtx->cfg_ini; if ( NULL == pBssDesc) { @@ -1242,14 +1241,6 @@ static VOS_STATUS hdd_roamRegisterSTA( hdd_adapter_t *pAdapter, return vosStatus; } - if ( cfg_param->dynSplitscan && - ( VOS_TIMER_STATE_RUNNING != - vos_timer_getCurrentState(&pHddCtx->tx_rx_trafficTmr))) - { - vos_timer_start(&pHddCtx->tx_rx_trafficTmr, - cfg_param->trafficMntrTmrForSplitScan); - } - // if (WPA), tell TL to go to 'connected' and after keys come to the driver, // then go to 'authenticated'. For all other authentication types // (those that donot require upper layer authentication) we can put @@ -2509,8 +2500,6 @@ VOS_STATUS hdd_roamRegisterTDLSSTA( hdd_adapter_t *pAdapter, WLAN_STADescType staDesc = {0}; eCsrEncryptionType connectedCipherAlgo = eCSR_ENCRYPT_TYPE_UNKNOWN; v_BOOL_t fConnected = FALSE; - hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); - hdd_config_t *cfg_param = pHddCtx->cfg_ini; fConnected = hdd_connGetConnectedCipherAlgo( pHddStaCtx, &connectedCipherAlgo ); if (!fConnected) { @@ -2598,13 +2587,6 @@ VOS_STATUS hdd_roamRegisterTDLSSTA( hdd_adapter_t *pAdapter, return vosStatus; } - if ( cfg_param->dynSplitscan && - ( VOS_TIMER_STATE_RUNNING != - vos_timer_getCurrentState(&pHddCtx->tx_rx_trafficTmr)) ) - { - vos_timer_start(&pHddCtx->tx_rx_trafficTmr, - cfg_param->trafficMntrTmrForSplitScan); - } return( vosStatus ); } diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index b69b0e59fab2..56ea21917f36 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -345,20 +345,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_FRAG_THRESHOLD_MIN, CFG_FRAG_THRESHOLD_MAX ), - REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer, - hdd_config_t, Calibration, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_CALIBRATION_DEFAULT, - CFG_CALIBRATION_MIN, - CFG_CALIBRATION_MAX ), - - REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer, - hdd_config_t, CalibrationPeriod, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_CALIBRATION_PERIOD_DEFAULT, - CFG_CALIBRATION_PERIOD_MIN, - CFG_CALIBRATION_PERIOD_MAX ), - REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer, hdd_config_t, OperatingChannel, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -441,13 +427,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ENABLE_ENABLE_DRIVER_STOP_MIN, CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ), - REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer, - hdd_config_t, fIsImpsEnabled, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ENABLE_IMPS_DEFAULT, - CFG_ENABLE_IMPS_MIN, - CFG_ENABLE_IMPS_MAX ), - REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer, hdd_config_t, fIsLogpEnabled, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -455,6 +434,13 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ENABLE_LOGP_MIN, CFG_ENABLE_LOGP_MAX ), + REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer, + hdd_config_t, fIsImpsEnabled, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_ENABLE_IMPS_DEFAULT, + CFG_ENABLE_IMPS_MIN, + CFG_ENABLE_IMPS_MAX ), + REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer, hdd_config_t, nImpsMinSleepTime, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -1344,34 +1330,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN, CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ), - REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer, - hdd_config_t, WfqBkWeight, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_TL_WFQ_BK_WEIGHT_DEFAULT, - CFG_TL_WFQ_BK_WEIGHT_MIN, - CFG_TL_WFQ_BK_WEIGHT_MAX ), - - REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer, - hdd_config_t, WfqBeWeight, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_TL_WFQ_BE_WEIGHT_DEFAULT, - CFG_TL_WFQ_BE_WEIGHT_MIN, - CFG_TL_WFQ_BE_WEIGHT_MAX ), - - REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer, - hdd_config_t, WfqViWeight, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_TL_WFQ_VI_WEIGHT_DEFAULT, - CFG_TL_WFQ_VI_WEIGHT_MIN, - CFG_TL_WFQ_VI_WEIGHT_MAX ), - - REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer, - hdd_config_t, WfqVoWeight, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_TL_WFQ_VO_WEIGHT_DEFAULT, - CFG_TL_WFQ_VO_WEIGHT_MIN, - CFG_TL_WFQ_VO_WEIGHT_MAX ), - REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer, hdd_config_t, DelayedTriggerFrmInt, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -1379,34 +1337,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_TL_DELAYED_TRGR_FRM_INT_MIN, CFG_TL_DELAYED_TRGR_FRM_INT_MAX ), - REG_VARIABLE( CFG_REORDER_TIME_BK_NAME , WLAN_PARAM_Integer, - hdd_config_t, BkReorderAgingTime, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_REORDER_TIME_BK_DEFAULT, - CFG_REORDER_TIME_BK_MIN, - CFG_REORDER_TIME_BK_MAX ), - - REG_VARIABLE( CFG_REORDER_TIME_BE_NAME , WLAN_PARAM_Integer, - hdd_config_t, BeReorderAgingTime, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_REORDER_TIME_BE_DEFAULT, - CFG_REORDER_TIME_BE_MIN, - CFG_REORDER_TIME_BE_MAX ), - - REG_VARIABLE( CFG_REORDER_TIME_VI_NAME , WLAN_PARAM_Integer, - hdd_config_t, ViReorderAgingTime, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_REORDER_TIME_VI_DEFAULT, - CFG_REORDER_TIME_VI_MIN, - CFG_REORDER_TIME_VI_MAX ), - - REG_VARIABLE( CFG_REORDER_TIME_VO_NAME , WLAN_PARAM_Integer, - hdd_config_t, VoReorderAgingTime, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_REORDER_TIME_VO_DEFAULT, - CFG_REORDER_TIME_VO_MIN, - CFG_REORDER_TIME_VO_MAX ), - REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String, hdd_config_t, wowlPattern, VAR_FLAGS_OPTIONAL, @@ -1426,398 +1356,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_BTC_EXECUTION_MODE_MIN, CFG_BTC_EXECUTION_MODE_MAX ), - REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcConsBtSlotsToBlockDuringDhcp, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_DHCP_PROTECTION_DEFAULT, - CFG_BTC_DHCP_PROTECTION_MIN, - CFG_BTC_DHCP_PROTECTION_MAX ), - - REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT, - CFG_BTC_A2DP_DHCP_PROTECTION_MIN, - CFG_BTC_A2DP_DHCP_PROTECTION_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenInqBt, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT, - CFG_BTC_STATIC_LEN_INQ_BT_MIN, - CFG_BTC_STATIC_LEN_INQ_BT_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenPageBt, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT, - CFG_BTC_STATIC_LEN_PAGE_BT_MIN, - CFG_BTC_STATIC_LEN_PAGE_BT_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenConnBt, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT, - CFG_BTC_STATIC_LEN_CONN_BT_MIN, - CFG_BTC_STATIC_LEN_CONN_BT_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenLeBt, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_LE_BT_DEFAULT, - CFG_BTC_STATIC_LEN_LE_BT_MIN, - CFG_BTC_STATIC_LEN_LE_BT_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenInqWlan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT, - CFG_BTC_STATIC_LEN_INQ_WLAN_MIN, - CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenPageWlan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT, - CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN, - CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenConnWlan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT, - CFG_BTC_STATIC_LEN_CONN_WLAN_MIN, - CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ), - - REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcStaticLenLeWlan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT, - CFG_BTC_STATIC_LEN_LE_WLAN_MIN, - CFG_BTC_STATIC_LEN_LE_WLAN_MAX ), - - REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcDynMaxLenBt, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_DYN_MAX_LEN_BT_DEFAULT, - CFG_BTC_DYN_MAX_LEN_BT_MIN, - CFG_BTC_DYN_MAX_LEN_BT_MAX ), - - REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcDynMaxLenWlan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT, - CFG_BTC_DYN_MAX_LEN_WLAN_MIN, - CFG_BTC_DYN_MAX_LEN_WLAN_MAX ), - - REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcMaxScoBlockPerc, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT, - CFG_BTC_MAX_SCO_BLOCK_PERC_MIN, - CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ), - - REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcDhcpProtOnA2dp, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT, - CFG_BTC_DHCP_PROT_ON_A2DP_MIN, - CFG_BTC_DHCP_PROT_ON_A2DP_MAX ), - - REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer, - hdd_config_t, btcDhcpProtOnSco, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT, - CFG_BTC_DHCP_PROT_ON_SCO_MIN, - CFG_BTC_DHCP_PROT_ON_SCO_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[0], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[0], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[0], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[0], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[1], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[1], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[1], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[1], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[2], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[2], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[2], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[2], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[3], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[3], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[3], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[3], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[4], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[4], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[4], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[4], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[5], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[5], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[5], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[5], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[6], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[6], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[6], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[6], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[7], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[7], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[7], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[7], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[8], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[8], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[8], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[8], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWANFreq[9], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WAN_FREQ_MIN, - CFG_MWS_COEX_VX_WAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimWLANFreq[9], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT, - CFG_MWS_COEX_VX_WLAN_FREQ_MIN, - CFG_MWS_COEX_VX_WLAN_FREQ_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig[9], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexVictimConfig2[9], - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_DEFAULT, - CFG_MWS_COEX_VX_CONFIG_MIN, - CFG_MWS_COEX_VX_CONFIG_MAX ), - - REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer, - hdd_config_t, mwsCoexModemBackoff, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT, - CFG_MWS_COEX_MODEM_BACKOFF_MIN, - CFG_MWS_COEX_MODEM_BACKOFF_MAX ), - REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer, hdd_config_t, mwsCoexConfig[0], VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -1860,13 +1398,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_MWS_COEX_CONFIGX_MIN, CFG_MWS_COEX_CONFIGX_MAX ), - REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer, - hdd_config_t, SARPowerBackoff, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_SAR_POWER_BACKOFF_DEFAULT, - CFG_SAR_POWER_BACKOFF_MIN, - CFG_SAR_POWER_BACKOFF_MAX ), - REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer, hdd_config_t, nEnableListenMode, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -2942,11 +2473,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ENABLE_SSR_MAX, cbNotifySetEnableSSR, 0 ), - REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String, - hdd_config_t, listOfNon11acCountryCode, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT), - REG_VARIABLE( CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer, hdd_config_t, cfgMaxMediumTime, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -2987,27 +2513,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ENABLE_ADAPT_RX_DRAIN_MIN, CFG_ENABLE_ADAPT_RX_DRAIN_MAX), - REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer, - hdd_config_t, dynSplitscan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_DYNAMIC_SPLIT_SCAN_DEFAULT, - CFG_DYNAMIC_SPLIT_SCAN_MIN, - CFG_DYNAMIC_SPLIT_SCAN_MAX ), - - REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer, - hdd_config_t, txRxThresholdForSplitScan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT, - CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN, - CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ), - - REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer, - hdd_config_t, trafficMntrTmrForSplitScan, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT, - CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN, - CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ), - REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer, hdd_config_t, flexConnectPowerFactor, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX, @@ -3455,13 +2960,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ACS_BAND_SWITCH_THRESHOLD_MIN, CFG_ACS_BAND_SWITCH_THRESHOLD_MAX ), - REG_VARIABLE( CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_NAME, WLAN_PARAM_Integer, - hdd_config_t, gEnableStrictRegulatoryForFCC, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_DEFAULT, - CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MIN, - CFG_ENABLE_STRICT_REGULATORY_FOR_FCC_MAX ), - REG_VARIABLE( CFG_SAP_MAX_OFFLOAD_PEERS, WLAN_PARAM_Integer, hdd_config_t, apMaxOffloadPeers, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, @@ -4248,15 +3746,7 @@ void print_hdd_cfg(hdd_context_t *pHddCtx) VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk); VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight); VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%u] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BkReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BkReorderAgingTime); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BeReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->BeReorderAgingTime); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ViReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->ViReorderAgingTime); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [VoReorderAgingTime] Value = [%u] ",pHddCtx->cfg_ini->VoReorderAgingTime); VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting); VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fhostArpOffload] Value = [%u] ",pHddCtx->cfg_ini->fhostArpOffload); VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ssdp] Value = [%u] ", pHddCtx->cfg_ini->ssdp); @@ -5062,36 +4552,10 @@ static void hdd_set_btc_config(hdd_context_t *pHddCtx) sme_BtcGetConfig(pHddCtx->hHal, &btcParams); btcParams.btcExecutionMode = pConfig->btcExecutionMode; - btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp; - btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp; - - btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt; - btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt; - btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt; - btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt; - btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan; - btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan; - btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan; - btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan; - btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt; - btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan; - btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc; - btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp; - btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco; - - for (i = 0; i < 10; i++) - { - btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i]; - btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i]; - btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i]; - btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i]; - } - for (i = 0; i < 6; i++) - { + + for (i = 0; i < 6; i++) { btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i]; } - btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff; - btcParams.SARPowerBackoff = pConfig->SARPowerBackoff; sme_BtcSetConfig(pHddCtx->hHal, &btcParams); } @@ -5276,20 +4740,6 @@ v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx ) hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM"); } - if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration, - NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) - { - fStatus = FALSE; - hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM"); - } - - if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod, - NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) - { - fStatus = FALSE; - hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM"); - } - if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE) { diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c index dfaee1e2af7c..dbfdf3573291 100644 --- a/CORE/HDD/src/wlan_hdd_early_suspend.c +++ b/CORE/HDD/src/wlan_hdd_early_suspend.c @@ -1766,12 +1766,6 @@ VOS_STATUS hdd_wlan_shutdown(void) vos_set_logp_in_progress(VOS_MODULE_ID_VOSS, TRUE); vos_clear_concurrent_session_count(); - //Stop the traffic monitor timer - if ( VOS_TIMER_STATE_RUNNING == - vos_timer_getCurrentState(&pHddCtx->tx_rx_trafficTmr)) - { - vos_timer_stop(&pHddCtx->tx_rx_trafficTmr); - } hdd_reset_all_adapters(pHddCtx); diff --git a/CORE/HDD/src/wlan_hdd_ftm.c b/CORE/HDD/src/wlan_hdd_ftm.c index 72139202f967..3a7a8c8bad98 100644 --- a/CORE/HDD/src/wlan_hdd_ftm.c +++ b/CORE/HDD/src/wlan_hdd_ftm.c @@ -71,7 +71,6 @@ #include "wlan_nv.h" #include "wlan_qct_wda.h" #include "cfgApi.h" -#include "wlan_qct_pal_device.h" #if defined(QCA_WIFI_FTM) #include "bmi.h" diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index 83df153edeec..9cd93261842d 100755 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -5501,7 +5501,6 @@ static int hdd_driver_command(hdd_adapter_t *pAdapter, } //Filtertype value should be either 0-Disabled, 1-Source, 2-sink pMac->fMiracastSessionPresent = filterType; - hdd_tx_rx_pkt_cnt_stat_timer_handler(pHddCtx); } else if (strncmp(command, "SETRMCTXRATE", 12) == 0) { @@ -10671,20 +10670,6 @@ void hdd_wlan_exit(hdd_context_t *pHddCtx) */ hdd_abort_mac_scan_all_adapters(pHddCtx); - /* Stop the traffic monitor timer */ - if ((NULL != pConfig) && (pConfig->dynSplitscan)) { - if (VOS_TIMER_STATE_RUNNING == - vos_timer_getCurrentState(&pHddCtx->tx_rx_trafficTmr)) { - vos_timer_stop(&pHddCtx->tx_rx_trafficTmr); - } - - /* Destroy the traffic monitor timer */ - if (!VOS_IS_STATUS_SUCCESS(vos_timer_destroy( - &pHddCtx->tx_rx_trafficTmr))) { - hddLog(LOGE, FL("Cannot de-allocate Traffic monitor timer")); - } - } - #ifdef MSM_PLATFORM if (VOS_TIMER_STATE_RUNNING == vos_timer_getCurrentState(&pHddCtx->bus_bw_timer)) @@ -12131,15 +12116,6 @@ int hdd_wlan_startup(struct device *dev, v_VOID_t *hif_sc) // Initialize the restart logic wlan_hdd_restart_init(pHddCtx); - //Register the traffic monitor timer now - if ( pHddCtx->cfg_ini->dynSplitscan) - { - vos_timer_init(&pHddCtx->tx_rx_trafficTmr, - VOS_TIMER_TYPE_SW, - hdd_tx_rx_pkt_cnt_stat_timer_handler, - (void *)pHddCtx); - } - if(pHddCtx->cfg_ini->enablePowersaveOffload) { hdd_set_idle_ps_config(pHddCtx, TRUE); diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c index ba8cffe030ee..e2360d80306b 100644 --- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c +++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c @@ -1482,15 +1482,6 @@ VOS_STATUS hdd_softap_RegisterSTA( hdd_adapter_t *pAdapter, return vosStatus; } - //Timer value should be in milliseconds - if ( pHddCtx->cfg_ini->dynSplitscan && - ( VOS_TIMER_STATE_RUNNING != - vos_timer_getCurrentState(&pHddCtx->tx_rx_trafficTmr))) - { - vos_timer_start(&pHddCtx->tx_rx_trafficTmr, - pHddCtx->cfg_ini->trafficMntrTmrForSplitScan); - } - // if ( WPA ), tell TL to go to 'connected' and after keys come to the driver, // then go to 'authenticated'. For all other authentication types (those that do // not require upper layer authentication) we can put TL directly into 'authenticated' diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c index c3092f4ff6de..85e6f2b17157 100644 --- a/CORE/HDD/src/wlan_hdd_tx_rx.c +++ b/CORE/HDD/src/wlan_hdd_tx_rx.c @@ -1740,17 +1740,6 @@ VOS_STATUS hdd_rx_packet_cbk(v_VOID_t *vosContext, return VOS_STATUS_SUCCESS; } -/**============================================================================ - @brief hdd_tx_rx_pkt_cnt_stat_timer_handler() - - Enable/Disable split scan based on TX and RX traffic. - @param HddContext : [in] pointer to Hdd context - @return : None - ===========================================================================*/ -void hdd_tx_rx_pkt_cnt_stat_timer_handler( void *phddctx) -{ - -} - #ifdef IPA_OFFLOAD /**============================================================================ @brief hdd_rx_mul_packet_cbk() - Receive callback registered with TL. diff --git a/CORE/MAC/inc/aniGlobal.h b/CORE/MAC/inc/aniGlobal.h index 03aa9ef825c2..aff59d5682f4 100644 --- a/CORE/MAC/inc/aniGlobal.h +++ b/CORE/MAC/inc/aniGlobal.h @@ -95,9 +95,6 @@ typedef struct sAniSirGlobal *tpAniSirGlobal; #include <limFTDefs.h> #endif -#ifdef ANI_DVT_DEBUG -#include "dvtModule.h" -#endif // New HAL API interface defs. #include "logDump.h" @@ -985,9 +982,6 @@ typedef struct sAniSirGlobal /* PAL/HDD handle */ tHddHandle hHdd; -#ifdef ANI_DVT_DEBUG - tAniSirDvt dvt; -#endif tSmeStruct sme; tSapStruct sap; diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h index 4470000d1e17..4c253bfe101a 100644 --- a/CORE/MAC/inc/qwlan_version.h +++ b/CORE/MAC/inc/qwlan_version.h @@ -42,9 +42,9 @@ BRIEF DESCRIPTION: #define QWLAN_VERSION_MINOR 0 #define QWLAN_VERSION_PATCH 0 #define QWLAN_VERSION_EXTRA "" -#define QWLAN_VERSION_BUILD 209 +#define QWLAN_VERSION_BUILD 210 -#define QWLAN_VERSIONSTR "1.0.0.209B" +#define QWLAN_VERSIONSTR "1.0.0.210" #define AR6320_REV1_VERSION 0x5000000 diff --git a/CORE/MAC/inc/sirMacProtDef.h b/CORE/MAC/inc/sirMacProtDef.h index 933611b068af..97ba0e8afa2c 100644 --- a/CORE/MAC/inc/sirMacProtDef.h +++ b/CORE/MAC/inc/sirMacProtDef.h @@ -162,22 +162,9 @@ #define SIR_MAC_QOS_DEL_BA_REQ 6 #define SIR_MAC_QOS_DEL_BA_RSP 7 -#ifdef ANI_SUPPORT_11H -// Spectrum management action codes -#define SIR_MAC_ACTION_MEASURE_REQUEST_ID 0 -#define SIR_MAC_ACTION_MEASURE_REPORT_ID 1 -#define SIR_MAC_ACTION_TPC_REQUEST_ID 2 -#define SIR_MAC_ACTION_TPC_REPORT_ID 3 -#endif //ANI_SUPPORT_11H #define SIR_MAC_ACTION_CHANNEL_SWITCH_ID 4 -#ifdef ANI_SUPPORT_11H -// Measurement Request/Report Type -#define SIR_MAC_BASIC_MEASUREMENT_TYPE 0 -#define SIR_MAC_CCA_MEASUREMENT_TYPE 1 -#define SIR_MAC_RPI_MEASUREMENT_TYPE 2 -#endif //ANI_SUPPORT_11H //RRM related. //Refer IEEE Std 802.11k-2008, Section 7.3.2.21, table 7.29 @@ -2124,20 +2111,6 @@ typedef struct sSirMacMeasActionFrameHdr } tSirMacMeasActionFrameHdr, *tpSirMacMeasActionFrameHdr; -#ifdef ANI_SUPPORT_11H -typedef struct sSirMacTpcReqActionFrame -{ - tSirMacMeasActionFrameHdr actionHeader; - tANI_U8 type; - tANI_U8 length; -} tSirMacTpcReqActionFrame, *tpSirMacTpcReqActionFrame; - -typedef struct sSirMacMeasReqActionFrame -{ - tSirMacMeasActionFrameHdr actionHeader; - tSirMacMeasReqIE measReqIE; -} tSirMacMeasReqActionFrame, *tpSirMacMeasReqActionFrame; -#endif #if defined WLAN_FEATURE_VOWIFI diff --git a/CORE/MAC/inc/wniApi.h b/CORE/MAC/inc/wniApi.h index 2976a0783b88..49ac0c5e1146 100644 --- a/CORE/MAC/inc/wniApi.h +++ b/CORE/MAC/inc/wniApi.h @@ -68,9 +68,6 @@ #define ANI_HDD_PRE_DUMMY_PKT_SPL_PROC 2 #define ANI_HDD_WNS_L2_UPDATE_SPL_PROC 3 #define ANI_HDD_DUMMY_DATA 4 -#ifdef WMM_APSD -#define ANI_HDD_EOSP_PKT 5 -#endif /// Message offset for the cmd to enqueue a dummy pkt to HDD TD ring #define ANI_DUMMY_PKT_MSG_TYPE_OFFSET 0 diff --git a/CORE/MAC/src/dph/dphHashTable.c b/CORE/MAC/src/dph/dphHashTable.c index c94290236a20..9d54f11c9804 100644 --- a/CORE/MAC/src/dph/dphHashTable.c +++ b/CORE/MAC/src/dph/dphHashTable.c @@ -279,12 +279,6 @@ tpDphHashNode dphInitStaState(tpAniSirGlobal pMac, tSirMacAddr staAddr, pStaDs->added = 1; pStaDs->encPolicy = HAL_ENC_POLICY_NULL; -#ifdef WMM_APSD - pStaDs->stopQueue = 0; - pStaDs->spStatus = 0; - pStaDs->apsdMaxSpLen = 0; - pStaDs->acMode[0] = pStaDs->acMode[1] = pStaDs->acMode[2] = pStaDs->acMode[3] = 0; -#endif /* WMM_APSD */ pStaDs->valid = 1; return pStaDs; } diff --git a/CORE/MAC/src/include/parserApi.h b/CORE/MAC/src/include/parserApi.h index 8f5736958ebc..0e1a88d6c169 100644 --- a/CORE/MAC/src/include/parserApi.h +++ b/CORE/MAC/src/include/parserApi.h @@ -439,15 +439,6 @@ sirConvertQosMapConfigureFrame2Struct(tpAniSirGlobal pMac, tANI_U32 nFrame, tSirQosMapSet *pQosMapSet); -#ifdef ANI_SUPPORT_11H -tSirRetStatus -sirConvertTpcReqFrame2Struct(struct sAniSirGlobal *, tANI_U8 *, - tpSirMacTpcReqActionFrame, tANI_U32); - -tSirRetStatus -sirConvertMeasReqFrame2Struct(struct sAniSirGlobal *, tANI_U8 *, - tpSirMacMeasReqActionFrame, tANI_U32); -#endif /** @@ -579,24 +570,6 @@ PopulateDot11fHTInfo(tpAniSirGlobal pMac, void PopulateDot11fIBSSParams(tpAniSirGlobal pMac, tDot11fIEIBSSParams *pDot11f, tpPESession psessionEntry); -#ifdef ANI_SUPPORT_11H -tSirRetStatus -PopulateDot11fMeasurementReport0(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pReq, - tDot11fIEMeasurementReport *pDot11f); - -/// Populate a tDot11fIEMeasurementReport when the report type is CCA -tSirRetStatus -PopulateDot11fMeasurementReport1(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pReq, - tDot11fIEMeasurementReport *pDot11f); - -/// Populate a tDot11fIEMeasurementReport when the report type is RPI Hist -tSirRetStatus -PopulateDot11fMeasurementReport2(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pReq, - tDot11fIEMeasurementReport *pDot11f); -#endif //ANI_SUPPORT_11H /// Populate a tDot11fIEPowerCaps void diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h index 490798933dfb..55bc043f2efc 100644 --- a/CORE/MAC/src/include/sirParams.h +++ b/CORE/MAC/src/include/sirParams.h @@ -748,10 +748,6 @@ typedef struct sSirMbMsgP2p #define SIR_LIM_REMAIN_CHN_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0x1F) #define SIR_LIM_INSERT_SINGLESHOT_NOA_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0x20) -#ifdef WMM_APSD -#define SIR_LIM_WMM_APSD_SP_START_MSG_TYPE (SIR_LIM_TIMEOUT_MSG_START + 0x21) -#define SIR_LIM_WMM_APSD_SP_END_MSG_TYPE (SIR_LIM_TIMEOUT_MSG_START + 0x22) -#endif #define SIR_LIM_BEACON_GEN_IND (SIR_LIM_TIMEOUT_MSG_START + 0x23) #define SIR_LIM_PERIODIC_PROBE_REQ_TIMEOUT (SIR_LIM_TIMEOUT_MSG_START + 0x24) #ifdef FEATURE_WLAN_ESE diff --git a/CORE/MAC/src/pe/include/limApi.h b/CORE/MAC/src/pe/include/limApi.h index bb8963da8839..76200c1ec8de 100644 --- a/CORE/MAC/src/pe/include/limApi.h +++ b/CORE/MAC/src/pe/include/limApi.h @@ -48,7 +48,6 @@ #include "utilsApi.h" #include "limGlobal.h" #include "halMsgApi.h" -#include "wlan_qct_wdi_ds.h" #include "wlan_qct_wda.h" /* Macro to count heartbeat */ diff --git a/CORE/MAC/src/pe/lim/limAssocUtils.c b/CORE/MAC/src/pe/lim/limAssocUtils.c index 5bbcc81c8bc1..a126f92abdd2 100644 --- a/CORE/MAC/src/pe/lim/limAssocUtils.c +++ b/CORE/MAC/src/pe/lim/limAssocUtils.c @@ -2948,20 +2948,6 @@ limAddStaSelf(tpAniSirGlobal pMac,tANI_U16 staIdx, tANI_U8 updateSta, tpPESessio if ( IS_DOT11_MODE_HT(selfStaDot11Mode) ) { pAddStaParams->htCapable = TRUE ; -#ifdef DISABLE_GF_FOR_INTEROP - /* - * To resolve the interop problem with Broadcom AP, - * where TQ STA could not pass traffic with GF enabled, - * TQ STA will do Greenfield only with TQ AP, for - * everybody else it will be turned off. - */ - if( (psessionEntry->pLimJoinReq != NULL) && (!psessionEntry->pLimJoinReq->bssDescription.aniIndicator)) - { - limLog( pMac, LOGE, FL(" Turning off Greenfield, when adding self entry")); - pAddStaParams->greenFieldCapable = WNI_CFG_GREENFIELD_CAPABILITY_DISABLE; - } - else -#endif { pAddStaParams->greenFieldCapable = limGetHTCapability( pMac, eHT_GREENFIELD, psessionEntry); pAddStaParams->txChannelWidthSet = diff --git a/CORE/MAC/src/pe/lim/limLogDump.c b/CORE/MAC/src/pe/lim/limLogDump.c index 5f5c38fdcfd5..68ab9cda8693 100644 --- a/CORE/MAC/src/pe/lim/limLogDump.c +++ b/CORE/MAC/src/pe/lim/limLogDump.c @@ -53,7 +53,6 @@ Implements the dump commands specific to the lim module. #endif #include "smeInside.h" #include "wlan_qct_wda.h" -#include "wlan_qct_wdi_dts.h" void WDA_TimerTrafficStatsInd(tWDA_CbContext *pWDA); #ifdef WLANTL_DEBUG @@ -82,194 +81,6 @@ static char *getRole( tLimSystemRole role ) } } - - -char *dumpLim( tpAniSirGlobal pMac, char *p, tANI_U32 sessionId) -{ - #ifdef FIXME_GEN6 - //iterate through the sessionTable and dump sta entries for each session. - //Keep this code under 'WLAN_DEBUG' compile flag. - - tANI_U16 i, j; - - tpPESession psessionEntry = peFindSessionBySessionId(pMac, sessionId); - - if (psessionEntry == NULL) - { - p += log_sprintf( pMac, p, "Invalid sessionId: %d \n ", sessionId); - return p; - } - - p += log_sprintf( pMac,p, "\n ----- LIM Debug Information ----- \n"); - p += log_sprintf( pMac,p, "LIM Role = (%d) %s\n", - pMac->lim.gLimSystemRole, getRole(pMac->lim.gLimSystemRole)); - p += log_sprintf( pMac,p, "SME State = (%d) %s", - pMac->lim.gLimSmeState, limSmeStateStr(pMac->lim.gLimSmeState)); - p += log_sprintf( pMac,p, "MLM State = (%d) %s", - pMac->lim.gLimMlmState, limMlmStateStr(pMac->lim.gLimMlmState)); - p += log_sprintf( pMac,p, "802.11n session HT Capability: %s\n", - (psessionEntry->htCapability == 1) ? "Enabled" : "Disabled"); - p += log_sprintf( pMac,p, "gLimProcessDefdMsgs: %s\n", - (pMac->lim.gLimProcessDefdMsgs == 1) ? "Enabled" : "Disabled"); - - if (pMac->lim.gLimSystemRole == eLIM_STA_ROLE) - { - p += log_sprintf( pMac,p, "AID = %X\t\t\n", pMac->lim.gLimAID); - p += log_sprintf( pMac,p, "SSID mismatch in Beacon Count = %d\n", - pMac->lim.gLimBcnSSIDMismatchCnt); - p += log_sprintf( pMac,p, "Number of link establishments = %d\n", - pMac->lim.gLimNumLinkEsts); - } - else if (pMac->lim.gLimSystemRole == eLIM_AP_ROLE) - { - p += log_sprintf( pMac,p, "Num of STAs associated = %d\n", - peGetCurrentSTAsCount(pMac)); - - p += log_sprintf( pMac,p, "Num of Pre-auth contexts = %d\n", - pMac->lim.gLimNumPreAuthContexts); - - p += log_sprintf( pMac,p, "Num of AssocReq dropped in invalid State = %d\n", - pMac->lim.gLimNumAssocReqDropInvldState); - - p += log_sprintf( pMac,p, "Num of ReassocReq dropped in invalid State = %d\n", - pMac->lim.gLimNumReassocReqDropInvldState); - - p += log_sprintf( pMac,p, "Num of Hash Miss Event ignored = %d\n", - pMac->lim.gLimNumHashMissIgnored); - } - - p += log_sprintf( pMac,p, "Num of RxCleanup Count = %d\n", - pMac->lim.gLimNumRxCleanup); - p += log_sprintf( pMac,p, "Unexpected Beacon Count = %d\n", - pMac->lim.gLimUnexpBcnCnt); - p += log_sprintf( pMac,p, "Number of Re/Assoc rejects of 11b STAs = %d\n", - pMac->lim.gLim11bStaAssocRejectCount); - p += log_sprintf( pMac,p, "No. of HeartBeat Failures in LinkEst State = %d\n", - pMac->lim.gLimHBfailureCntInLinkEstState); - p += log_sprintf( pMac,p, "No. of Probe Failures after HB failed = %d\n", - pMac->lim.gLimProbeFailureAfterHBfailedCnt); - p += log_sprintf( pMac,p, "No. of HeartBeat Failures in Other States = %d\n", - pMac->lim.gLimHBfailureCntInOtherStates); - p += log_sprintf( pMac,p, "No. of Beacons Rxed During HB Interval = %d\n", - pMac->lim.gLimRxedBeaconCntDuringHB); - p += log_sprintf( pMac,p, "Self Operating Mode = %s\n", limDot11ModeStr(pMac, (tANI_U8)pMac->lim.gLimDot11Mode)); - p += log_sprintf( pMac,p, "\n"); - - if (pMac->lim.gLimSystemRole == eLIM_AP_ROLE) - i = 2; - else - i = 1; - - - for (; i< pMac->lim.maxStation; i++) - { - tpDphHashNode pSta = dphGetHashEntry(pMac, (unsigned short)i); - if (pSta && pSta->added) - { - p += log_sprintf( pMac,p, "\nSTA AID: %d STA ID: %d Valid: %d AuthType: %d MLM State: %s", - i, pSta->staIndex, pSta->valid, - pSta->mlmStaContext.authType, - limMlmStateStr(pSta->mlmStaContext.mlmState)); - - p += log_sprintf( pMac,p, "\tAID:%-2d ShPrmbl:%d HT:%d GF:%d TxChWidth:%d MimoPS:%d LsigProt:%d\n", - pSta->assocId, - pSta->shortPreambleEnabled, pSta->mlmStaContext.htCapability, - pSta->htGreenfield, pSta->htSupportedChannelWidthSet, - pSta->htMIMOPSState, pSta->htLsigTXOPProtection); - - p += log_sprintf( pMac,p, "\tAMPDU [MaxSz(Factor):%d, Dens: %d] AMSDU-MaxLen: %d\n", - pSta->htMaxRxAMpduFactor, pSta->htAMpduDensity,pSta->htMaxAmsduLength); - p += log_sprintf( pMac,p, "\tDSSCCkMode40Mhz: %d, SGI20: %d, SGI40: %d\n", - pSta->htDsssCckRate40MHzSupport, pSta->htShortGI20Mhz, - pSta->htShortGI40Mhz); - - p += log_sprintf( pMac,p, "\t11b Rates: "); - for(j=0; j<SIR_NUM_11B_RATES; j++) - if(pSta->supportedRates.llbRates[j] > 0) - p += log_sprintf( pMac,p, "%d ", pSta->supportedRates.llbRates[j]); - - p += log_sprintf( pMac,p, "\n\t11a Rates: "); - for(j=0; j<SIR_NUM_11A_RATES; j++) - if(pSta->supportedRates.llaRates[j] > 0) - p += log_sprintf( pMac,p, "%d ", pSta->supportedRates.llaRates[j]); - p += log_sprintf( pMac,p, "\tMCS Rate Set Bitmap: "); - for(j=0; j<SIR_MAC_MAX_SUPPORTED_MCS_SET; j++) - p += log_sprintf( pMac,p, "%x ", pSta->supportedRates.supportedMCSSet[j]); - - } - } - p += log_sprintf( pMac,p, "\nProbe response disable = %d\n", - pMac->lim.gLimProbeRespDisableFlag); - - p += log_sprintf( pMac,p, "Scan mode enable = %d\n", - pMac->sys.gSysEnableScanMode); - p += log_sprintf( pMac,p, "BackgroundScanDisable = %d\n", - pMac->lim.gLimBackgroundScanDisable); - p += log_sprintf( pMac,p, "ForceBackgroundScanDisable = %d\n", - pMac->lim.gLimForceBackgroundScanDisable); - p += log_sprintf( pMac,p, "LinkMonitor mode enable = %d\n", - pMac->sys.gSysEnableLinkMonitorMode); - p += log_sprintf( pMac,p, "Qos Capable = %d\n", - SIR_MAC_GET_QOS(pMac->lim.gLimCurrentBssCaps)); - p += log_sprintf( pMac,p, "Wme Capable = %d\n", - LIM_BSS_CAPS_GET(WME, pMac->lim.gLimCurrentBssQosCaps)); - p += log_sprintf( pMac,p, "Wsm Capable = %d\n", - LIM_BSS_CAPS_GET(WSM, pMac->lim.gLimCurrentBssQosCaps)); - if (pMac->lim.gLimSystemRole == eLIM_STA_IN_IBSS_ROLE) - { - p += log_sprintf( pMac,p, "Number of peers in IBSS = %d\n", - pMac->lim.gLimNumIbssPeers); - if (pMac->lim.gLimNumIbssPeers) - { - tLimIbssPeerNode *pTemp; - pTemp = pMac->lim.gLimIbssPeerList; - p += log_sprintf( pMac,p, "MAC-Addr Ani Edca WmeInfo HT Caps #S,#E(Rates)\n"); - while (pTemp != NULL) - { - p += log_sprintf( pMac,p, "%02X:%02X:%02X:%02X:%02X:%02X ", - pTemp->peerMacAddr[0], - pTemp->peerMacAddr[1], - pTemp->peerMacAddr[2], - pTemp->peerMacAddr[3], - pTemp->peerMacAddr[4], - pTemp->peerMacAddr[5]); - p += log_sprintf( pMac,p, " %d,%d %d %d %04X %d,%d\n", - pTemp->edcaPresent, pTemp->wmeEdcaPresent, - pTemp->wmeInfoPresent, - pTemp->htCapable, - pTemp->capabilityInfo, - pTemp->supportedRates.numRates, - pTemp->extendedRates.numRates); - pTemp = pTemp->next; - } - } - } - p += log_sprintf( pMac,p, "System Scan/Learn Mode bit = %d\n", - pMac->lim.gLimSystemInScanLearnMode); - - //current BSS capability - p += log_sprintf( pMac,p, "**********Current BSS Capability********\n"); - p += log_sprintf( pMac,p, "Ess = %d, ", SIR_MAC_GET_ESS(pMac->lim.gLimCurrentBssCaps)); - p += log_sprintf( pMac,p, "Privacy = %d, ", SIR_MAC_GET_PRIVACY(pMac->lim.gLimCurrentBssCaps)); - p += log_sprintf( pMac,p, "Short Preamble = %d, ", SIR_MAC_GET_SHORT_PREAMBLE(pMac->lim.gLimCurrentBssCaps)); - p += log_sprintf( pMac,p, "Short Slot = %d, ", SIR_MAC_GET_SHORT_SLOT_TIME(pMac->lim.gLimCurrentBssCaps)); - p += log_sprintf( pMac,p, "Qos = %d\n", SIR_MAC_GET_QOS(pMac->lim.gLimCurrentBssCaps)); - - //Protection related information - p += log_sprintf( pMac,p, "*****Protection related information******\n"); - p += log_sprintf( pMac,p, "Protection %s\n", pMac->lim.gLimProtectionControl ? "Enabled" : "Disabled"); - - p += log_sprintf( pMac,p, "OBSS MODE = %d\n", pMac->lim.gHTObssMode); - p += log_sprintf( pMac, p, "HT operating Mode = %d, llbCoexist = %d, llgCoexist = %d, ht20Coexist = %d, nonGfPresent = %d, RifsMode = %d, lsigTxop = %d\n", - pMac->lim.gHTOperMode, pMac->lim.llbCoexist, pMac->lim.llgCoexist, - pMac->lim.ht20MhzCoexist, pMac->lim.gHTNonGFDevicesPresent, - pMac->lim.gHTRifsMode, pMac->lim.gHTLSigTXOPFullSupport); - p += log_sprintf(pMac, p, "2nd Channel offset = %d\n", - psessionEntry->hHTSecondaryChannelOffset); -#endif - return p; -} - /******************************************* * FUNCTION: triggerBeaconGen() * @@ -310,7 +121,7 @@ char *testLimSendProbeRsp( tpAniSirGlobal pMac, char *p ) tSirMacAddr peerMacAddr = { 0, 1, 2, 3, 4, 5 }; tAniSSID ssId; tANI_U32 len = SIR_MAC_MAX_SSID_LENGTH; - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry = &pMac->lim.gpSession[0]; if( eSIR_SUCCESS != wlan_cfgGetStr( pMac, @@ -678,8 +489,6 @@ static char *printSessionInfo(tpAniSirGlobal pMac, char *p) p += log_sprintf( pMac,p, "valid: %d \n", psessionEntry->valid); p += log_sprintf( pMac,p, "limMlmState: (%d) %s ", psessionEntry->limMlmState, limMlmStateStr(psessionEntry->limMlmState) ); p += log_sprintf( pMac,p, "limPrevMlmState: (%d) %s ", psessionEntry->limPrevMlmState, limMlmStateStr(psessionEntry->limMlmState) ); - p += log_sprintf( pMac,p, "limSmeState: (%d) %s ", psessionEntry->limSmeState, limSmeStateStr(psessionEntry->limSmeState) ); - p += log_sprintf( pMac,p, "limPrevSmeState: (%d) %s ", psessionEntry->limPrevSmeState, limSmeStateStr(psessionEntry->limPrevSmeState) ); p += log_sprintf( pMac,p, "limSystemRole: (%d) %s \n", psessionEntry->limSystemRole, getRole(psessionEntry->limSystemRole) ); p += log_sprintf( pMac,p, "bssType: (%d) %s \n", psessionEntry->bssType, limBssTypeStr(psessionEntry->bssType)); p += log_sprintf( pMac,p, "operMode: %d \n", psessionEntry->operMode); @@ -709,7 +518,7 @@ static char *printSessionInfo(tpAniSirGlobal pMac, char *p) void limSetEdcaBcastACMFlag(tpAniSirGlobal pMac, tANI_U32 ac, tANI_U32 acmFlag) { - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry = &pMac->lim.gpSession[0]; psessionEntry->gLimEdcaParamsBC[ac].aci.acm = (tANI_U8)acmFlag; psessionEntry->gLimEdcaParamSetCount++; schSetFixedBeaconFields(pMac,psessionEntry); @@ -719,7 +528,7 @@ static char * limDumpEdcaParams(tpAniSirGlobal pMac, char *p) { tANI_U8 i = 0; - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry = &pMac->lim.gpSession[0]; p += log_sprintf( pMac,p, "EDCA parameter set count = %d\n", psessionEntry->gLimEdcaParamSetCount); p += log_sprintf( pMac,p, "Broadcast parameters\n"); p += log_sprintf( pMac,p, "AC\tACI\tACM\tAIFSN\tCWMax\tCWMin\tTxopLimit\t\n"); @@ -972,108 +781,6 @@ dump_lim_proberesp_toggle( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tA } static char * -dump_lim_add_sta( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) -{ -#ifdef FIXME_GEN6 - tpDphHashNode pStaDs; - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? - tSirMacAddr staMac = {0}; - tANI_U16 peerIdx; - if(arg2 > 5) - goto addStaFail; - peerIdx = limAssignPeerIdx(pMac, psessionEntry); - pStaDs = dphGetHashEntry(pMac, peerIdx); - if(NULL == pStaDs) - { - staMac[5] = (tANI_U8) arg1; - pStaDs = dphAddHashEntry(pMac, staMac, peerIdx, &psessionEntry->dph.dphHashTable); - if(NULL == pStaDs) - goto addStaFail; - - pStaDs->staType = STA_ENTRY_PEER; - switch(arg2) - { - //11b station - case 0: - { - pStaDs->mlmStaContext.htCapability = 0; - pStaDs->erpEnabled = 0; - p += log_sprintf( pMac,p, "11b"); - } - break; - //11g station - case 1: - { - pStaDs->mlmStaContext.htCapability = 0; - pStaDs->erpEnabled = 1; - p += log_sprintf( pMac,p, "11g"); - } - break; - //ht20 station non-GF - case 2: - { - pStaDs->mlmStaContext.htCapability = 1; - pStaDs->erpEnabled = 1; - pStaDs->htSupportedChannelWidthSet = 0; - pStaDs->htGreenfield = 0; - p += log_sprintf( pMac,p, "HT20 non-GF"); - } - break; - //ht20 station GF - case 3: - { - pStaDs->mlmStaContext.htCapability = 1; - pStaDs->erpEnabled = 1; - pStaDs->htSupportedChannelWidthSet = 0; - pStaDs->htGreenfield = 1; - p += log_sprintf( pMac,p, "HT20 GF"); - } - break; - //ht40 station non-GF - case 4: - { - pStaDs->mlmStaContext.htCapability = 1; - pStaDs->erpEnabled = 1; - pStaDs->htSupportedChannelWidthSet = 1; - pStaDs->htGreenfield = 0; - p += log_sprintf( pMac,p, "HT40 non-GF"); - } - break; - //ht40 station GF - case 5: - { - pStaDs->mlmStaContext.htCapability = 1; - pStaDs->erpEnabled = 1; - pStaDs->htSupportedChannelWidthSet = 1; - pStaDs->htGreenfield = 1; - p += log_sprintf( pMac,p, "HT40 GF"); - } - break; - default: - { - p += log_sprintf( pMac,p, "arg2 not in range [0..3]. Station not added.\n"); - goto addStaFail; - } - break; - } - - pStaDs->added = 1; - p += log_sprintf( pMac,p, " station with mac address 00:00:00:00:00:%x added.\n", (tANI_U8)arg1); - limAddSta(pMac, pStaDs,psessionEntry); - } - else - { -addStaFail: - p += log_sprintf( pMac,p, "Could not add station\n"); - p += log_sprintf( pMac,p, "arg1: 6th byte of the station MAC address\n"); - p += log_sprintf( pMac,p, "arg2[0..5] : station type as described below\n"); - p += log_sprintf( pMac,p, "\t 0: 11b, 1: 11g, 2: HT20 non-GF, 3: HT20 GF, 4: HT40 non-GF, 5: HT40 GF\n"); - } -#endif - return p; -} - -static char * dump_lim_del_sta( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { @@ -1229,9 +936,9 @@ dump_lim_send_SM_Power_Mode( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, static char * dump_lim_addba_req( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { -tSirRetStatus status; -tpDphHashNode pSta; - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tSirRetStatus status; + tpDphHashNode pSta; + tpPESession psessionEntry = &pMac->lim.gpSession[0]; (void) arg4; @@ -1264,7 +971,7 @@ dump_lim_delba_req( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 { tSirRetStatus status; tpDphHashNode pSta; - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry = &pMac->lim.gpSession[0]; // Get DPH Sta entry for this ASSOC ID pSta = dphGetHashEntry( pMac, (tANI_U16) arg1, &psessionEntry->dph.dphHashTable ); @@ -1315,9 +1022,8 @@ dump_lim_list_active_ba( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI tANI_U32 i; tpDphHashNode pSta; -//TBD-RAJESH HOW TO GET sessionEntry????? -tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH +tpPESession psessionEntry = &pMac->lim.gpSession[0]; (void) arg2; (void) arg3; (void) arg4; @@ -1391,12 +1097,12 @@ static char * dump_lim_set_dot11_mode( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { - tpPESession psessionEntry =&pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry =&pMac->lim.gpSession[0]; dump_cfg_set(pMac, WNI_CFG_DOT11_MODE, arg1, arg2, arg3, p); if ( (limGetSystemRole(psessionEntry) == eLIM_AP_ROLE) || (limGetSystemRole(psessionEntry) == eLIM_STA_IN_IBSS_ROLE)) schSetFixedBeaconFields(pMac,psessionEntry); - p += log_sprintf( pMac,p, "The Dot11 Mode is set to %s", limDot11ModeStr(pMac, (tANI_U8)psessionEntry->dot11mode)); + p += log_sprintf( pMac,p, "The Dot11 Mode is set to %d", (tANI_U8)psessionEntry->dot11mode); return p; } @@ -1686,12 +1392,10 @@ static char *finishScan(tpAniSirGlobal pMac, char *p) return p; } - static char * dump_lim_info( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { (void) arg2; (void) arg3; (void) arg4; - p = dumpLim( pMac, p, arg1); return p; } @@ -2028,19 +1732,6 @@ dump_lim_unpack_rrm_action( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, t #endif #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING -#ifdef RSSI_HACK -/* This dump command is needed to set the RSSI values in TL while testing handoff. Handoff code was tested - * using this dump command. Whatever the value gives as the first parameter will be considered as the average - * RSSI by TL and invokes corresponding callback registered by the clients */ -extern int dumpCmdRSSI; -static char * -dump_lim_set_tl_data_pkt_rssi( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) -{ - dumpCmdRSSI = arg1; - limLog(pMac, LOGE, FL("Setting TL data packet RSSI to %d"), dumpCmdRSSI); - return p; -} -#endif #endif #if defined WLAN_FEATURE_VOWIFI_11R @@ -2304,8 +1995,8 @@ dump_lim_mcc_policy_maker(tpAniSirGlobal pMac, tANI_U32 arg1,tANI_U32 arg2,tANI_ } else if(arg1 == 3) //Enable only stats collection - Used for unit testing { - VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_FATAL, "Enabling Traffic Stats in DTS"); - WDI_DS_ActivateTrafficStats(); + VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_FATAL, + FL("Obsolete command %d"), arg1); } else if(arg1 == 4) //Send current stats snapshot to Riva -- Used for unit testing { @@ -2437,7 +2128,6 @@ static tDumpFuncEntry limMenuDumpTable[] = { {320, "PE.LIM: send sme scan request", dump_lim_scan_req_send}, - /*FIXME_GEN6*/ /* This dump command is more of generic dump cmd and hence it should * be moved to logDump.c */ @@ -2452,7 +2142,6 @@ static tDumpFuncEntry limMenuDumpTable[] = { {339, "PE.LIM: List active BA session(s) for AssocID", dump_lim_list_active_ba}, {340, "PE.LIM: Set background scan flag (0-disable, 1-enable)",dump_lim_bgscan_toggle}, {341, "PE.LIM: Set link monitoring mode", dump_lim_linkmonitor_toggle}, - {342, "PE.LIM: AddSta <6th byte of station Mac>", dump_lim_add_sta}, {343, "PE.LIM: DelSta <aid>", dump_lim_del_sta}, {344, "PE.LIM: Set probe respond flag", dump_lim_proberesp_toggle}, {345, "PE.LIM: set protection config bitmap", set_lim_prot_cfg}, @@ -2475,9 +2164,6 @@ static tDumpFuncEntry limMenuDumpTable[] = { {361, "PE.LIM: unpack an RRM action frame", dump_lim_unpack_rrm_action}, #endif #ifdef WLAN_FEATURE_NEIGHBOR_ROAMING -#ifdef RSSI_HACK - {362, "TL Set current RSSI", dump_lim_set_tl_data_pkt_rssi}, -#endif #endif #ifdef WLAN_FEATURE_VOWIFI_11R {363, "PE.LIM: trigger pre auth/reassoc event", dump_lim_ft_event}, diff --git a/CORE/MAC/src/pe/lim/limP2P.c b/CORE/MAC/src/pe/lim/limP2P.c index d0e29124e32a..f0c26a85f926 100644 --- a/CORE/MAC/src/pe/lim/limP2P.c +++ b/CORE/MAC/src/pe/lim/limP2P.c @@ -181,10 +181,6 @@ int limProcessRemainOnChnlReq(tpAniSirGlobal pMac, tANI_U32 *pMsg) * respond with Probe Rsp causing peer device to NOT find us. * If we need this optimization, we need to find a way to keep the STA-AP link awake (no BMPS) on home channel when in listen state */ -#ifdef CONC_OPER_AND_LISTEN_CHNL_SAME_OPTIMIZE - tANI_U8 i; - tpPESession psessionEntry; -#endif tSirRemainOnChnReq *MsgBuff = (tSirRemainOnChnReq *)pMsg; pMac->lim.gpLimRemainOnChanReq = MsgBuff; @@ -205,56 +201,6 @@ int limProcessRemainOnChnlReq(tpAniSirGlobal pMac, tANI_U32 *pMsg) return FALSE; } -#ifdef CONC_OPER_AND_LISTEN_CHNL_SAME_OPTIMIZE - for (i =0; i < pMac->lim.maxBssId;i++) - { - psessionEntry = peFindSessionBySessionId(pMac,i); - - if ( (psessionEntry != NULL) ) - { - if (psessionEntry->currentOperChannel == MsgBuff->chnNum) - { - tANI_U32 val; - tSirMacAddr nullBssid = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - - pMac->lim.p2pRemOnChanTimeStamp = vos_timer_get_system_time(); - pMac->lim.gTotalScanDuration = MsgBuff->duration; - - /* get the duration from the request */ - val = SYS_MS_TO_TICKS(MsgBuff->duration); - - limLog( pMac, LOG2, "Start listen duration = %d", val); - if (tx_timer_change( - &pMac->lim.limTimers.gLimRemainOnChannelTimer, val, 0) - != TX_SUCCESS) - { - limLog(pMac, LOGP, - FL("Unable to change remain on channel Timer val")); - goto error; - } - else if(TX_SUCCESS != tx_timer_activate( - &pMac->lim.limTimers.gLimRemainOnChannelTimer)) - { - limLog(pMac, LOGP, - FL("Unable to activate remain on channel Timer")); - limDeactivateAndChangeTimer(pMac, eLIM_REMAIN_CHN_TIMER); - goto error; - } - - - if ((limSetLinkState(pMac, MsgBuff->isProbeRequestAllowed? - eSIR_LINK_LISTEN_STATE:eSIR_LINK_SEND_ACTION_STATE, - nullBssid, pMac->lim.gSelfMacAddr, - limSetLinkStateP2PCallback, NULL)) != eSIR_SUCCESS) - { - limLog( pMac, LOGE, "Unable to change link state"); - goto error; - } - return FALSE; - } - } - } -#endif pMac->lim.gLimPrevMlmState = pMac->lim.gLimMlmState; pMac->lim.gLimMlmState = eLIM_MLM_P2P_LISTEN_STATE; @@ -265,12 +211,6 @@ int limProcessRemainOnChnlReq(tpAniSirGlobal pMac, tANI_U32 *pMsg) limRemainOnChnlSuspendLinkHdlr, NULL); return FALSE; -#ifdef CONC_OPER_AND_LISTEN_CHNL_SAME_OPTIMIZE -error: - limRemainOnChnRsp(pMac,eHAL_STATUS_FAILURE, NULL); - /* pMsg is freed by the caller */ - return FALSE; -#endif } diff --git a/CORE/MAC/src/pe/lim/limProcessActionFrame.c b/CORE/MAC/src/pe/lim/limProcessActionFrame.c index 4bc1e2fd8a3a..3cb663804fc6 100644 --- a/CORE/MAC/src/pe/lim/limProcessActionFrame.c +++ b/CORE/MAC/src/pe/lim/limProcessActionFrame.c @@ -1085,233 +1085,6 @@ __limProcessQosMapConfigureFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo, psessionEntry, 0); } -#ifdef ANI_SUPPORT_11H -/** - * limProcessBasicMeasReq - * - *FUNCTION: - * This function is called by limProcessMeasurementRequestFrame() - * when it received a Basic measurement Request action frame. - * Station/BP receiving this should perform basic measurements - * and then send Basic Measurement Report. AP should not perform - * any measurements, and send report indicating refusal. - * - *LOGIC: - * - *ASSUMPTIONS: - * - *NOTE: - * - * @param pMac - Pointer to Global MAC structure - * @param pMeasReqFrame - A pointer to Basic Meas. Req structure - * @return None - */ -static void -__limProcessBasicMeasReq(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pMeasReqFrame, - tSirMacAddr peerMacAddr, tpPESession psessionEntry) -{ - // TBD - Station shall perform basic measurements - - if (limSendMeasReportFrame(pMac, - pMeasReqFrame, - peerMacAddr, psessionEntry) != eSIR_SUCCESS) - { - PELOGE(limLog(pMac, LOGE, FL("fail to send Basic Meas report "));) - return; - } -} - - -/** - * limProcessCcaMeasReq - * - *FUNCTION: - * This function is called by limProcessMeasurementRequestFrame() - * when it received a CCA measurement Request action frame. - * Station/BP receiving this should perform CCA measurements - * and then send CCA Measurement Report. AP should not perform - * any measurements, and send report indicating refusal. - * - *LOGIC: - * - *ASSUMPTIONS: - * - *NOTE: - * - * @param pMac - Pointer to Global MAC structure - * @param pMeasReqFrame - A pointer to CCA Meas. Req structure - * @return None - */ -static void -__limProcessCcaMeasReq(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pMeasReqFrame, - tSirMacAddr peerMacAddr, tpPESession psessionEntry) -{ - // TBD - Station shall perform cca measurements - - if (limSendMeasReportFrame(pMac, - pMeasReqFrame, - peerMacAddr, psessionEntry) != eSIR_SUCCESS) - { - PELOGE(limLog(pMac, LOGE, FL("fail to send CCA Meas report "));) - return; - } -} - - -/** - * __limProcessRpiMeasReq - * - *FUNCTION: - * This function is called by limProcessMeasurementRequestFrame() - * when it received a RPI measurement Request action frame. - * Station/BP/AP receiving this shall not perform any measurements, - * and send report indicating refusal. - * - *LOGIC: - * - *ASSUMPTIONS: - * - *NOTE: - * - * @param pMac - Pointer to Global MAC structure - * @param pMeasReqFrame - A pointer to RPI Meas. Req structure - * @return None - */ -static void -__limProcessRpiMeasReq(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pMeasReqFrame, - tSirMacAddr peerMacAddr, tpPESession psessionEntry) -{ - if (limSendMeasReportFrame(pMac, - pMeasReqFrame, - peerMacAddr, psessionEntry) != eSIR_SUCCESS) - { - PELOGE(limLog(pMac, LOGE, FL("fail to send RPI Meas report "));) - return; - } -} - - -/** - * __limProcessMeasurementRequestFrame - * - *FUNCTION: - * - *LOGIC: - * - *ASSUMPTIONS: - * - *NOTE: - * - * @param pMac - Pointer to Global MAC structure - * @param *pRxPacketInfo - A pointer to packet info structure - * @return None - */ - -static void -__limProcessMeasurementRequestFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo, - tpPESession psessionEntry) -{ - tpSirMacMgmtHdr pHdr; - tANI_U8 *pBody; - tpSirMacMeasReqActionFrame pMeasReqFrame; - tANI_U32 frameLen; - - pHdr = WDA_GET_RX_MAC_HEADER(pRxPacketInfo); - pBody = WDA_GET_RX_MPDU_DATA(pRxPacketInfo); - frameLen = WDA_GET_RX_PAYLOAD_LEN(pRxPacketInfo); - - pMeasReqFrame = vos_mem_malloc(sizeof( tSirMacMeasReqActionFrame )); - if (NULL == pMeasReqFrame) - { - limLog(pMac, LOGE, - FL("limProcessMeasurementRequestFrame: AllocateMemory failed ")); - return; - } - - if (sirConvertMeasReqFrame2Struct(pMac, pBody, pMeasReqFrame, frameLen) != - eSIR_SUCCESS) - { - PELOGW(limLog(pMac, LOGW, FL("Rcv invalid Measurement Request Action Frame "));) - return; - } - - - switch(pMeasReqFrame->measReqIE.measType) - { - case SIR_MAC_BASIC_MEASUREMENT_TYPE: - __limProcessBasicMeasReq(pMac, pMeasReqFrame, pHdr->sa, psessionEntry); - break; - - case SIR_MAC_CCA_MEASUREMENT_TYPE: - __limProcessCcaMeasReq(pMac, pMeasReqFrame, pHdr->sa, psessionEntry); - break; - - case SIR_MAC_RPI_MEASUREMENT_TYPE: - __limProcessRpiMeasReq(pMac, pMeasReqFrame, pHdr->sa, psessionEntry); - break; - - default: - PELOG1(limLog(pMac, LOG1, FL("Unknown Measurement Type %d "), - pMeasReqFrame->measReqIE.measType);) - break; - } - -} /*** end limProcessMeasurementRequestFrame ***/ - - -/** - * limProcessTpcRequestFrame - * - *FUNCTION: - * This function is called upon receiving Tpc Request frame. - * - *NOTE: - * - * @param pMac - Pointer to Global MAC structure - * @param *pRxPacketInfo - A pointer to packet info structure - * @return None - */ - -static void -__limProcessTpcRequestFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo, tpPESession psessionEntry) -{ - tpSirMacMgmtHdr pHdr; - tANI_U8 *pBody; - tpSirMacTpcReqActionFrame pTpcReqFrame; - tANI_U32 frameLen; - - pHdr = WDA_GET_RX_MAC_HEADER(pRxPacketInfo); - pBody = WDA_GET_RX_MPDU_DATA(pRxPacketInfo); - frameLen = WDA_GET_RX_PAYLOAD_LEN(pRxPacketInfo); - - PELOG1(limLog(pMac, LOG1, FL("****LIM: Processing TPC Request from peer ****"));) - - pTpcReqFrame = vos_mem_malloc(sizeof( tSirMacTpcReqActionFrame )); - if (NULL == pTpcReqFrame) - { - PELOGE(limLog(pMac, LOGE, FL("AllocateMemory failed "));) - return; - } - - if (sirConvertTpcReqFrame2Struct(pMac, pBody, pTpcReqFrame, frameLen) != - eSIR_SUCCESS) - { - PELOGW(limLog(pMac, LOGW, FL("Rcv invalid TPC Req Action Frame "));) - return; - } - - if (limSendTpcReportFrame(pMac, - pTpcReqFrame, - pHdr->sa, psessionEntry) != eSIR_SUCCESS) - { - PELOGE(limLog(pMac, LOGE, FL("fail to send TPC Report Frame. "));) - return; - } -} -#endif /** @@ -2287,26 +2060,6 @@ limProcessActionFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo,tpPESession ps #endif switch (pActionHdr->actionID) { -#ifdef ANI_SUPPORT_11H - case SIR_MAC_ACTION_MEASURE_REQUEST_ID: - if(psessionEntry->lim11hEnable) - { - __limProcessMeasurementRequestFrame(pMac, pRxPacketInfo, psessionEntry); - } - break; - - case SIR_MAC_ACTION_TPC_REQUEST_ID: - if ((psessionEntry->limSystemRole == eLIM_STA_ROLE) || - (pessionEntry->limSystemRole == eLIM_AP_ROLE)) - { - if(psessionEntry->lim11hEnable) - { - __limProcessTpcRequestFrame(pMac, pRxPacketInfo, psessionEntry); - } - } - break; - -#endif case SIR_MAC_ACTION_CHANNEL_SWITCH_ID: if (psessionEntry->limSystemRole == eLIM_STA_ROLE) { diff --git a/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c b/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c index fab67075608e..d6f42cbc0b38 100644 --- a/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c +++ b/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c @@ -600,40 +600,6 @@ limProcessAssocReqFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo, } } -#ifdef WMM_APSD - // Save the QOS info element in assoc request.. - limGetWmeMode(pMac, &wmeMode); - if (wmeMode == eHAL_SET) - { - tpQosInfoSta qInfo; - - qInfo = (tpQosInfoSta) (pAssocReq->qosCapability.qosInfo); - - if ((pMac->lim.gWmmApsd.apsdEnable == 0) && (qInfo->ac_be || qInfo->ac_bk || qInfo->ac_vo || qInfo->ac_vi)) - { - limLog(pMac, LOGW, - FL("Rejecting Re/Assoc req from STA: "MAC_ADDRESS_STR), - MAC_ADDR_ARRAY(pHdr->sa)); - limLog(pMac, LOGE, FL("APSD not enabled, qosInfo - 0x%x"), *qInfo); - - /** - * Received Re/Association Request from - * 11b STA when 11g only policy option - * is set. - * Reject with unspecified status code. - */ - limSendAssocRspMgmtFrame( - pMac, - eSIR_MAC_WME_REFUSED_STATUS, - 1, - pHdr->sa, - subType, 0,psessionEntry); - - limLog(pMac, LOGE, FL("APSD not enabled, qosInfo - 0x%x"), *qInfo); - goto error; - } - } -#endif // Check for 802.11n HT caps compatibility; are HT Capabilities // turned on in lim? diff --git a/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c b/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c index c304b3beedc1..174bd544bbfb 100644 --- a/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c +++ b/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c @@ -51,46 +51,6 @@ static void limUpdateConfig(tpAniSirGlobal pMac,tpPESession psessionEntry); -/** - * limSetDefaultKeyIdAndKeys() - * - *FUNCTION: - * This function is called while applying configuration - * during JOIN/REASSOC/START_BSS. - * - *PARAMS: - * - *LOGIC: - * - *ASSUMPTIONS: - * NA - * - *NOTE: - * - * @param pMac - Pointer to Global MAC structure - * @return None - */ - -static void -limSetDefaultKeyIdAndKeys(tpAniSirGlobal pMac) -{ -#ifdef FIXME_GEN6 - tANI_U32 val; - tANI_U32 dkCfgId; - - PELOG1(limLog(pMac, LOG1, FL("Setting default keys at SP"));) - - if (wlan_cfgGetInt(pMac, WNI_CFG_WEP_DEFAULT_KEYID, - &val) != eSIR_SUCCESS) - { - limLog(pMac, LOGP, - FL("Unable to retrieve defaultKeyId from CFG")); - } - dkCfgId = limGetCfgIdOfDefaultKeyid(val); -#endif - -} /*** end limSetDefaultKeyIdAndKeys() ***/ - /** ------------------------------------------------------------- \fn limSetCfgProtection \brief sets lim global cfg cache from the config. @@ -265,13 +225,6 @@ limHandleCFGparamUpdate(tpAniSirGlobal pMac, tANI_U32 cfgId) switch (cfgId) { case WNI_CFG_WEP_DEFAULT_KEYID: - - // !!LAC - when the default KeyID is changed, force all of the - // keys and the keyID to be reprogrammed. this allows the - // keys to change after the initial setting of the keys when the CFG was - // applied at association time through CFG changes of the keys. - limSetDefaultKeyIdAndKeys( pMac ); - break; case WNI_CFG_EXCLUDE_UNENCRYPTED: @@ -659,9 +612,6 @@ limApplyConfiguration(tpAniSirGlobal pMac,tpPESession psessionEntry) limGetPhyMode(pMac, &phyMode, psessionEntry); - // Set default keyId and keys - limSetDefaultKeyIdAndKeys(pMac); - limUpdateConfig(pMac,psessionEntry); limGetShortSlotFromPhyMode(pMac, psessionEntry, phyMode, @@ -775,12 +725,12 @@ limUpdateConfig(tpAniSirGlobal pMac,tpPESession psessionEntry) if(wlan_cfgGetInt(pMac, WNI_CFG_ASSOC_STA_LIMIT, &val) != eSIR_SUCCESS) { limLog( pMac, LOGP, FL( "cfg get assoc sta limit failed" )); } - if( (!WDI_getFwWlanFeatCaps(SAP32STA)) && (val >= WNI_CFG_ASSOC_STA_LIMIT_STAMAX)) + if(val >= WNI_CFG_ASSOC_STA_LIMIT_STAMAX) { if(ccmCfgSetInt(pMac, WNI_CFG_ASSOC_STA_LIMIT, WNI_CFG_ASSOC_STA_LIMIT_STADEF, NULL, eANI_BOOLEAN_FALSE) != eHAL_STATUS_SUCCESS) { - limLog( pMac, LOGP, FL( "cfg get assoc sta limit failed" )); + limLog( pMac, LOGP, FL( "cfg set assoc sta limit failed" )); } val = WNI_CFG_ASSOC_STA_LIMIT_STADEF; } diff --git a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c index 64c3606e145b..87237e3f6091 100644 --- a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c +++ b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c @@ -38,8 +38,6 @@ */ #include "palTypes.h" #include "wniApi.h" -#include "wlan_qct_wdi_ds.h" -#include "wlan_qct_pal_packet.h" #include "wlan_qct_wda.h" #include "wniCfgSta.h" @@ -72,9 +70,6 @@ #include "limFT.h" #endif -#ifdef WMM_APSD -#include "wmmApsd.h" -#endif #include "vos_types.h" #include "vos_packet.h" @@ -102,8 +97,8 @@ defMsgDecision(tpAniSirGlobal pMac, tpSirMsgQ limMsg) // Defer processsing this message if (limDeferMsg(pMac, limMsg) != TX_SUCCESS) { - PELOGW(limLog(pMac, LOGW, FL("Unable to Defer message(0x%X) %s limSmeState %d (prev sme state %d) sysRole %d mlm state %d (prev mlm state %d)"), - limMsg->type, limMsgStr(limMsg->type), pMac->lim.gLimSmeState, pMac->lim.gLimPrevSmeState, + PELOGW(limLog(pMac, LOGW, FL("Unable to Defer message(0x%X) limSmeState %d (prev sme state %d) sysRole %d mlm state %d (prev mlm state %d)"), + limMsg->type, pMac->lim.gLimSmeState, pMac->lim.gLimPrevSmeState, pMac->lim.gLimSystemRole, pMac->lim.gLimMlmState, pMac->lim.gLimPrevMlmState);) limLogSessionStates(pMac); limHandleDeferMsgError(pMac, limMsg); @@ -146,14 +141,14 @@ defMsgDecision(tpAniSirGlobal pMac, tpSirMsgQ limMsg) #endif (limMsg->type != WDA_ADD_TS_RSP)) { - PELOG1(limLog(pMac, LOG1, FL("Defer the current message %s , gLimProcessDefdMsgs is false and system is not in scan/learn mode"), - limMsgStr(limMsg->type));) + PELOG1(limLog(pMac, LOG1, FL("Defer the current message type %d , gLimProcessDefdMsgs is false and system is not in scan/learn mode"), + limMsg->type);) // Defer processsing this message if (limDeferMsg(pMac, limMsg) != TX_SUCCESS) { - PELOGW(limLog(pMac, LOGW, FL("Unable to Defer message(0x%X) %s limSmeState %d (prev sme state %d) sysRole %d mlm state %d (prev mlm state %d)"), - limMsg->type, limMsgStr(limMsg->type), pMac->lim.gLimSmeState, pMac->lim.gLimPrevSmeState, + PELOGW(limLog(pMac, LOGW, FL("Unable to Defer message(0x%X) limSmeState %d (prev sme state %d) sysRole %d mlm state %d (prev mlm state %d)"), + limMsg->type, pMac->lim.gLimSmeState, pMac->lim.gLimPrevSmeState, pMac->lim.gLimSystemRole, pMac->lim.gLimMlmState, pMac->lim.gLimPrevMlmState);) limLogSessionStates(pMac); limHandleDeferMsgError(pMac, limMsg); @@ -800,7 +795,6 @@ limHandle80211Frames(tpAniSirGlobal pMac, tpSirMsgQ limMsg, tANI_U8 *pDeferMsg) { // Unwanted messages - Log error limLog(pMac, LOGE, FL("unexpected message received %X"),limMsg->type); - limPrintMsgName(pMac, LOGE, limMsg->type); } break; @@ -819,7 +813,6 @@ limHandle80211Frames(tpAniSirGlobal pMac, tpSirMsgQ limMsg, tANI_U8 *pDeferMsg) { // Unwanted messages - Log error limLog(pMac, LOGE, FL("unexpected message received %X"),limMsg->type); - limPrintMsgName(pMac, LOGE, limMsg->type); } break; @@ -1115,9 +1108,6 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg) #if defined WLAN_FEATURE_VOWIFI_11R tpPESession pSession; #endif -#if defined(ANI_DVT_DEBUG) - tSirMsgQ msgQ; -#endif if(pMac->gDriverType == eDRIVER_TYPE_MFG) { vos_mem_free(limMsg->bodyptr); @@ -1134,11 +1124,6 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg) pMac->lim.numTot++; #endif - - PELOG3(limLog(pMac, LOG3, FL("rcvd msgType = %s, sme state = %s, mlm state = %s"), - limMsgStr(limMsg->type), limSmeStateStr(pMac->lim.gLimSmeState), - limMlmStateStr(pMac->lim.gLimMlmState));) - MTRACE(macTraceMsgRx(pMac, NO_SESSION, LIM_TRACE_MAKE_RXMSG(limMsg->type, LIM_MSG_PROCESSED));) switch (limMsg->type) @@ -1163,7 +1148,6 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg) pMac->lim.gLimSystemRole, pMac->lim.gLimMlmState, pMac->lim.gLimPrevMlmState);) } limLogSessionStates(pMac); - limPrintMsgName(pMac, LOGE, limMsg->type); } } else @@ -1257,7 +1241,6 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg) limMsg->type, pMac->lim.gLimSmeState, pMac->lim.gLimPrevSmeState, pMac->lim.gLimSystemRole, pMac->lim.gLimMlmState, pMac->lim.gLimPrevMlmState);) limLogSessionStates(pMac); - limPrintMsgName(pMac, LOGE, limMsg->type); vos_pkt_return_packet(pVosPkt); } } @@ -2053,13 +2036,12 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg) limLog(pMac, LOGE, FL("Discarding unexpected message received %X"), limMsg->type); - limPrintMsgName(pMac, LOGE, limMsg->type); break; } // switch (limMsg->type) - PELOG2(limLog(pMac, LOG2, FL("Done Processing msgType = %d, sme state = %s, mlm state = %s"), - limMsg->type, limSmeStateStr(pMac->lim.gLimSmeState), + PELOG2(limLog(pMac, LOG2, FL("Done Processing msgType = %d, mlm state = %s"), + limMsg->type, limMlmStateStr(pMac->lim.gLimMlmState));) } /*** end limProcessMessages() ***/ @@ -2168,7 +2150,6 @@ void limProcessNormalHddMsg(tpAniSirGlobal pMac, tSirMsgQ *pLimMsg, tANI_U8 fRsp pLimMsg->type, pMac->lim.gLimSmeState, pMac->lim.gLimPrevSmeState, pMac->lim.gLimSystemRole, pMac->lim.gLimMlmState, pMac->lim.gLimPrevMlmState);) limLogSessionStates(pMac); - limPrintMsgName(pMac, LOGE, pLimMsg->type); // Release body vos_mem_free(pLimMsg->bodyptr); pLimMsg->bodyptr = NULL; diff --git a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c index 0d42c8c0ecb5..8fa511d942b5 100644 --- a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c @@ -462,12 +462,6 @@ void limContinuePostChannelScan(tpAniSirGlobal pMac) /// Activate minChannelTimer limDeactivateAndChangeTimer(pMac, eLIM_MIN_CHANNEL_TIMER); -#ifdef GEN6_TODO - /* revisit this piece of code to assign the appropriate sessionId below - * priority - LOW/might not be needed - */ - pMac->lim.limTimers.gLimMinChannelTimer.sessionId = sessionId; -#endif MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, NO_SESSION, eLIM_MIN_CHANNEL_TIMER)); @@ -3643,18 +3637,6 @@ limProcessMinChannelTimeout(tpAniSirGlobal pMac) { tANI_U8 channelNum; -#ifdef GEN6_TODO - //if the min Channel is maintained per session, then use the below seesionEntry - //priority - LOW/might not be needed - - tpPESession psessionEntry; - - if((psessionEntry = peFindSessionBySessionId(pMac, pMac->lim.limTimers.gLimMinChannelTimer.sessionId))== NULL) - { - limLog(pMac, LOGP,FL("Session Does not exist for given sessionID")); - return; - } -#endif /*do not process if we are in finish scan wait state i.e. scan is aborted or finished*/ diff --git a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c index 9ee806f047f9..5700ecbd9bd8 100644 --- a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c @@ -2215,7 +2215,7 @@ void limProcessBtAmpApMlmDelBssRsp( tpAniSirGlobal pMac, tpSirMsgQ limMsgQ,tpPES * to occupy the medium during non channel occupancy period. So resume the transmission after * HAL gives back the response. */ - dphHashTableClassInit(pMac, &psessionEntry->dph.dphHashTable);//TBD-RAJESH is it needed ? + dphHashTableClassInit(pMac, &psessionEntry->dph.dphHashTable); limDeletePreAuthList(pMac); //Initialize number of associated stations during cleanup psessionEntry->gLimNumOfCurrentSTAs = 0; @@ -2973,20 +2973,6 @@ limProcessStaMlmAddBssRspFT(tpAniSirGlobal pMac, tpSirMsgQ limMsgQ, tpPESession pAddStaParams->vhtCapable = psessionEntry->vhtCapability; pAddStaParams->vhtTxChannelWidthSet = psessionEntry->vhtTxChannelWidthSet; #endif -#ifdef DISABLE_GF_FOR_INTEROP - /* - * To resolve the interop problem with Broadcom AP, - * where TQ STA could not pass traffic with GF enabled, - * TQ STA will do Greenfield only with TQ AP, for - * everybody else it will be turned off. - */ - if( (psessionEntry->pLimJoinReq != NULL) && (!psessionEntry->pLimJoinReq->bssDescription.aniIndicator)) - { - limLog( pMac, LOGE, FL(" Turning off Greenfield, when adding self entry")); - pAddStaParams->greenFieldCapable = WNI_CFG_GREENFIELD_CAPABILITY_DISABLE; - } - else -#endif pAddStaParams->greenFieldCapable = limGetHTCapability( pMac, eHT_GREENFIELD, psessionEntry); if (psessionEntry->limRFBand == SIR_BAND_2_4_GHZ) diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c index c72628b0ee68..2318059e4620 100644 --- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c @@ -406,7 +406,6 @@ __limProcessSmeStartReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) * log error */ limLog(pMac, LOGE, FL("Invalid SME_START_REQ received in SME state %X"),pMac->lim.gLimSmeState ); - limPrintSmeState(pMac, LOGE, pMac->lim.gLimSmeState); retCode = eSIR_SME_UNEXPECTED_REQ_RESULT_CODE; } limSendSmeRsp(pMac, eWNI_SME_START_RSP, retCode,smesessionId,smetransactionId); @@ -1757,20 +1756,6 @@ __limProcessSmeJoinReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) } /* check for the existence of start BSS session */ -#ifdef FIXME_GEN6 - if(pSmeJoinReq->bsstype == eSIR_BTAMP_AP_MODE) - { - if(peValidateBtJoinRequest(pMac)!= TRUE) - { - limLog(pMac, LOGW, FL("SessionId:%d Start Bss session not present::SME_JOIN_REQ in unexpected state"), - pSmeJoinReq->sessionId); - retCode = eSIR_SME_UNEXPECTED_REQ_RESULT_CODE; - psessionEntry = NULL; - goto end; - } - } - -#endif if((psessionEntry = peFindSessionByBssid(pMac,pSmeJoinReq->bssDescription.bssId,&sessionId)) != NULL) @@ -2181,7 +2166,6 @@ __limProcessSmeJoinReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) /* Received eWNI_SME_JOIN_REQ un expected state */ limLog(pMac, LOGE, FL("received unexpected SME_JOIN_REQ " "in state %X"), pMac->lim.gLimSmeState); - limPrintSmeState(pMac, LOGE, pMac->lim.gLimSmeState); retCode = eSIR_SME_UNEXPECTED_REQ_RESULT_CODE; psessionEntry = NULL; goto end; @@ -2343,7 +2327,6 @@ __limProcessSmeReassocReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) limLog(pMac, LOGE, FL("received unexpected SME_REASSOC_REQ in state %X"), psessionEntry->limSmeState); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); retCode = eSIR_SME_UNEXPECTED_REQ_RESULT_CODE; goto end; @@ -2701,7 +2684,6 @@ __limProcessSmeDisassocReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) limLog(pMac, LOGE, FL("received unexpected SME_DISASSOC_REQ in state %X"), psessionEntry->limSmeState); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); if (pMac->lim.gLimRspReqd) { @@ -2858,7 +2840,6 @@ __limProcessSmeDisassocCnf(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) limLog(pMac, LOGE, FL("received unexp SME_DISASSOC_CNF in state %X"), psessionEntry->limSmeState); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); return; } break; @@ -3019,7 +3000,6 @@ __limProcessSmeDeauthReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) limLog(pMac, LOGE, FL("received unexp SME_DEAUTH_REQ in state %X"), psessionEntry->limSmeState); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); if (pMac->lim.gLimRspReqd) { @@ -3268,7 +3248,6 @@ __limProcessSmeSetContextReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) FL("received unexpected SME_SETCONTEXT_REQ for role %d, state=%X"), psessionEntry->limSystemRole, psessionEntry->limSmeState); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); limSendSmeSetContextRsp(pMac, pSetContextReq->peerMacAddr, 1, @@ -3407,7 +3386,6 @@ __limProcessSmeRemoveKeyReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) FL("received unexpected SME_REMOVEKEY_REQ for role %d, state=%X"), psessionEntry->limSystemRole, psessionEntry->limSmeState); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); limSendSmeRemoveKeyRsp(pMac, pRemoveKeyReq->peerMacAddr, @@ -3434,10 +3412,6 @@ void limProcessSmeGetScanChannelInfo(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) pMac->lim.scanChnInfo.numChnInfo = SIR_MAX_SUPPORTED_CHANNEL_LIST; } - PELOG2(limLog(pMac, LOG2, - FL("Sending message %s with number of channels %d"), - limMsgStr(eWNI_SME_GET_SCANNED_CHANNEL_RSP), pMac->lim.scanChnInfo.numChnInfo);) - len = sizeof(tSmeGetScanChnRsp) + (pMac->lim.scanChnInfo.numChnInfo - 1) * sizeof(tLimScanChn); pSirSmeRsp = vos_mem_malloc(len); if ( NULL == pSirSmeRsp ) @@ -3766,7 +3740,6 @@ __limHandleSmeStopBssRequest(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf) limLog(pMac, LOGE, FL("received unexpected SME_STOP_BSS_REQ in state %X, for role %d"), psessionEntry->limSmeState, psessionEntry->limSystemRole); - limPrintSmeState(pMac, LOGE, psessionEntry->limSmeState); /// Send Stop BSS response to host limSendSmeRsp(pMac, eWNI_SME_STOP_BSS_RSP, eSIR_SME_UNEXPECTED_REQ_RESULT_CODE,smesessionId,smetransactionId); return; @@ -5509,9 +5482,7 @@ limProcessSmeReqMessages(tpAniSirGlobal pMac, tpSirMsgQ pMsg) tANI_BOOLEAN bufConsumed = TRUE; //Set this flag to false within case block of any following message, that doesnt want pMsgBuf to be freed. tANI_U32 *pMsgBuf = pMsg->bodyptr; tpSirSmeScanReq pScanReq; - PELOG1(limLog(pMac, LOG1, FL("LIM Received SME Message %s(%d) Global LimSmeState:%s(%d) Global LimMlmState: %s(%d)"), - limMsgStr(pMsg->type), pMsg->type, - limSmeStateStr(pMac->lim.gLimSmeState), pMac->lim.gLimSmeState, + PELOG1(limLog(pMac, LOG1, FL("LIM Received Global LimMlmState: %s(%d)"), limMlmStateStr(pMac->lim.gLimMlmState), pMac->lim.gLimMlmState );) pScanReq = (tpSirSmeScanReq) pMsgBuf; @@ -5553,8 +5524,8 @@ limProcessSmeReqMessages(tpAniSirGlobal pMac, tpSirMsgQ pMsg) limLog(pMac, LOGE, FL("Error: Scan Disabled." - " Return with error status for SME Message %s(%d)"), - limMsgStr(pMsg->type), pMsg->type); + " Return with error status for SME Message type(%d)"), + pMsg->type); return bufConsumed; } diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c index 77b4f1b8b040..ff4a1710f17b 100644 --- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c +++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c @@ -398,9 +398,6 @@ limSendProbeReqMgmtFrame(tpAniSirGlobal pMac, return eSIR_FAILURE; #endif -#if defined ( ANI_DVT_DEBUG ) - return eSIR_FAILURE; -#endif /* The probe req should not send 11ac capabilieties if band is 2.4GHz, * unless enableVhtFor24GHz is enabled in INI. So if enableVhtFor24GHz @@ -2306,22 +2303,6 @@ limSendAssocReqMgmtFrame(tpAniSirGlobal pMac, if (psessionEntry->htCapability && pMac->lim.htCapabilityPresentInBeacon) { PopulateDot11fHTCaps(pMac, psessionEntry, &pFrm->HTCaps); -#ifdef DISABLE_GF_FOR_INTEROP - - /* - * To resolve the interop problem with Broadcom AP, - * where TQ STA could not pass traffic with GF enabled, - * TQ STA will do Greenfield only with TQ AP, for - * everybody else it will be turned off. - */ - - if( (psessionEntry->pLimJoinReq != NULL) && (!psessionEntry->pLimJoinReq->bssDescription.aniIndicator)) - { - limLog( pMac, LOG1, FL("Sending Assoc Req to Non-TQ AP," - " Turning off Greenfield")); - pFrm->HTCaps.greenField = WNI_CFG_GREENFIELD_CAPABILITY_DISABLE; - } -#endif } #ifdef WLAN_FEATURE_11AC @@ -4302,401 +4283,6 @@ limSendDeauthMgmtFrame(tpAniSirGlobal pMac, } // End limSendDeauthMgmtFrame. -#ifdef ANI_SUPPORT_11H -/** - * \brief Send a Measurement Report Action frame - * - * - * \param pMac Pointer to the global MAC structure - * - * \param pMeasReqFrame Address of a tSirMacMeasReqActionFrame - * - * \return eSIR_SUCCESS on success, eSIR_FAILURE else - * - * - */ - -tSirRetStatus -limSendMeasReportFrame(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pMeasReqFrame, - tSirMacAddr peer, - tpPESession psessionEntry) -{ - tDot11fMeasurementReport frm; - tANI_U8 *pFrame; - tSirRetStatus nSirStatus; - tpSirMacMgmtHdr pMacHdr; - tANI_U32 nBytes, nPayload, nStatus; - void *pPacket; - eHalStatus halstatus; - - vos_mem_set( ( tANI_U8* )&frm, sizeof( frm ), 0 ); - - frm.Category.category = SIR_MAC_ACTION_SPECTRUM_MGMT; - frm.Action.action = SIR_MAC_ACTION_MEASURE_REPORT_ID; - frm.DialogToken.token = pMeasReqFrame->actionHeader.dialogToken; - - switch ( pMeasReqFrame->measReqIE.measType ) - { - case SIR_MAC_BASIC_MEASUREMENT_TYPE: - nSirStatus = - PopulateDot11fMeasurementReport0( pMac, pMeasReqFrame, - &frm.MeasurementReport ); - break; - case SIR_MAC_CCA_MEASUREMENT_TYPE: - nSirStatus = - PopulateDot11fMeasurementReport1( pMac, pMeasReqFrame, - &frm.MeasurementReport ); - break; - case SIR_MAC_RPI_MEASUREMENT_TYPE: - nSirStatus = - PopulateDot11fMeasurementReport2( pMac, pMeasReqFrame, - &frm.MeasurementReport ); - break; - default: - limLog( pMac, LOGE, FL("Unknown measurement type %d in limSen" - "dMeasReportFrame."), - pMeasReqFrame->measReqIE.measType ); - return eSIR_FAILURE; - } - - if ( eSIR_SUCCESS != nSirStatus ) return eSIR_FAILURE; - - nStatus = dot11fGetPackedMeasurementReportSize( pMac, &frm, &nPayload ); - if ( DOT11F_FAILED( nStatus ) ) - { - limLog( pMac, LOGP, FL("Failed to calculate the packed size f" - "or a Measurement Report (0x%08x)."), - nStatus ); - // We'll fall back on the worst case scenario: - nPayload = sizeof( tDot11fMeasurementReport ); - } - else if ( DOT11F_WARNED( nStatus ) ) - { - limLog( pMac, LOGW, FL("There were warnings while calculating " - "the packed size for a Measurement Rep" - "ort (0x%08x)."), nStatus ); - } - - nBytes = nPayload + sizeof( tSirMacMgmtHdr ); - - halstatus = palPktAlloc( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( tANI_U16 )nBytes, ( void** ) &pFrame, ( void** ) &pPacket ); - if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) - { - limLog( pMac, LOGP, FL("Failed to allocate %d bytes for a De-" - "Authentication."), nBytes ); - return eSIR_FAILURE; - } - - // Paranoia: - vos_mem_set( pFrame, nBytes, 0 ); - - // Next, we fill out the buffer descriptor: - nSirStatus = limPopulateMacHeader( pMac, pFrame, SIR_MAC_MGMT_FRAME, - SIR_MAC_MGMT_ACTION, peer); - if ( eSIR_SUCCESS != nSirStatus ) - { - limLog( pMac, LOGE, FL("Failed to populate the buffer descrip" - "tor for a Measurement Report (%d)."), - nSirStatus ); - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return eSIR_FAILURE; // just allocated... - } - - pMacHdr = ( tpSirMacMgmtHdr ) pFrame; - - vos_mem_copy(pMacHdr->bssId, psessionEntry->bssId, sizeof(tSirMacAddr)); - -#ifdef WLAN_FEATURE_11W - limSetProtectedBit(pMac, psessionEntry, peer, pMacHdr); -#endif - - nStatus = dot11fPackMeasurementReport( pMac, &frm, pFrame + - sizeof(tSirMacMgmtHdr), - nPayload, &nPayload ); - if ( DOT11F_FAILED( nStatus ) ) - { - limLog( pMac, LOGE, FL("Failed to pack a Measurement Report (0x%08x)."), - nStatus ); - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return eSIR_FAILURE; // allocated! - } - else if ( DOT11F_WARNED( nStatus ) ) - { - limLog( pMac, LOGW, FL("There were warnings while packing a M" - "easurement Report (0x%08x)."), nStatus ); - } - - MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, - ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), - pMacHdr->fc.subType)); - halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7, - limTxComplete, pFrame, 0 ); - MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, - ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), - halstatus)); - if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) - { - limLog( pMac, LOGE, FL("Failed to send a Measurement Report " - "(%X)!"), - nSirStatus ); - //Pkt will be freed up by the callback - return eSIR_FAILURE; // just allocated... - } - - return eSIR_SUCCESS; - -} // End limSendMeasReportFrame. - - -/** - * \brief Send a TPC Request Action frame - * - * - * \param pMac Pointer to the global MAC datastructure - * - * \param peer MAC address to which the frame should be sent - * - * - */ - -void -limSendTpcRequestFrame(tpAniSirGlobal pMac, - tSirMacAddr peer, - tpPESession psessionEntry) -{ - tDot11fTPCRequest frm; - tANI_U8 *pFrame; - tSirRetStatus nSirStatus; - tpSirMacMgmtHdr pMacHdr; - tANI_U32 nBytes, nPayload, nStatus; - void *pPacket; - eHalStatus halstatus; - - vos_mem_set( ( tANI_U8* )&frm, sizeof( frm ), 0 ); - - frm.Category.category = SIR_MAC_ACTION_SPECTRUM_MGMT; - frm.Action.action = SIR_MAC_ACTION_TPC_REQUEST_ID; - frm.DialogToken.token = 1; - frm.TPCRequest.present = 1; - - nStatus = dot11fGetPackedTPCRequestSize( pMac, &frm, &nPayload ); - if ( DOT11F_FAILED( nStatus ) ) - { - limLog( pMac, LOGP, FL("Failed to calculate the packed size f" - "or a TPC Request (0x%08x)."), - nStatus ); - // We'll fall back on the worst case scenario: - nPayload = sizeof( tDot11fTPCRequest ); - } - else if ( DOT11F_WARNED( nStatus ) ) - { - limLog( pMac, LOGW, FL("There were warnings while calculating " - "the packed size for a TPC Request (0x" - "%08x)."), nStatus ); - } - - nBytes = nPayload + sizeof( tSirMacMgmtHdr ); - - halstatus = palPktAlloc( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( tANI_U16 )nBytes, ( void** ) &pFrame, ( void** ) &pPacket ); - if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) - { - limLog( pMac, LOGP, FL("Failed to allocate %d bytes for a TPC" - " Request."), nBytes ); - return; - } - - // Paranoia: - vos_mem_set(pFrame, nBytes,0); - - // Next, we fill out the buffer descriptor: - nSirStatus = limPopulateMacHeader( pMac, pFrame, SIR_MAC_MGMT_FRAME, - SIR_MAC_MGMT_ACTION, peer); - if ( eSIR_SUCCESS != nSirStatus ) - { - limLog( pMac, LOGE, FL("Failed to populate the buffer descrip" - "tor for a TPC Request (%d)."), - nSirStatus ); - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return; // just allocated... - } - - pMacHdr = ( tpSirMacMgmtHdr ) pFrame; - - vos_mem_copy(pMacHdr->bssId, psessionEntry->bssId, sizeof(tSirMacAddr)); - -#ifdef WLAN_FEATURE_11W - limSetProtectedBit(pMac, psessionEntry, peer, pMacHdr); -#endif - - nStatus = dot11fPackTPCRequest( pMac, &frm, pFrame + - sizeof(tSirMacMgmtHdr), - nPayload, &nPayload ); - if ( DOT11F_FAILED( nStatus ) ) - { - limLog( pMac, LOGE, FL("Failed to pack a TPC Request (0x%08x)."), - nStatus ); - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return; // allocated! - } - else if ( DOT11F_WARNED( nStatus ) ) - { - limLog( pMac, LOGW, FL("There were warnings while packing a T" - "PC Request (0x%08x)."), nStatus ); - } - - MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, - ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), - pMacHdr->fc.subType)); - halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7, - limTxComplete, pFrame, 0 ); - MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, - ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), - halstatus)); - if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) - { - limLog( pMac, LOGE, FL("Failed to send a TPC Request " - "(%X)!"), - nSirStatus ); - //Pkt will be freed up by the callback - return; - } - -} // End limSendTpcRequestFrame. - - -/** - * \brief Send a TPC Report Action frame - * - * - * \param pMac Pointer to the global MAC datastructure - * - * \param pTpcReqFrame Pointer to the received TPC Request - * - * \return eSIR_SUCCESS on success, eSIR_FAILURE else - * - * - */ - -tSirRetStatus -limSendTpcReportFrame(tpAniSirGlobal pMac, - tpSirMacTpcReqActionFrame pTpcReqFrame, - tSirMacAddr peer, - tpPESession psessionEntry) -{ - tDot11fTPCReport frm; - tANI_U8 *pFrame; - tSirRetStatus nSirStatus; - tpSirMacMgmtHdr pMacHdr; - tANI_U32 nBytes, nPayload, nStatus; - void *pPacket; - eHalStatus halstatus; - - vos_mem_set( ( tANI_U8* )&frm, sizeof( frm ), 0 ); - - frm.Category.category = SIR_MAC_ACTION_SPECTRUM_MGMT; - frm.Action.action = SIR_MAC_ACTION_TPC_REPORT_ID; - frm.DialogToken.token = pTpcReqFrame->actionHeader.dialogToken; - - frm.TPCReport.tx_power = 0; - frm.TPCReport.link_margin = 0; - frm.TPCReport.present = 1; - - nStatus = dot11fGetPackedTPCReportSize( pMac, &frm, &nPayload ); - if ( DOT11F_FAILED( nStatus ) ) - { - limLog( pMac, LOGP, FL("Failed to calculate the packed size f" - "or a TPC Report (0x%08x)."), - nStatus ); - // We'll fall back on the worst case scenario: - nPayload = sizeof( tDot11fTPCReport ); - } - else if ( DOT11F_WARNED( nStatus ) ) - { - limLog( pMac, LOGW, FL("There were warnings while calculating " - "the packed size for a TPC Report (0x" - "%08x)."), nStatus ); - } - - nBytes = nPayload + sizeof( tSirMacMgmtHdr ); - - halstatus = palPktAlloc( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( tANI_U16 )nBytes, ( void** ) &pFrame, ( void** ) &pPacket ); - if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) - { - limLog( pMac, LOGP, FL("Failed to allocate %d bytes for a TPC" - " Report."), nBytes ); - return eSIR_FAILURE; - } - - // Paranoia: - vos_mem_set( pFrame, nBytes, 0 ); - - // Next, we fill out the buffer descriptor: - nSirStatus = limPopulateMacHeader( pMac, pFrame, SIR_MAC_MGMT_FRAME, - SIR_MAC_MGMT_ACTION, peer); - if ( eSIR_SUCCESS != nSirStatus ) - { - limLog( pMac, LOGE, FL("Failed to populate the buffer descrip" - "tor for a TPC Report (%d)."), - nSirStatus ); - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return eSIR_FAILURE; // just allocated... - } - - pMacHdr = ( tpSirMacMgmtHdr ) pFrame; - - vos_mem_copy(pMacHdr->bssId, psessionEntry->bssId, sizeof(tSirMacAddr)); - -#ifdef WLAN_FEATURE_11W - limSetProtectedBit(pMac, psessionEntry, peer, pMacHdr); -#endif - - nStatus = dot11fPackTPCReport( pMac, &frm, pFrame + - sizeof(tSirMacMgmtHdr), - nPayload, &nPayload ); - if ( DOT11F_FAILED( nStatus ) ) - { - limLog( pMac, LOGE, FL("Failed to pack a TPC Report (0x%08x)."), - nStatus ); - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return eSIR_FAILURE; // allocated! - } - else if ( DOT11F_WARNED( nStatus ) ) - { - limLog( pMac, LOGW, FL("There were warnings while packing a T" - "PC Report (0x%08x)."), nStatus ); - } - - MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, - ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), - pMacHdr->fc.subType)); - halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7, - limTxComplete, pFrame, 0 ); - MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, - ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), - halstatus)); - if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) - { - limLog( pMac, LOGE, FL("Failed to send a TPC Report " - "(%X)!"), - nSirStatus ); - //Pkt will be freed up by the callback - return eSIR_FAILURE; // just allocated... - } - - return eSIR_SUCCESS; - -} // End limSendTpcReportFrame. -#endif //ANI_SUPPORT_11H /** diff --git a/CORE/MAC/src/pe/lim/limSendMessages.c b/CORE/MAC/src/pe/lim/limSendMessages.c index 4aaa274c3769..7fc5ad5b5a9f 100644 --- a/CORE/MAC/src/pe/lim/limSendMessages.c +++ b/CORE/MAC/src/pe/lim/limSendMessages.c @@ -686,7 +686,6 @@ tSirRetStatus limSendBeaconFilterInfo(tpAniSirGlobal pMac,tpPESession psessionEn } vos_mem_set((tANI_U8 *) pBeaconFilterMsg, msgSize, 0); // Fill in capability Info and mask - //TBD-RAJESH get the BSS capability from session. //Don't send this message if no active Infra session is found. pBeaconFilterMsg->capabilityInfo = psessionEntry->limCurrentBssCaps; pBeaconFilterMsg->capabilityMask = CAPABILITY_FILTER_MASK; diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c index b5d6ff70046e..c608aac6017d 100644 --- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c +++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c @@ -164,8 +164,8 @@ limSendSmeRsp(tpAniSirGlobal pMac, tANI_U16 msgType, tSirSmeRsp *pSirSmeRsp; PELOG1(limLog(pMac, LOG1, - FL("Sending message %s with reasonCode %s"), - limMsgStr(msgType), limResultCodeStr(resultCode));) + FL("Sending message type %d with reasonCode %s"), + msgType, limResultCodeStr(resultCode));) pSirSmeRsp = vos_mem_malloc(sizeof(tSirSmeRsp)); if ( NULL == pSirSmeRsp ) @@ -315,8 +315,8 @@ limSendSmeJoinReassocRsp(tpAniSirGlobal pMac, tANI_U16 msgType, #endif //FEATURE_WLAN_DIAG_SUPPORT PELOG1(limLog(pMac, LOG1, - FL("Sending message %s with reasonCode %s"), - limMsgStr(msgType), limResultCodeStr(resultCode));) + FL("Sending message type %d with reasonCode %s"), + msgType, limResultCodeStr(resultCode));) if(psessionEntry == NULL) { @@ -589,8 +589,8 @@ limSendSmeStartBssRsp(tpAniSirGlobal pMac, tANI_U16 ieLen; tANI_U16 ieOffset, curLen; - PELOG1(limLog(pMac, LOG1, FL("Sending message %s with reasonCode %s"), - limMsgStr(msgType), limResultCodeStr(resultCode));) + PELOG1(limLog(pMac, LOG1, FL("Sending message type %d with reasonCode %s"), + msgType, limResultCodeStr(resultCode));) size = sizeof(tSirSmeStartBssRsp); diff --git a/CORE/MAC/src/pe/lim/limTypes.h b/CORE/MAC/src/pe/lim/limTypes.h index 85a34b3afe5f..15226d109a98 100644 --- a/CORE/MAC/src/pe/lim/limTypes.h +++ b/CORE/MAC/src/pe/lim/limTypes.h @@ -45,8 +45,6 @@ #include "sirMacProtDef.h" #include "utilsApi.h" -#include "wlan_qct_wdi_ds.h" - #include "limApi.h" #include "limDebug.h" #include "limSendSmeRspMessages.h" @@ -763,15 +761,6 @@ void limCompleteMlmScan(tpAniSirGlobal, tSirResultCodes); void limSetOemDataReqMode(tpAniSirGlobal pMac, eHalStatus status, tANI_U32* data); #endif -#ifdef ANI_SUPPORT_11H -/// Function that sends Measurement Report action frame -tSirRetStatus limSendMeasReportFrame(tpAniSirGlobal, tpSirMacMeasReqActionFrame, - tSirMacAddr, tpPESession psessionEntry); - -/// Function that sends TPC Report action frame -tSirRetStatus limSendTpcReportFrame(tpAniSirGlobal, tpSirMacTpcReqActionFrame, tSirMacAddr, - tpPESession psessionEntry); -#endif /// Function that sends TPC Request action frame void limSendTpcRequestFrame(tpAniSirGlobal, tSirMacAddr, tpPESession psessionEntry); diff --git a/CORE/MAC/src/pe/lim/limUtils.c b/CORE/MAC/src/pe/lim/limUtils.c index 2e01979884b7..29fe118d1e84 100644 --- a/CORE/MAC/src/pe/lim/limUtils.c +++ b/CORE/MAC/src/pe/lim/limUtils.c @@ -383,87 +383,6 @@ limPrintMlmState(tpAniSirGlobal pMac, tANI_U16 logLevel, tLimMlmStates state) limLog(pMac, logLevel, limMlmStateStr(state)); } -char * -limSmeStateStr(tLimSmeStates state) -{ -#ifdef FIXME_GEN6 - switch (state) - { - case eLIM_SME_OFFLINE_STATE: - return "eLIM_SME_OFFLINE_STATE"; - case eLIM_SME_IDLE_STATE: - return "eLIM_SME_IDLE_STATE"; - case eLIM_SME_SUSPEND_STATE: - return "eLIM_SME_SUSPEND_STATE"; - case eLIM_SME_WT_SCAN_STATE: - return "eLIM_SME_WT_SCAN_STATE"; - case eLIM_SME_WT_JOIN_STATE: - return "eLIM_SME_WT_JOIN_STATE"; - case eLIM_SME_WT_AUTH_STATE: - return "eLIM_SME_WT_AUTH_STATE"; - case eLIM_SME_WT_ASSOC_STATE: - return "eLIM_SME_WT_ASSOC_STATE"; - case eLIM_SME_WT_REASSOC_STATE: - return "eLIM_SME_WT_REASSOC_STATE"; - case eLIM_SME_WT_REASSOC_LINK_FAIL_STATE: - return "eLIM_SME_WT_REASSOC_LINK_FAIL_STATE"; - case eLIM_SME_JOIN_FAILURE_STATE: - return "eLIM_SME_JOIN_FAILURE_STATE"; - case eLIM_SME_ASSOCIATED_STATE: - return "eLIM_SME_ASSOCIATED_STATE"; - case eLIM_SME_REASSOCIATED_STATE: - return "eLIM_SME_REASSOCIATED_STATE"; - case eLIM_SME_LINK_EST_STATE: - return "eLIM_SME_LINK_EST_STATE"; - case eLIM_SME_LINK_EST_WT_SCAN_STATE: - return "eLIM_SME_LINK_EST_WT_SCAN_STATE"; - case eLIM_SME_WT_PRE_AUTH_STATE: - return "eLIM_SME_WT_PRE_AUTH_STATE"; - case eLIM_SME_WT_DISASSOC_STATE: - return "eLIM_SME_WT_DISASSOC_STATE"; - case eLIM_SME_WT_DEAUTH_STATE: - return "eLIM_SME_WT_DEAUTH_STATE"; - case eLIM_SME_WT_START_BSS_STATE: - return "eLIM_SME_WT_START_BSS_STATE"; - case eLIM_SME_WT_STOP_BSS_STATE: - return "eLIM_SME_WT_STOP_BSS_STATE"; - case eLIM_SME_NORMAL_STATE: - return "eLIM_SME_NORMAL_STATE"; - case eLIM_SME_CHANNEL_SCAN_STATE: - return "eLIM_SME_CHANNEL_SCAN_STATE"; - case eLIM_SME_NORMAL_CHANNEL_SCAN_STATE: - return "eLIM_SME_NORMAL_CHANNEL_SCAN_STATE"; - default: - return "INVALID SME state"; - } -#endif -return ""; -} - - -char* limDot11ModeStr(tpAniSirGlobal pMac, tANI_U8 dot11Mode) -{ -#ifdef FIXME_GEN6 - - switch(dot11Mode) - { - case WNI_CFG_DOT11_MODE_ALL: - return "ALL"; - case WNI_CFG_DOT11_MODE_11A: - return "11A"; - case WNI_CFG_DOT11_MODE_11B: - return "11B"; - case WNI_CFG_DOT11_MODE_11G: - return "11G"; - case WNI_CFG_DOT11_MODE_11N: - return "11N"; - default: - return "Invalid Dot11 Mode"; - } -#endif -return ""; -} - char* limBssTypeStr(tSirBssType bssType) { switch(bssType) @@ -483,255 +402,6 @@ char* limBssTypeStr(tSirBssType bssType) } } -void -limPrintSmeState(tpAniSirGlobal pMac, tANI_U16 logLevel, tLimSmeStates state) -{ - limLog(pMac, logLevel, limSmeStateStr(state)); -} - -char *limMsgStr(tANI_U32 msgType) -{ -#ifdef FIXME_GEN6 - switch (msgType) - { - case eWNI_SME_START_REQ: - return "eWNI_SME_START_REQ"; - case eWNI_SME_START_RSP: - return "eWNI_SME_START_RSP"; - case eWNI_SME_SYS_READY_IND: - return "eWNI_SME_SYS_READY_IND"; - case eWNI_SME_SCAN_REQ: - return "eWNI_SME_SCAN_REQ"; -#ifdef FEATURE_OEM_DATA_SUPPORT - case eWNI_SME_OEM_DATA_REQ: - return "eWNI_SME_OEM_DATA_REQ"; - case eWNI_SME_OEM_DATA_RSP: - return "eWNI_SME_OEM_DATA_RSP"; -#endif - case eWNI_SME_SCAN_RSP: - return "eWNI_SME_SCAN_RSP"; - case eWNI_SME_JOIN_REQ: - return "eWNI_SME_JOIN_REQ"; - case eWNI_SME_JOIN_RSP: - return "eWNI_SME_JOIN_RSP"; - case eWNI_SME_SETCONTEXT_REQ: - return "eWNI_SME_SETCONTEXT_REQ"; - case eWNI_SME_SETCONTEXT_RSP: - return "eWNI_SME_SETCONTEXT_RSP"; - case eWNI_SME_REASSOC_REQ: - return "eWNI_SME_REASSOC_REQ"; - case eWNI_SME_REASSOC_RSP: - return "eWNI_SME_REASSOC_RSP"; - case eWNI_SME_DISASSOC_REQ: - return "eWNI_SME_DISASSOC_REQ"; - case eWNI_SME_DISASSOC_RSP: - return "eWNI_SME_DISASSOC_RSP"; - case eWNI_SME_DISASSOC_IND: - return "eWNI_SME_DISASSOC_IND"; - case eWNI_SME_DISASSOC_CNF: - return "eWNI_SME_DISASSOC_CNF"; - case eWNI_SME_DEAUTH_REQ: - return "eWNI_SME_DEAUTH_REQ"; - case eWNI_SME_DEAUTH_RSP: - return "eWNI_SME_DEAUTH_RSP"; - case eWNI_SME_DEAUTH_IND: - return "eWNI_SME_DEAUTH_IND"; - case eWNI_SME_WM_STATUS_CHANGE_NTF: - return "eWNI_SME_WM_STATUS_CHANGE_NTF"; - case eWNI_SME_START_BSS_REQ: - return "eWNI_SME_START_BSS_REQ"; - case eWNI_SME_START_BSS_RSP: - return "eWNI_SME_START_BSS_RSP"; - case eWNI_SME_AUTH_IND: - return "eWNI_SME_AUTH_IND"; - case eWNI_SME_ASSOC_IND: - return "eWNI_SME_ASSOC_IND"; - case eWNI_SME_ASSOC_CNF: - return "eWNI_SME_ASSOC_CNF"; - case eWNI_SME_REASSOC_IND: - return "eWNI_SME_REASSOC_IND"; - case eWNI_SME_REASSOC_CNF: - return "eWNI_SME_REASSOC_CNF"; - case eWNI_SME_SWITCH_CHL_REQ: - return "eWNI_SME_SWITCH_CHL_REQ"; - case eWNI_SME_SWITCH_CHL_RSP: - return "eWNI_SME_SWITCH_CHL_RSP"; - case eWNI_SME_SWITCH_CHL_CB_PRIMARY_REQ: - return "eWNI_SME_SWITCH_CHL_CB_PRIMARY_REQ"; - case eWNI_SME_SWITCH_CHL_CB_SECONDARY_REQ: - return "eWNI_SME_SWITCH_CHL_CB_SECONDARY_REQ"; - case eWNI_SME_STOP_BSS_REQ: - return "eWNI_SME_STOP_BSS_REQ"; - case eWNI_SME_STOP_BSS_RSP: - return "eWNI_SME_STOP_BSS_RSP"; - case eWNI_SME_NEIGHBOR_BSS_IND: - return "eWNI_SME_NEIGHBOR_BSS_IND"; - case eWNI_SME_MEASUREMENT_REQ: - return "eWNI_SME_MEASUREMENT_REQ"; - case eWNI_SME_MEASUREMENT_RSP: - return "eWNI_SME_MEASUREMENT_RSP"; - case eWNI_SME_MEASUREMENT_IND: - return "eWNI_SME_MEASUREMENT_IND"; - case eWNI_SME_SET_WDS_INFO_REQ: - return "eWNI_SME_SET_WDS_INFO_REQ"; - case eWNI_SME_SET_WDS_INFO_RSP: - return "eWNI_SME_SET_WDS_INFO_RSP"; - case eWNI_SME_WDS_INFO_IND: - return "eWNI_SME_WDS_INFO_IND"; - case eWNI_SME_DEAUTH_CNF: - return "eWNI_SME_DEAUTH_CNF"; - case eWNI_SME_MIC_FAILURE_IND: - return "eWNI_SME_MIC_FAILURE_IND"; - case eWNI_SME_ADDTS_REQ: - return "eWNI_SME_ADDTS_REQ"; - case eWNI_SME_ADDTS_RSP: - return "eWNI_SME_ADDTS_RSP"; - case eWNI_SME_ADDTS_CNF: - return "eWNI_SME_ADDTS_CNF"; - case eWNI_SME_ADDTS_IND: - return "eWNI_SME_ADDTS_IND"; - case eWNI_SME_DELTS_REQ: - return "eWNI_SME_DELTS_REQ"; - case eWNI_SME_DELTS_RSP: - return "eWNI_SME_DELTS_RSP"; - case eWNI_SME_DELTS_IND: - return "eWNI_SME_DELTS_IND"; -#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR) - case eWNI_SME_GET_ROAM_RSSI_REQ: - return "eWNI_SME_GET_ROAM_RSSI_REQ"; - case eWNI_SME_GET_ROAM_RSSI_RSP: - return "eWNI_SME_GET_ROAM_RSSI_RSP"; -#endif - - case WDA_SUSPEND_ACTIVITY_RSP: - return "WDA_SUSPEND_ACTIVITY_RSP"; - case SIR_LIM_RETRY_INTERRUPT_MSG: - return "SIR_LIM_RETRY_INTERRUPT_MSG"; - case SIR_BB_XPORT_MGMT_MSG: - return "SIR_BB_XPORT_MGMT_MSG"; - case SIR_LIM_INV_KEY_INTERRUPT_MSG: - return "SIR_LIM_INV_KEY_INTERRUPT_MSG"; - case SIR_LIM_KEY_ID_INTERRUPT_MSG: - return "SIR_LIM_KEY_ID_INTERRUPT_MSG"; - case SIR_LIM_REPLAY_THRES_INTERRUPT_MSG: - return "SIR_LIM_REPLAY_THRES_INTERRUPT_MSG"; - case SIR_LIM_MIN_CHANNEL_TIMEOUT: - return "SIR_LIM_MIN_CHANNEL_TIMEOUT"; - case SIR_LIM_MAX_CHANNEL_TIMEOUT: - return "SIR_LIM_MAX_CHANNEL_TIMEOUT"; - case SIR_LIM_JOIN_FAIL_TIMEOUT: - return "SIR_LIM_JOIN_FAIL_TIMEOUT"; - case SIR_LIM_AUTH_FAIL_TIMEOUT: - return "SIR_LIM_AUTH_FAIL_TIMEOUT"; - case SIR_LIM_AUTH_RSP_TIMEOUT: - return "SIR_LIM_AUTH_RSP_TIMEOUT"; - case SIR_LIM_ASSOC_FAIL_TIMEOUT: - return "SIR_LIM_ASSOC_FAIL_TIMEOUT"; - case SIR_LIM_REASSOC_FAIL_TIMEOUT: - return "SIR_LIM_REASSOC_FAIL_TIMEOUT"; - case SIR_LIM_HEART_BEAT_TIMEOUT: - return "SIR_LIM_HEART_BEAT_TIMEOUT"; - case SIR_LIM_ADDTS_RSP_TIMEOUT: - return "SIR_LIM_ADDTS_RSP_TIMEOUT"; - case SIR_LIM_CHANNEL_SCAN_TIMEOUT: - return "SIR_LIM_CHANNEL_SCAN_TIMEOUT"; - case SIR_LIM_LINK_TEST_DURATION_TIMEOUT: - return "SIR_LIM_LINK_TEST_DURATION_TIMEOUT"; - case SIR_LIM_HASH_MISS_THRES_TIMEOUT: - return "SIR_LIM_HASH_MISS_THRES_TIMEOUT"; - case SIR_LIM_KEEPALIVE_TIMEOUT: - return "SIR_LIM_KEEPALIVE_TIMEOUT"; - case SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT: - return "SIR_LIM_UPDATE_OLBC_CACHEL_TIMEOUT"; - case SIR_LIM_CNF_WAIT_TIMEOUT: - return "SIR_LIM_CNF_WAIT_TIMEOUT"; - case SIR_LIM_RADAR_DETECT_IND: - return "SIR_LIM_RADAR_DETECT_IND"; -#ifdef WLAN_FEATURE_VOWIFI_11R - case SIR_LIM_FT_PREAUTH_RSP_TIMEOUT: - return "SIR_LIM_FT_PREAUTH_RSP_TIMEOUT"; -#endif - - case SIR_HAL_APP_SETUP_NTF: - return "SIR_HAL_APP_SETUP_NTF"; - case SIR_HAL_INITIAL_CAL_FAILED_NTF: - return "SIR_HAL_INITIAL_CAL_FAILED_NTF"; - case SIR_HAL_NIC_OPER_NTF: - return "SIR_HAL_NIC_OPER_NTF"; - case SIR_HAL_INIT_START_REQ: - return "SIR_HAL_INIT_START_REQ"; - case SIR_HAL_SHUTDOWN_REQ: - return "SIR_HAL_SHUTDOWN_REQ"; - case SIR_HAL_SHUTDOWN_CNF: - return "SIR_HAL_SHUTDOWN_CNF"; - case SIR_HAL_RESET_REQ: - return "SIR_HAL_RESET_REQ"; - case SIR_HAL_RESET_CNF: - return "SIR_HAL_RESET_CNF"; - case SIR_WRITE_TO_TD: - return "SIR_WRITE_TO_TD"; - - case WNI_CFG_PARAM_UPDATE_IND: - return "WNI_CFG_PARAM_UPDATE_IND"; - case WNI_CFG_DNLD_REQ: - return "WNI_CFG_DNLD_REQ"; - case WNI_CFG_DNLD_CNF: - return "WNI_CFG_DNLD_CNF"; - case WNI_CFG_GET_RSP: - return "WNI_CFG_GET_RSP"; - case WNI_CFG_SET_CNF: - return "WNI_CFG_SET_CNF"; - case WNI_CFG_GET_ATTRIB_RSP: - return "WNI_CFG_GET_ATTRIB_RSP"; - case WNI_CFG_ADD_GRP_ADDR_CNF: - return "WNI_CFG_ADD_GRP_ADDR_CNF"; - case WNI_CFG_DEL_GRP_ADDR_CNF: - return "WNI_CFG_DEL_GRP_ADDR_CNF"; - case ANI_CFG_GET_RADIO_STAT_RSP: - return "ANI_CFG_GET_RADIO_STAT_RSP"; - case ANI_CFG_GET_PER_STA_STAT_RSP: - return "ANI_CFG_GET_PER_STA_STAT_RSP"; - case ANI_CFG_GET_AGG_STA_STAT_RSP: - return "ANI_CFG_GET_AGG_STA_STAT_RSP"; - case ANI_CFG_CLEAR_STAT_RSP: - return "ANI_CFG_CLEAR_STAT_RSP"; - case WNI_CFG_DNLD_RSP: - return "WNI_CFG_DNLD_RSP"; - case WNI_CFG_GET_REQ: - return "WNI_CFG_GET_REQ"; - case WNI_CFG_SET_REQ: - return "WNI_CFG_SET_REQ"; - case WNI_CFG_SET_REQ_NO_RSP: - return "WNI_CFG_SET_REQ_NO_RSP"; - case eWNI_PMC_ENTER_IMPS_RSP: - return "eWNI_PMC_ENTER_IMPS_RSP"; - case eWNI_PMC_EXIT_IMPS_RSP: - return "eWNI_PMC_EXIT_IMPS_RSP"; - case eWNI_PMC_ENTER_BMPS_RSP: - return "eWNI_PMC_ENTER_BMPS_RSP"; - case eWNI_PMC_EXIT_BMPS_RSP: - return "eWNI_PMC_EXIT_BMPS_RSP"; - case eWNI_PMC_EXIT_BMPS_IND: - return "eWNI_PMC_EXIT_BMPS_IND"; - case eWNI_SME_SET_BCN_FILTER_REQ: - return "eWNI_SME_SET_BCN_FILTER_REQ"; -#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD) - case eWNI_SME_GET_TSM_STATS_REQ: - return "eWNI_SME_GET_TSM_STATS_REQ"; - case eWNI_SME_GET_TSM_STATS_RSP: - return "eWNI_SME_GET_TSM_STATS_RSP"; -#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */ - case eWNI_SME_CSA_OFFLOAD_EVENT: - return "eWNI_SME_CSA_OFFLOAD_EVENT"; - default: - return "INVALID SME message"; - } -#endif -return ""; -} - - - char *limResultCodeStr(tSirResultCodes resultCode) { switch (resultCode) @@ -885,29 +555,6 @@ char *limResultCodeStr(tSirResultCodes resultCode) } } -void -limPrintMsgName(tpAniSirGlobal pMac, tANI_U16 logLevel, tANI_U32 msgType) -{ - limLog(pMac, logLevel, limMsgStr(msgType)); -} - -void -limPrintMsgInfo(tpAniSirGlobal pMac, tANI_U16 logLevel, tSirMsgQ *msg) -{ - if (logLevel <= pMac->utils.gLogDbgLevel[SIR_LIM_MODULE_ID - LOG_FIRST_MODULE_ID]) - { - switch (msg->type) - { - case SIR_BB_XPORT_MGMT_MSG: - limPrintMsgName(pMac, logLevel,msg->type); - break; - default: - limPrintMsgName(pMac, logLevel,msg->type); - break; - } - } -} - /** * limInitMlm() * @@ -1547,118 +1194,6 @@ limSysProcessMmhMsgApi(tpAniSirGlobal pMac, return eSIR_SUCCESS; } -char *limFrameStr(tANI_U32 type, tANI_U32 subType) -{ -#ifdef FIXME_GEN6 - - if (type == SIR_MAC_MGMT_FRAME) - { - switch (subType) - { - case SIR_MAC_MGMT_ASSOC_REQ: - return "MAC_MGMT_ASSOC_REQ"; - case SIR_MAC_MGMT_ASSOC_RSP: - return "MAC_MGMT_ASSOC_RSP"; - case SIR_MAC_MGMT_REASSOC_REQ: - return "MAC_MGMT_REASSOC_REQ"; - case SIR_MAC_MGMT_REASSOC_RSP: - return "MAC_MGMT_REASSOC_RSP"; - case SIR_MAC_MGMT_PROBE_REQ: - return "MAC_MGMT_PROBE_REQ"; - case SIR_MAC_MGMT_PROBE_RSP: - return "MAC_MGMT_PROBE_RSP"; - case SIR_MAC_MGMT_BEACON: - return "MAC_MGMT_BEACON"; - case SIR_MAC_MGMT_ATIM: - return "MAC_MGMT_ATIM"; - case SIR_MAC_MGMT_DISASSOC: - return "MAC_MGMT_DISASSOC"; - case SIR_MAC_MGMT_AUTH: - return "MAC_MGMT_AUTH"; - case SIR_MAC_MGMT_DEAUTH: - return "MAC_MGMT_DEAUTH"; - case SIR_MAC_MGMT_ACTION: - return "MAC_MGMT_ACTION"; - case SIR_MAC_MGMT_RESERVED15: - return "MAC_MGMT_RESERVED15"; - default: - return "Unknown MGMT Frame"; - } - } - - else if (type == SIR_MAC_CTRL_FRAME) - { - switch (subType) - { - case SIR_MAC_CTRL_RR: - return "MAC_CTRL_RR"; - case SIR_MAC_CTRL_BAR: - return "MAC_CTRL_BAR"; - case SIR_MAC_CTRL_BA: - return "MAC_CTRL_BA"; - case SIR_MAC_CTRL_PS_POLL: - return "MAC_CTRL_PS_POLL"; - case SIR_MAC_CTRL_RTS: - return "MAC_CTRL_RTS"; - case SIR_MAC_CTRL_CTS: - return "MAC_CTRL_CTS"; - case SIR_MAC_CTRL_ACK: - return "MAC_CTRL_ACK"; - case SIR_MAC_CTRL_CF_END: - return "MAC_CTRL_CF_END"; - case SIR_MAC_CTRL_CF_END_ACK: - return "MAC_CTRL_CF_END_ACK"; - default: - return "Unknown CTRL Frame"; - } - } - - else if (type == SIR_MAC_DATA_FRAME) - { - switch (subType) - { - case SIR_MAC_DATA_DATA: - return "MAC_DATA_DATA"; - case SIR_MAC_DATA_DATA_ACK: - return "MAC_DATA_DATA_ACK"; - case SIR_MAC_DATA_DATA_POLL: - return "MAC_DATA_DATA_POLL"; - case SIR_MAC_DATA_DATA_ACK_POLL: - return "MAC_DATA_DATA_ACK_POLL"; - case SIR_MAC_DATA_NULL: - return "MAC_DATA_NULL"; - case SIR_MAC_DATA_NULL_ACK: - return "MAC_DATA_NULL_ACK"; - case SIR_MAC_DATA_NULL_POLL: - return "MAC_DATA_NULL_POLL"; - case SIR_MAC_DATA_NULL_ACK_POLL: - return "MAC_DATA_NULL_ACK_POLL"; - case SIR_MAC_DATA_QOS_DATA: - return "MAC_DATA_QOS_DATA"; - case SIR_MAC_DATA_QOS_DATA_ACK: - return "MAC_DATA_QOS_DATA_ACK"; - case SIR_MAC_DATA_QOS_DATA_POLL: - return "MAC_DATA_QOS_DATA_POLL"; - case SIR_MAC_DATA_QOS_DATA_ACK_POLL: - return "MAC_DATA_QOS_DATA_ACK_POLL"; - case SIR_MAC_DATA_QOS_NULL: - return "MAC_DATA_QOS_NULL"; - case SIR_MAC_DATA_QOS_NULL_ACK: - return "MAC_DATA_QOS_NULL_ACK"; - case SIR_MAC_DATA_QOS_NULL_POLL: - return "MAC_DATA_QOS_NULL_POLL"; - case SIR_MAC_DATA_QOS_NULL_ACK_POLL: - return "MAC_DATA_QOS_NULL_ACK_POLL"; - default: - return "Unknown Data Frame"; - } - } - else - return "Unknown"; -#endif -return ""; -} - void limHandleUpdateOlbcCache(tpAniSirGlobal pMac) { int i; @@ -2943,12 +2478,6 @@ void limProcessQuietTimeout(tpAniSirGlobal pMac) FL("Unable to change gLimQuietBssTimer! Will still attempt to activate anyway...")); } MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, pMac->lim.limTimers.gLimQuietTimer.sessionId, eLIM_QUIET_BSS_TIMER)); -#ifdef GEN6_TODO - /* revisit this piece of code to assign the appropriate sessionId below - * priority - HIGH - */ - pMac->lim.limTimers.gLimQuietBssTimer.sessionId = sessionId; -#endif if( TX_SUCCESS != tx_timer_activate( &pMac->lim.limTimers.gLimQuietBssTimer )) { @@ -3458,10 +2987,6 @@ tANI_U8 limActiveScanAllowed( tAniBool limTriggerBackgroundScanDuringQuietBss( tpAniSirGlobal pMac ) { tAniBool bScanTriggered = eSIR_FALSE; - - - - //TBD-RAJESH HOW TO GET sessionEntry????? tpPESession psessionEntry = &pMac->lim.gpSession[0]; if (psessionEntry->limSystemRole != eLIM_STA_ROLE) @@ -6554,8 +6079,6 @@ static eHalStatus __limFillTxControlParams(tpAniSirGlobal pMac, tpTxControlParams pTxCtrlMsg, tLimQuietTxMode type, tLimControlTx mode) { - - //TBD-RAJESH HOW TO GET sessionEntry????? tpPESession psessionEntry = &pMac->lim.gpSession[0]; if (mode == eLIM_STOP_TX) diff --git a/CORE/MAC/src/pe/lim/limUtils.h b/CORE/MAC/src/pe/lim/limUtils.h index af5f251f4aa5..5ee4e9f77116 100644 --- a/CORE/MAC/src/pe/lim/limUtils.h +++ b/CORE/MAC/src/pe/lim/limUtils.h @@ -106,14 +106,8 @@ typedef union uPmfSaQueryTimerId void limGetBssidFromPkt(tpAniSirGlobal, tANI_U8 *, tANI_U8 *, tANI_U32 *); char * limDot11ReasonStr(tANI_U16 reasonCode); char * limMlmStateStr(tLimMlmStates state); -char * limSmeStateStr(tLimSmeStates state); -char * limMsgStr(tANI_U32 msgType); char * limResultCodeStr(tSirResultCodes resultCode); -char* limDot11ModeStr(tpAniSirGlobal pMac, tANI_U8 dot11Mode); void limPrintMlmState(tpAniSirGlobal pMac, tANI_U16 logLevel, tLimMlmStates state); -void limPrintSmeState(tpAniSirGlobal pMac, tANI_U16 logLevel, tLimSmeStates state); -void limPrintMsgName(tpAniSirGlobal pMac, tANI_U16 logLevel, tANI_U32 msgType); -void limPrintMsgInfo(tpAniSirGlobal pMac, tANI_U16 logLevel, tSirMsgQ *msg); char* limBssTypeStr(tSirBssType bssType); #if defined FEATURE_WLAN_ESE || defined WLAN_FEATURE_VOWIFI diff --git a/CORE/MAC/src/pe/sch/schMessage.c b/CORE/MAC/src/pe/sch/schMessage.c index d6b22e57f561..2a3a9287e962 100644 --- a/CORE/MAC/src/pe/sch/schMessage.c +++ b/CORE/MAC/src/pe/sch/schMessage.c @@ -113,39 +113,12 @@ void schSetBeaconInterval(tpAniSirGlobal pMac,tpPESession psessionEntry) void schProcessMessage(tpAniSirGlobal pMac,tpSirMsgQ pSchMsg) { -#ifdef FIXME_GEN6 - tANI_U32 *pBD; - tpSirMacMgmtHdr mh; - void *pPacket; -#endif tANI_U32 val; - - tpPESession psessionEntry = &pMac->lim.gpSession[0]; //TBD-RAJESH HOW TO GET sessionEntry????? + tpPESession psessionEntry = &pMac->lim.gpSession[0]; PELOG3(schLog(pMac, LOG3, FL("Received message (%x) "), pSchMsg->type);) switch (pSchMsg->type) { -#ifdef FIXME_GEN6 - case SIR_BB_XPORT_MGMT_MSG: - pMac->sch.gSchBBXportRcvCnt++; - - - pBD = (tANI_U32 *) pSchMsg->bodyptr; - - - mh = SIR_MAC_BD_TO_MPDUHEADER( pBD ); - - if (mh->fc.type == SIR_MAC_MGMT_FRAME && - mh->fc.subType == SIR_MAC_MGMT_BEACON) - schBeaconProcess(pMac, pBD); - else - { - schLog(pMac, LOGE, FL("Unexpected message (%d,%d) rcvd"), - mh->fc.type, mh->fc.subType); - pMac->sch.gSchUnknownRcvCnt++; - } - break; -#endif case SIR_SCH_CHANNEL_SWITCH_REQUEST: schLog(pMac, LOGE, diff --git a/CORE/WDI/CP/inc/qwlanfw_defs.h b/CORE/SERVICES/COMMON/wlan_types.h index 1b1c7496145a..c1bc7166b4aa 100644 --- a/CORE/WDI/CP/inc/qwlanfw_defs.h +++ b/CORE/SERVICES/COMMON/wlan_types.h @@ -27,47 +27,46 @@ /*=========================================================================== * - * @file: wlan_defs.h + * @file: wlan_types.h * - * @brief: This file defines the common typedefs + * @brief: This file defines the common types for wlan * - * @author: Gagan Jain + * @author: Xiaochang Duan * * *=========================================================================*/ -#ifndef __WLAN_DEFS_H__ -#define __WLAN_DEFS_H__ +#ifndef __WLAN_TYPES_H__ +#define __WLAN_TYPES_H__ /*------------------------------------------------------------------------- Include Files -------------------------------------------------------------------------*/ -#include "wlan_qct_pal_type.h" - /*---------------------------------------------------------------------------- * Preprocessor Definitions and Constants * -------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------- * Type Declarations * -------------------------------------------------------------------------*/ -typedef wpt_uint32 uint32; /* Unsigned 32 bit value */ -typedef wpt_uint16 uint16; /* Unsigned 16 bit value */ +typedef uint32_t uint32; /* Unsigned 32 bit value */ + +typedef uint16_t uint16; /* Unsigned 16 bit value */ -typedef wpt_uint8 uint8; /* Unsigned 8 bit value */ +typedef uint8_t uint8; /* Unsigned 8 bit value */ -typedef wpt_int32 int32; /* Signed 32 bit value */ +typedef int32_t int32; /* Signed 32 bit value */ -typedef wpt_int16 int16; /* Signed 16 bit value */ +typedef int16_t int16; /* Signed 16 bit value */ -typedef wpt_int8 int8; /* Signed 8 bit value */ +typedef int8_t int8; /* Signed 8 bit value */ -typedef wpt_int64 int64; /* Signed 64 bit value */ +typedef int64_t int64; /* Signed 64 bit value */ -typedef wpt_uint64 uint64; /* Unsigned 64 bit value */ +typedef uint64_t uint64; /* Unsigned 64 bit value */ -typedef wpt_byte byte; /* byte type */ +typedef uint8_t byte; /* byte type */ -typedef wpt_boolean boolean; /* Boolean Type */ +typedef uint8_t boolean; /* Boolean Type */ -#endif //__WLAN_DEFS_H__ +#endif //__WLAN_TYPES_H__ diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index cf78d9c2fb86..f3be086facea 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -8639,6 +8639,7 @@ VOS_STATUS wma_process_roam_scan_req(tp_wma_handle wma_handle, scan_offload_rsp = vos_mem_malloc(sizeof(*scan_offload_rsp)); if (!scan_offload_rsp) { WMA_LOGE("%s: Alloc failed for scan_offload_rsp", __func__); + vos_mem_free(roam_req); return VOS_STATUS_E_NOMEM; } vosMsg.type = eWNI_SME_ROAM_SCAN_OFFLOAD_RSP; @@ -8652,6 +8653,7 @@ VOS_STATUS wma_process_roam_scan_req(tp_wma_handle wma_handle, if (VOS_STATUS_SUCCESS != vos_mq_post_message(VOS_MQ_ID_SME, (vos_msg_t*)&vosMsg)) { + vos_mem_free(scan_offload_rsp); VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_INFO, "%s: Failed to post Scan Offload Rsp to UMAC", __func__); diff --git a/CORE/SME/inc/btcApi.h b/CORE/SME/inc/btcApi.h index 65f26b702156..fd8f5ae8cf52 100644 --- a/CORE/SME/inc/btcApi.h +++ b/CORE/SME/inc/btcApi.h @@ -82,16 +82,6 @@ #define BTC_SMART_BT_A2DP (5) /** BTC Mapping Layer decides whats best, balanced + BT A2DP weight */ #define BT_EXEC_MODE_MAX (6) /** This and beyond are invalid values */ -/** Enumeration of different kinds actions that BTC Mapping Layer - can do if PM indication (to AP) fails. -*/ -#define BTC_RESTART_CURRENT (0) /** Restart the interval we just failed to leave */ -#define BTC_START_NEXT (1) /** Start the next interval even though the PM transition at the AP was unsuccessful */ -#define BTC_ACTION_TYPE_MAX (2) /** This and beyond are invalid values */ - -#define BTC_BT_INTERVAL_MODE1_DEFAULT (120) /** BT Interval in Mode 1 */ -#define BTC_WLAN_INTERVAL_MODE1_DEFAULT (30) /** WLAN Interval in Mode 1 */ - /** Bitmaps used for maintaining various BT events that requires enough time to complete such that it might require disbling of heartbeat monitoring to avoid WLAN link loss with the AP @@ -116,26 +106,9 @@ #define BT_MAX_NUM_EVENT_ACL_DEFERRED 4 //We may need to defer these many BT events for ACL #define BT_MAX_NUM_EVENT_SCO_DEFERRED 4 //We may need to defer these many BT events for SYNC -/** Default values for the BTC tunables parameters -*/ -#define BTC_STATIC_BT_LEN_INQ_DEF (120000) // 120 msec -#define BTC_STATIC_BT_LEN_PAGE_DEF (10000) // 10 msec (don't care) -#define BTC_STATIC_BT_LEN_CONN_DEF (10000) // 10 msec (don't care) -#define BTC_STATIC_BT_LEN_LE_DEF (10000) // 10 msec (don't care) -#define BTC_STATIC_WLAN_LEN_INQ_DEF (30000) // 30 msec -#define BTC_STATIC_WLAN_LEN_PAGE_DEF (0) // 0 msec (BT takes all) -#define BTC_STATIC_WLAN_LEN_CONN_DEF (0) // 0 msec (BT takes all) -#define BTC_STATIC_WLAN_LEN_LE_DEF (0) // 0 msec (BT takes all) -#define BTC_DYNAMIC_BT_LEN_MAX_DEF (250000) // 250 msec -#define BTC_DYNAMIC_WLAN_LEN_MAX_DEF (45000) // 45 msec -#define BTC_SCO_BLOCK_PERC_DEF (1) // 1 percent -#define BTC_DHCP_ON_A2DP_DEF (1) // ON -#define BTC_DHCP_ON_SCO_DEF (0) // OFF - /* - * Number of victim tables and mws coex configurations + * Number of mws coex configurations */ -#define MWS_COEX_MAX_VICTIM_TABLE 10 #define MWS_COEX_MAX_CONFIG 6 /** Enumeration of all the different kinds of BT events @@ -264,33 +237,7 @@ typedef struct sSmeBtAmpEvent typedef struct sSmeBtcConfig { v_U8_t btcExecutionMode; - v_U8_t btcConsBtSlotsToBlockDuringDhcp; - v_U8_t btcA2DPBtSubIntervalsDuringDhcp; - v_U8_t btcActionOnPmFail; - v_U8_t btcBtIntervalMode1; - v_U8_t btcWlanIntervalMode1; - - v_U32_t btcStaticLenInqBt; - v_U32_t btcStaticLenPageBt; - v_U32_t btcStaticLenConnBt; - v_U32_t btcStaticLenLeBt; - v_U32_t btcStaticLenInqWlan; - v_U32_t btcStaticLenPageWlan; - v_U32_t btcStaticLenConnWlan; - v_U32_t btcStaticLenLeWlan; - v_U32_t btcDynMaxLenBt; - v_U32_t btcDynMaxLenWlan; - v_U32_t btcMaxScoBlockPerc; - v_U32_t btcDhcpProtOnA2dp; - v_U32_t btcDhcpProtOnSco; - - v_U32_t mwsCoexVictimWANFreq[MWS_COEX_MAX_VICTIM_TABLE]; - v_U32_t mwsCoexVictimWLANFreq[MWS_COEX_MAX_VICTIM_TABLE]; - v_U32_t mwsCoexVictimConfig[MWS_COEX_MAX_VICTIM_TABLE]; - v_U32_t mwsCoexVictimConfig2[MWS_COEX_MAX_VICTIM_TABLE]; - v_U32_t mwsCoexModemBackoff; v_U32_t mwsCoexConfig[MWS_COEX_MAX_CONFIG]; - v_U32_t SARPowerBackoff; } tSmeBtcConfig, *tpSmeBtcConfig; diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h index 062d2611b644..98da6500b1c3 100644 --- a/CORE/SME/inc/csrInternal.h +++ b/CORE/SME/inc/csrInternal.h @@ -956,12 +956,6 @@ typedef struct tagCsrRoamSession tANI_BOOLEAN fWMMConnection; tANI_BOOLEAN fQOSConnection; -#ifdef FEATURE_WLAN_BTAMP_UT_RF - //To retry a join later when it fails if so desired - vos_timer_t hTimerJoinRetry; - tCsrTimerInfo joinRetryTimerInfo; - tANI_U32 maxRetryCount; -#endif #ifdef FEATURE_WLAN_ESE tCsrEseCckmInfo eseCckmInfo; tANI_BOOLEAN isPrevApInfoValid; diff --git a/CORE/SME/src/btc/btcApi.c b/CORE/SME/src/btc/btcApi.c index 35e21cf13fb2..f97d7887f783 100644 --- a/CORE/SME/src/btc/btcApi.c +++ b/CORE/SME/src/btc/btcApi.c @@ -74,47 +74,17 @@ VOS_STATUS btcOpen (tHalHandle hHal) /* Initialize BTC configuration. */ pMac->btc.btcConfig.btcExecutionMode = BTC_SMART_COEXISTENCE; - pMac->btc.btcConfig.btcConsBtSlotsToBlockDuringDhcp = 0; - pMac->btc.btcConfig.btcA2DPBtSubIntervalsDuringDhcp = BTC_MAX_NUM_ACL_BT_SUB_INTS; - pMac->btc.btcConfig.btcBtIntervalMode1 = BTC_BT_INTERVAL_MODE1_DEFAULT; - pMac->btc.btcConfig.btcWlanIntervalMode1 = BTC_WLAN_INTERVAL_MODE1_DEFAULT; - pMac->btc.btcConfig.btcActionOnPmFail = BTC_START_NEXT; - - pMac->btc.btcConfig.btcStaticLenInqBt = BTC_STATIC_BT_LEN_INQ_DEF; - pMac->btc.btcConfig.btcStaticLenPageBt = BTC_STATIC_BT_LEN_PAGE_DEF; - pMac->btc.btcConfig.btcStaticLenConnBt = BTC_STATIC_BT_LEN_CONN_DEF; - pMac->btc.btcConfig.btcStaticLenLeBt = BTC_STATIC_BT_LEN_LE_DEF; - pMac->btc.btcConfig.btcStaticLenInqWlan = BTC_STATIC_WLAN_LEN_INQ_DEF; - pMac->btc.btcConfig.btcStaticLenPageWlan = BTC_STATIC_WLAN_LEN_PAGE_DEF; - pMac->btc.btcConfig.btcStaticLenConnWlan = BTC_STATIC_WLAN_LEN_CONN_DEF; - pMac->btc.btcConfig.btcStaticLenLeWlan = BTC_STATIC_WLAN_LEN_LE_DEF; - pMac->btc.btcConfig.btcDynMaxLenBt = BTC_DYNAMIC_BT_LEN_MAX_DEF; - pMac->btc.btcConfig.btcDynMaxLenWlan = BTC_DYNAMIC_WLAN_LEN_MAX_DEF; - pMac->btc.btcConfig.btcMaxScoBlockPerc = BTC_SCO_BLOCK_PERC_DEF; - pMac->btc.btcConfig.btcDhcpProtOnA2dp = BTC_DHCP_ON_A2DP_DEF; - pMac->btc.btcConfig.btcDhcpProtOnSco = BTC_DHCP_ON_SCO_DEF; pMac->btc.btcReady = VOS_FALSE; pMac->btc.btcEventState = 0; pMac->btc.btcHBActive = VOS_TRUE; pMac->btc.btcScanCompromise = VOS_FALSE; - for (i = 0; i < MWS_COEX_MAX_VICTIM_TABLE; i++) - { - pMac->btc.btcConfig.mwsCoexVictimWANFreq[i] = 0; - pMac->btc.btcConfig.mwsCoexVictimWLANFreq[i] = 0; - pMac->btc.btcConfig.mwsCoexVictimConfig[i] = 0; - pMac->btc.btcConfig.mwsCoexVictimConfig2[i] = 0; - } - for (i = 0; i < MWS_COEX_MAX_CONFIG; i++) { pMac->btc.btcConfig.mwsCoexConfig[i] = 0; } - pMac->btc.btcConfig.mwsCoexModemBackoff = 0; - pMac->btc.btcConfig.SARPowerBackoff = 0; - vosStatus = vos_timer_init( &pMac->btc.restoreHBTimer, VOS_TIMER_TYPE_SW, btcRestoreHeartBeatMonitoringHandle, diff --git a/CORE/SME/src/ccm/ccmApi.c b/CORE/SME/src/ccm/ccmApi.c index a85226a60f61..6f5bea610af6 100644 --- a/CORE/SME/src/ccm/ccmApi.c +++ b/CORE/SME/src/ccm/ccmApi.c @@ -33,12 +33,6 @@ #include "ccmApi.h" #include "logDump.h" -//#define CCM_DEBUG -#undef CCM_DEBUG - -#define CCM_DEBUG2 -//#undef CCM_DEBUG2 - #define CFGOBJ_ALIGNTO 4 #define CFGOBJ_ALIGN(len) ( ((len)+CFGOBJ_ALIGNTO-1) & ~(CFGOBJ_ALIGNTO-1) ) @@ -238,9 +232,6 @@ static void sendQueuedReqToMacSw(tpAniSirGlobal pMac, tHddHandle hHdd) req->callback((tHalHandle)pMac, WNI_CFG_OTHER_ERROR) ; } -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("ccmComplete(%p)"), req->done); -#endif ccmComplete(hHdd, req->done); freeCfgReq(hHdd, req); @@ -346,18 +337,12 @@ static eHalStatus cfgSet(tHalHandle hHal, tANI_U32 cfgId, tANI_U32 type, tANI_S3 if (pal_in_interrupt()) { -#ifdef CCM_DEBUG2 - smsLog(pMac, LOG1, FL("WNI_CFG_%s (%d 0x%x), in_interrupt()=TRUE"), gCfgParamName[cfgId], (int)cfgId, (int)cfgId); -#endif status = cfgSetSub(pMac, hHdd, cfgId, type, length, ccmPtr, ccmValue, callback, toBeSaved, NULL, &req); } else { void *sem ; -#ifdef CCM_DEBUG2 - smsLog(pMac, LOG1, FL("WNI_CFG_%s (%d 0x%x), in_interrupt()=FALSE"), gCfgParamName[cfgId], (int)cfgId, (int)cfgId); -#endif pal_local_bh_disable() ; status = palMutexAllocLocked( hHdd, &sem ) ; @@ -381,14 +366,8 @@ static eHalStatus cfgSet(tHalHandle hHal, tANI_U32 cfgId, tANI_U32 type, tANI_S3 if ((status == eHAL_STATUS_SUCCESS) && (sem != NULL)) { -#ifdef CCM_DEBUG - smsLog(pMac, LOG1, FL("ccmWaitForCompletion(%p)"), req->done); -#endif ccmWaitForCompletion(hHdd, sem); -#ifdef CCM_DEBUG - smsLog(pMac, LOG1, FL("free(%p)"), req->done); -#endif palSemaphoreFree( hHdd, sem ) ; } } @@ -464,9 +443,6 @@ void ccmCfgCnfMsgHandler(tHalHandle hHal, void *m) pMac->ccm.replay.started = 0 ; /* Wake up the sleeping process */ -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("ccmComplete(%p)"), pMac->ccm.replay.done); -#endif ccmComplete(hHdd, pMac->ccm.replay.done); //Let go with the rest of the set CFGs waiting. sendQueuedReqToMacSw(pMac, hHdd); @@ -492,26 +468,16 @@ void ccmCfgCnfMsgHandler(tHalHandle hHal, void *m) if (result == WNI_CFG_NEED_RESTART || result == WNI_CFG_NEED_RELOAD) { -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("need restart/reload, cfgId=%d"), req->cfgId) ; -#endif //purgeReqQ(hHal); } /* invoke callback */ if (req->callback) { -#ifdef CCM_DEBUG - req->callback(hHal, cfgId) ; -#else req->callback(hHal, result) ; -#endif } /* Wake up the sleeping process */ -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("cfgId=%ld, calling ccmComplete(%p)"), cfgId, req->done); -#endif ccmComplete(hHdd, req->done); /* move the completed req from reqQ to comp[] */ @@ -537,9 +503,6 @@ void ccmCfgCnfMsgHandler(tHalHandle hHal, void *m) smsLog( pMac, LOGW, FL("can not match RSP with REQ, rspcfgid=%d result=%d reqcfgid=%d reqstate=%d"), (int)cfgId, (int)result, req->cfgId, req->state); -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("ccmComplete(%p)"), req->done); -#endif } } @@ -724,9 +687,6 @@ static eHalStatus cfgUpdate(tpAniSirGlobal pMac, tHddHandle hHdd, tCcmCfgSetCall { msgLen += (tANI_S16)(CFGOBJ_ID_SIZE + CFGOBJ_LEN_SIZE + CFGOBJ_ALIGN(req->length)) ; pMac->ccm.replay.nr_param += 1 ; -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("cfgId=%d"), req->cfgId); -#endif } } @@ -820,14 +780,8 @@ eHalStatus ccmCfgUpdate(tHalHandle hHal, tCcmCfgSetCallback callback) /* Waiting here ... */ if (status == eHAL_STATUS_SUCCESS && pMac->ccm.replay.done) { -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("ccmWaitForCompletion(%p)"), pMac->ccm.replay.done); -#endif ccmWaitForCompletion(hHdd, pMac->ccm.replay.done); -#ifdef CCM_DEBUG - smsLog(pMac, LOGW, FL("free(%p)"), pMac->ccm.replay.done); -#endif palSemaphoreFree( hHdd, pMac->ccm.replay.done) ; } diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 4fbcf43d40cd..eaea4cdb0120 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -257,9 +257,6 @@ static eHalStatus csrRoamIssueSetKeyCommand( tpAniSirGlobal pMac, tANI_U32 sessi tCsrRoamSetKey *pSetKey, tANI_U32 roamId ); static eHalStatus csrRoamGetQosInfoFromBss(tpAniSirGlobal pMac, tSirBssDescription *pBssDesc); void csrRoamReissueRoamCommand(tpAniSirGlobal pMac); -#ifdef FEATURE_WLAN_BTAMP_UT_RF -void csrRoamJoinRetryTimerHandler(void *pv); -#endif extern void SysProcessMmhMsg(tpAniSirGlobal pMac, tSirMsgQ* pMsg); static void csrSerDesUnpackDiassocRsp(tANI_U8 *pBuf, tSirSmeDisassocRsp *pRsp); void csrReinitPreauthCmd(tpAniSirGlobal pMac, tSmeCmd *pCommand); @@ -5605,11 +5602,6 @@ static tANI_BOOLEAN csrRoamProcessResults( tpAniSirGlobal pMac, tSmeCmd *pComman pSession->pWapiRspIE = NULL; } #endif /* FEATURE_WLAN_WAPI */ -#ifdef FEATURE_WLAN_BTAMP_UT_RF - //Reset counter so no join retry is needed. - pSession->maxRetryCount = 0; - csrRoamStopJoinRetryTimer(pMac, sessionId); -#endif /* This creates problem since we have not saved the connected profile. So moving this after saving the profile */ @@ -6335,17 +6327,6 @@ static tANI_BOOLEAN csrRoamProcessResults( tpAniSirGlobal pMac, tSmeCmd *pComman #endif csrRoamCompletion(pMac, sessionId, NULL, pCommand, eCSR_ROAM_RESULT_FAILURE, eANI_BOOLEAN_FALSE); csrScanStartIdleScan(pMac); -#ifdef FEATURE_WLAN_BTAMP_UT_RF - /* - * For WDS STA. To fix the issue where the WDS AP side may - * be too busy by BT activity and not able to receive - * WLAN traffic. Retry the join - */ - if( CSR_IS_WDS_STA(pProfile) ) - { - csrRoamStartJoinRetryTimer(pMac, sessionId, CSR_JOIN_RETRY_TIMEOUT_PERIOD); - } -#endif break; case eCsrHddIssuedReassocToSameAP: case eCsrSmeIssuedReassocToSameAP: @@ -7015,9 +6996,6 @@ eHalStatus csrRoamConnect(tpAniSirGlobal pMac, tANI_U32 sessionId, tCsrRoamProfi csrRoamIssueDisassociateCmd(pMac, sessionId, eCSR_DISCONNECT_REASON_UNSPECIFIED); } } -#ifdef FEATURE_WLAN_BTAMP_UT_RF - pSession->maxRetryCount = CSR_JOIN_MAX_RETRY_COUNT; -#endif if(CSR_INVALID_SCANRESULT_HANDLE != hBssListIn) { smsLog(pMac, LOG1, FL("is called with BSSList")); @@ -7548,11 +7526,6 @@ eHalStatus csrRoamDisconnectInternal(tpAniSirGlobal pMac, tANI_U32 sessionId, eC return eHAL_STATUS_FAILURE; } -#ifdef FEATURE_WLAN_BTAMP_UT_RF - /* Stop the retry */ - pSession->maxRetryCount = 0; - csrRoamStopJoinRetryTimer(pMac, sessionId); -#endif //Not to call cancel roaming here //Only issue disconnect when necessary if(csrIsConnStateConnected(pMac, sessionId) || csrIsBssTypeIBSS(pSession->connectedProfile.BSSType) @@ -14946,18 +14919,6 @@ eHalStatus csrRoamOpenSession(tpAniSirGlobal pMac, break; } -#ifdef FEATURE_WLAN_BTAMP_UT_RF - status = vos_timer_init(&pSession->hTimerJoinRetry, - VOS_TIMER_TYPE_SW, - csrRoamJoinRetryTimerHandler, - &pSession->joinRetryTimerInfo); - if (!HAL_STATUS_SUCCESS(status)) - { - smsLog(pMac, LOGE, - FL("cannot allocate memory for join retry timer")); - break; - } -#endif uHTCapabilityInfo.nCfgValue16 = 0xFFFF & value; pSession->htConfig.ht_rx_ldpc = uHTCapabilityInfo.htCapInfo.advCodingCap; @@ -15163,9 +15124,6 @@ void csrCleanupSession(tpAniSirGlobal pMac, tANI_U32 sessionId) csrRoamFreeConnectProfile( pMac, &pSession->connectedProfile ); csrRoamFreeConnectedInfo ( pMac, &pSession->connectedInfo); vos_timer_destroy(&pSession->hTimerRoaming); -#ifdef FEATURE_WLAN_BTAMP_UT_RF - vos_timer_destroy(&pSession->hTimerJoinRetry); -#endif purgeSmeSessionCmdList(pMac, sessionId, &pMac->sme.smeCmdPendingList); if (pMac->fScanOffload) { @@ -18008,71 +17966,6 @@ void csrRoamFTPreAuthRspProcessor( tHalHandle hHal, tpSirFTPreAuthRsp pFTPreAuth } #endif -#ifdef FEATURE_WLAN_BTAMP_UT_RF -void csrRoamJoinRetryTimerHandler(void *pv) -{ - tCsrTimerInfo *pInfo = (tCsrTimerInfo *)pv; - tpAniSirGlobal pMac = pInfo->pMac; - tANI_U32 sessionId = pInfo->sessionId; - tCsrRoamSession *pSession; - - if (CSR_IS_SESSION_VALID(pMac, sessionId) ) { - smsLog( pMac, LOGE, - FL("retrying the last roam profile on session %d" ), sessionId ); - pSession = CSR_GET_SESSION( pMac, sessionId ); - if (pSession->pCurRoamProfile && - csrIsConnStateDisconnected(pMac, sessionId)) - { - if (!HAL_STATUS_SUCCESS(csrRoamJoinLastProfile(pMac, sessionId)) ) - { - smsLog( pMac, LOGE, - FL("fail to retry the last roam profile" ) ); - } - } - } -} -eHalStatus csrRoamStartJoinRetryTimer(tpAniSirGlobal pMac, tANI_U32 sessionId, - tANI_U32 interval) -{ - eHalStatus status = eHAL_STATUS_FAILURE; - tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, sessionId ); - - if(pSession->pCurRoamProfile && pSession->maxRetryCount) - { - smsLog(pMac, LOGE, FL(" call sessionId %d retry count %d left"), - sessionId, pSession->maxRetryCount); - pSession->maxRetryCount--; - pSession->joinRetryTimerInfo.pMac = pMac; - pSession->joinRetryTimerInfo.sessionId = (tANI_U8)sessionId; - status = - vos_timer_start(&pSession->hTimerJoinRetry, - interval/VOS_TIMER_TO_MS_UNIT); - if (!HAL_STATUS_SUCCESS(status)) - { - smsLog(pMac, LOGE, FL(" fail to start timer status %s"), status); - } - } - else - { - smsLog(pMac, LOGE, - FL("not to start timer due to no profile or reach mac ret (%d)"), - pSession->maxRetryCount); - } - - return (status); -} -eHalStatus csrRoamStopJoinRetryTimer(tpAniSirGlobal pMac, tANI_U32 sessionId) -{ - smsLog(pMac, LOGE, " csrRoamStopJoinRetryTimer"); - if( CSR_IS_SESSION_VALID(pMac, sessionId) ) - { - return (vos_timer_stop( - &pMac->roam.roamSession[sessionId].hTimerJoinRetry)); - } - - return eHAL_STATUS_SUCCESS; -} -#endif /* diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c index 435e602845b8..094031e9ba7f 100644 --- a/CORE/SME/src/csr/csrApiScan.c +++ b/CORE/SME/src/csr/csrApiScan.c @@ -1647,9 +1647,6 @@ eHalStatus csrScanHandleSearchForSSID(tpAniSirGlobal pMac, tSmeCmd *pCommand) tCsrScanResultFilter *pScanFilter = NULL; tCsrRoamProfile *pProfile = pCommand->u.scanCmd.pToRoamProfile; tANI_U32 sessionId = pCommand->sessionId; -#ifdef FEATURE_WLAN_BTAMP_UT_RF - tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, sessionId ); -#endif do { #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD @@ -1708,21 +1705,6 @@ eHalStatus csrScanHandleSearchForSSID(tpAniSirGlobal pMac, tSmeCmd *pCommand) { status = csrScanStartIdleScan(pMac); } -#ifdef FEATURE_WLAN_BTAMP_UT_RF - //In case of WDS station, let it retry. - if( CSR_IS_WDS_STA(pProfile) ) - { - /* Save the roam profile so we can retry */ - csrFreeRoamProfile( pMac, sessionId ); - pSession->pCurRoamProfile = vos_mem_malloc(sizeof(tCsrRoamProfile)); - if ( NULL != pSession->pCurRoamProfile ) - { - vos_mem_set(pSession->pCurRoamProfilee, sizeof(tCsrRoamProfile), 0); - csrRoamCopyProfile(pMac, pSession->pCurRoamProfile, pProfile); - } - csrRoamStartJoinRetryTimer(pMac, sessionId, CSR_JOIN_RETRY_TIMEOUT_PERIOD); - } -#endif } if (pScanFilter) { @@ -1819,21 +1801,6 @@ eHalStatus csrScanHandleSearchForSSIDFailure(tpAniSirGlobal pMac, tSmeCmd *pComm eCSR_ROAM_ASSOCIATION_FAILURE, eCSR_ROAM_RESULT_FAILURE); } -#ifdef FEATURE_WLAN_BTAMP_UT_RF - //In case of WDS station, let it retry. - if( CSR_IS_WDS_STA(pProfile) ) - { - /* Save the roam profile so we can retry */ - csrFreeRoamProfile( pMac, sessionId ); - pSession->pCurRoamProfile = vos_mem_malloc(sizeof(tCsrRoamProfile)); - if ( NULL != pSession->pCurRoamProfile ) - { - vos_mem_set(pSession->pCurRoamProfile, sizeof(tCsrRoamProfile), 0); - csrRoamCopyProfile(pMac, pSession->pCurRoamProfile, pProfile); - } - csrRoamStartJoinRetryTimer(pMac, sessionId, CSR_JOIN_RETRY_TIMEOUT_PERIOD); - } -#endif } else { diff --git a/CORE/SME/src/csr/csrInsideApi.h b/CORE/SME/src/csr/csrInsideApi.h index 16fe53479999..92608b2474dc 100644 --- a/CORE/SME/src/csr/csrInsideApi.h +++ b/CORE/SME/src/csr/csrInsideApi.h @@ -106,10 +106,6 @@ #define CSR_ROAM_MIN(X, Y) ((X) < (Y) ? (X) : (Y)) #define CSR_ROAM_MAX(X, Y) ((X) > (Y) ? (X) : (Y)) -#ifdef FEATURE_WLAN_BTAMP_UT_RF -#define CSR_JOIN_MAX_RETRY_COUNT 10 -#define CSR_JOIN_RETRY_TIMEOUT_PERIOD ( 1 * VOS_TIMER_TO_SEC_UNIT ) // 1 second -#endif #define CSR_ROAMING_DFS_CHANNEL_DISABLED (0) #define CSR_ROAMING_DFS_CHANNEL_ENABLED_NORMAL (1) @@ -1009,10 +1005,6 @@ eHalStatus csrSendMBGetWPSPBCSessions( tpAniSirGlobal pMac, tANI_U32 sessionId, eHalStatus csrSendChngMCCBeaconInterval(tpAniSirGlobal pMac, tANI_U32 sessionId); -#ifdef FEATURE_WLAN_BTAMP_UT_RF -eHalStatus csrRoamStartJoinRetryTimer(tpAniSirGlobal pMac, tANI_U32 sessionId, tANI_U32 interval); -eHalStatus csrRoamStopJoinRetryTimer(tpAniSirGlobal pMac, tANI_U32 sessionId); -#endif #ifdef WLAN_FEATURE_VOWIFI_11R /* --------------------------------------------------------------------------- \fn csrRoamFTPreAuthRspProcessor diff --git a/CORE/SME/src/csr/csrNeighborRoam.c b/CORE/SME/src/csr/csrNeighborRoam.c index 411e07fcc70a..d5662e3ad7ae 100644 --- a/CORE/SME/src/csr/csrNeighborRoam.c +++ b/CORE/SME/src/csr/csrNeighborRoam.c @@ -4733,9 +4733,6 @@ csrNeighborRoamNeighborLookupDOWNCallback (v_PVOID_t pAdapter, return vosStatus; } -#ifdef RSSI_HACK -extern int dumpCmdRSSI; -#endif /* --------------------------------------------------------------------------- @@ -4803,9 +4800,6 @@ eHalStatus csrNeighborRoamIndicateDisconnect(tpAniSirGlobal pMac, #endif } //if (NULL != pSession) -#ifdef RSSI_HACK - dumpCmdRSSI = -40; -#endif switch (pNeighborRoamInfo->neighborRoamState) { case eCSR_NEIGHBOR_ROAM_STATE_REASSOCIATING: @@ -5928,12 +5922,17 @@ eHalStatus csrNeighborRoamProcessHandoffReq(tpAniSirGlobal pMac, //Add the BSSID & Channel pProfile->BSSIDs.numOfBSSIDs = 1; - pProfile->BSSIDs.bssid = vos_mem_malloc(sizeof(tSirMacAddr) * pProfile->BSSIDs.numOfBSSIDs); + if (NULL == pProfile->BSSIDs.bssid) { - smsLog(pMac, LOGE, FL("mem alloc failed for BSSID")); - status = eHAL_STATUS_FAILURE; - break; + pProfile->BSSIDs.bssid = + vos_mem_malloc(sizeof(tSirMacAddr) * pProfile->BSSIDs.numOfBSSIDs); + if (NULL == pProfile->BSSIDs.bssid) + { + smsLog(pMac, LOGE, FL("mem alloc failed for BSSID")); + status = eHAL_STATUS_FAILURE; + break; + } } vos_mem_zero(pProfile->BSSIDs.bssid, sizeof(tSirMacAddr) * pProfile->BSSIDs.numOfBSSIDs); @@ -5946,14 +5945,17 @@ eHalStatus csrNeighborRoamProcessHandoffReq(tpAniSirGlobal pMac, } pProfile->ChannelInfo.numOfChannels = 1; - pProfile->ChannelInfo.ChannelList = - vos_mem_malloc(sizeof(*pProfile->ChannelInfo.ChannelList) * - pProfile->ChannelInfo.numOfChannels); if (NULL == pProfile->ChannelInfo.ChannelList) { - smsLog(pMac, LOGE, FL("mem alloc failed for ChannelList")); - status = eHAL_STATUS_FAILURE; - break; + pProfile->ChannelInfo.ChannelList = + vos_mem_malloc(sizeof(*pProfile->ChannelInfo.ChannelList) * + pProfile->ChannelInfo.numOfChannels); + if (NULL == pProfile->ChannelInfo.ChannelList) + { + smsLog(pMac, LOGE, FL("mem alloc failed for ChannelList")); + status = eHAL_STATUS_FAILURE; + break; + } } pProfile->ChannelInfo.ChannelList[0] = pNeighborRoamInfo->handoffReqInfo.channel; diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c index 40bd6d140a95..b8fbf4325c34 100644 --- a/CORE/SME/src/sme_common/sme_Api.c +++ b/CORE/SME/src/sme_common/sme_Api.c @@ -76,7 +76,6 @@ extern tSirRetStatus uMacPostCtrlMsg(void* pSirGlobal, tSirMbMsg* pMb); -#include <wlan_qct_pal_api.h> #define LOG_SIZE 256 #define READ_MEMORY_DUMP_CMD 9 #define TL_INIT_STATE 0 diff --git a/CORE/SYS/legacy/src/utils/src/macTrace.c b/CORE/SYS/legacy/src/utils/src/macTrace.c index 4e1728a4254a..91e7a4df9afc 100644 --- a/CORE/SYS/legacy/src/utils/src/macTrace.c +++ b/CORE/SYS/legacy/src/utils/src/macTrace.c @@ -874,10 +874,6 @@ tANI_U8* macTraceGetLimMsgString( tANI_U16 limMsg ) CASE_RETURN_STRING(SIR_LIM_REMAIN_CHN_TIMEOUT); CASE_RETURN_STRING(SIR_LIM_INSERT_SINGLESHOT_NOA_TIMEOUT); CASE_RETURN_STRING(SIR_LIM_CONVERT_ACTIVE_CHANNEL_TO_PASSIVE); -#ifdef WMM_APSD - CASE_RETURN_STRING(SIR_LIM_WMM_APSD_SP_START_MSG_TYPE ); - CASE_RETURN_STRING(SIR_LIM_WMM_APSD_SP_END_MSG_TYPE ); -#endif CASE_RETURN_STRING(SIR_LIM_BEACON_GEN_IND ); CASE_RETURN_STRING(SIR_LIM_PERIODIC_PROBE_REQ_TIMEOUT); #ifdef FEATURE_WLAN_ESE diff --git a/CORE/SYS/legacy/src/utils/src/parserApi.c b/CORE/SYS/legacy/src/utils/src/parserApi.c index becc404ec9fd..f3da1137b817 100644 --- a/CORE/SYS/legacy/src/utils/src/parserApi.c +++ b/CORE/SYS/legacy/src/utils/src/parserApi.c @@ -1202,58 +1202,6 @@ PopulateDot11fIBSSParams(tpAniSirGlobal pMac, } // End PopulateDot11fIBSSParams. -#ifdef ANI_SUPPORT_11H -tSirRetStatus -PopulateDot11fMeasurementReport0(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pReq, - tDot11fIEMeasurementReport *pDot11f) -{ - pDot11f->token = pReq->measReqIE.measToken; - pDot11f->late = 0; - pDot11f->incapable = 0; - pDot11f->refused = 1; - pDot11f->type = SIR_MAC_BASIC_MEASUREMENT_TYPE; - - pDot11f->present = 1; - - return eSIR_SUCCESS; - -} // End PopulatedDot11fMeasurementReport0. - -tSirRetStatus -PopulateDot11fMeasurementReport1(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pReq, - tDot11fIEMeasurementReport *pDot11f) -{ - pDot11f->token = pReq->measReqIE.measToken; - pDot11f->late = 0; - pDot11f->incapable = 0; - pDot11f->refused = 1; - pDot11f->type = SIR_MAC_CCA_MEASUREMENT_TYPE; - - pDot11f->present = 1; - - return eSIR_SUCCESS; - -} // End PopulatedDot11fMeasurementReport1. - -tSirRetStatus -PopulateDot11fMeasurementReport2(tpAniSirGlobal pMac, - tpSirMacMeasReqActionFrame pReq, - tDot11fIEMeasurementReport *pDot11f) -{ - pDot11f->token = pReq->measReqIE.measToken; - pDot11f->late = 0; - pDot11f->incapable = 0; - pDot11f->refused = 1; - pDot11f->type = SIR_MAC_RPI_MEASUREMENT_TYPE; - - pDot11f->present = 1; - - return eSIR_SUCCESS; - -} // End PopulatedDot11fMeasurementReport2. -#endif void PopulateDot11fPowerCaps(tpAniSirGlobal pMac, @@ -4156,120 +4104,6 @@ sirConvertQosMapConfigureFrame2Struct(tpAniSirGlobal pMac, return eSIR_SUCCESS; } -#ifdef ANI_SUPPORT_11H -tSirRetStatus -sirConvertTpcReqFrame2Struct(tpAniSirGlobal pMac, - tANI_U8 *pFrame, - tpSirMacTpcReqActionFrame pTpcReqFrame, - tANI_U32 nFrame) -{ - tDot11fTPCRequest req; - tANI_U32 status; - - // Zero-init our [out] parameter, - vos_mem_set( ( tANI_U8* )pTpcReqFrame, sizeof(tSirMacTpcReqActionFrame), 0 ); - - // delegate to the framesc-generated code, - status = dot11fUnpackTPCRequest( pMac, pFrame, nFrame, &req ); - if ( DOT11F_FAILED( status ) ) - { - dot11fLog(pMac, LOGE, FL("Failed to parse a TPC Request frame (0x%08x, %d bytes):\n"), - status, nFrame); - PELOG2(sirDumpBuf(pMac, SIR_DBG_MODULE_ID, LOG2, pFrame, nFrame);) - return eSIR_FAILURE; - } - else if ( DOT11F_WARNED( status ) ) - { - dot11fLog( pMac, LOGW, FL("There were warnings while unpacking a TPC Request frame (0x%08x, %d bytes):\n"), - status, nFrame ); - PELOG2(sirDumpBuf(pMac, SIR_DBG_MODULE_ID, LOG2, pFrame, nFrame);) - } - - // & "transliterate" from a 'tDot11fTPCRequest' to a - // 'tSirMacTpcReqActionFrame'... - pTpcReqFrame->actionHeader.category = req.Category.category; - pTpcReqFrame->actionHeader.actionID = req.Action.action; - pTpcReqFrame->actionHeader.dialogToken = req.DialogToken.token; - if ( req.TPCRequest.present ) - { - pTpcReqFrame->type = DOT11F_EID_TPCREQUEST; - pTpcReqFrame->length = 0; - } - else - { - dot11fLog( pMac, LOGW, FL("!!!Rcv TPC Req of inalid type!\n") ); - return eSIR_FAILURE; - } - - return eSIR_SUCCESS; - -} // End sirConvertTpcReqFrame2Struct. - - -tSirRetStatus -sirConvertMeasReqFrame2Struct(tpAniSirGlobal pMac, - tANI_U8 *pFrame, - tpSirMacMeasReqActionFrame pMeasReqFrame, - tANI_U32 nFrame) -{ - tDot11fMeasurementRequest mr; - tANI_U32 status; - - // Zero-init our [out] parameter, - vos_mem_set( ( tANI_U8* )pMeasReqFrame, sizeof(tpSirMacMeasReqActionFrame), 0 ); - - // delegate to the framesc-generated code, - status = dot11fUnpackMeasurementRequest( pMac, pFrame, nFrame, &mr ); - if ( DOT11F_FAILED( status ) ) - { - dot11fLog(pMac, LOGE, FL("Failed to parse a Measurement Request frame (0x%08x, %d bytes):\n"), - status, nFrame); - PELOG2(sirDumpBuf(pMac, SIR_DBG_MODULE_ID, LOG2, pFrame, nFrame);) - return eSIR_FAILURE; - } - else if ( DOT11F_WARNED( status ) ) - { - dot11fLog( pMac, LOGW, FL("There were warnings while unpacking a Measurement Request frame (0x%08x, %d bytes):\n"), - status, nFrame ); - PELOG2(sirDumpBuf(pMac, SIR_DBG_MODULE_ID, LOG2, pFrame, nFrame);) - } - - // & "transliterate" from a 'tDot11fMeasurementRequest' to a - // 'tpSirMacMeasReqActionFrame'... - pMeasReqFrame->actionHeader.category = mr.Category.category; - pMeasReqFrame->actionHeader.actionID = mr.Action.action; - pMeasReqFrame->actionHeader.dialogToken = mr.DialogToken.token; - - if ( 0 == mr.num_MeasurementRequest ) - { - dot11fLog( pMac, LOGE, FL("Missing mandatory IE in Measurement Request Frame.\n") ); - return eSIR_FAILURE; - } - else if ( 1 < mr.num_MeasurementRequest ) - { - limLog( pMac, LOGW, FL("Warning: dropping extra Measurement Request IEs!") ); - } - - pMeasReqFrame->measReqIE.type = DOT11F_EID_MEASUREMENTREQUEST; - pMeasReqFrame->measReqIE.length = DOT11F_IE_MEASUREMENTREQUEST_MIN_LEN; - pMeasReqFrame->measReqIE.measToken = mr.MeasurementRequest[0].measurement_token; - pMeasReqFrame->measReqIE.measReqMode = ( mr.MeasurementRequest[0].reserved << 3 ) | - ( mr.MeasurementRequest[0].enable << 2 ) | - ( mr.MeasurementRequest[0].request << 1 ) | - ( mr.MeasurementRequest[0].report /*<< 0*/ ); - pMeasReqFrame->measReqIE.measType = mr.MeasurementRequest[0].measurement_type; - - pMeasReqFrame->measReqIE.measReqField.channelNumber = mr.MeasurementRequest[0].channel_no; - - vos_mem_copy( pMeasReqFrame->measReqIE.measReqField.measStartTime, - mr.MeasurementRequest[0].meas_start_time, 8 ); - - pMeasReqFrame->measReqIE.measReqField.measDuration = mr.MeasurementRequest[0].meas_duration; - - return eSIR_SUCCESS; - -} // End sirConvertMeasReqFrame2Struct. -#endif void diff --git a/CORE/TL/inc/wlan_qct_tl.h b/CORE/TL/inc/wlan_qct_tl.h index 2baf0ef4ea22..2a41929a79db 100644 --- a/CORE/TL/inc/wlan_qct_tl.h +++ b/CORE/TL/inc/wlan_qct_tl.h @@ -261,9 +261,6 @@ typedef struct ---------------------------------------------------------------------------*/ typedef struct { - /*AC weight for WFQ*/ - v_U8_t ucAcWeights[WLANTL_MAX_AC]; - /*Delayed trigger frame timmer: - used by TL to send trigger frames less often when it has established that the App is suspended*/ v_U32_t uDelayedTriggerFrmInt; @@ -277,8 +274,6 @@ typedef struct /* Rx processing in thread from TL shim */ v_BOOL_t enable_rxthread; - /* Re-order Aging Time */ - v_U16_t ucReorderAgingTime[WLANTL_MAX_AC]; }WLANTL_ConfigInfoType; /*--------------------------------------------------------------------------- diff --git a/CORE/VOSS/inc/i_vos_packet.h b/CORE/VOSS/inc/i_vos_packet.h index 9c86f016f9db..11d4afa018b6 100644 --- a/CORE/VOSS/inc/i_vos_packet.h +++ b/CORE/VOSS/inc/i_vos_packet.h @@ -43,7 +43,6 @@ /*-------------------------------------------------------------------------- Include Files ------------------------------------------------------------------------*/ -#include <wlan_qct_wdi_ds.h> #include "adf_os_types.h" /* * Rx Packet Struct diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c index 66dc8f4b41e2..daf15abedb82 100644 --- a/CORE/VOSS/src/vos_api.c +++ b/CORE/VOSS/src/vos_api.c @@ -1996,14 +1996,6 @@ vos_fetch_tl_cfg_parms return; } - pTLConfig->ucAcWeights[0] = pConfig->WfqBkWeight; - pTLConfig->ucAcWeights[1] = pConfig->WfqBeWeight; - pTLConfig->ucAcWeights[2] = pConfig->WfqViWeight; - pTLConfig->ucAcWeights[3] = pConfig->WfqVoWeight; - pTLConfig->ucReorderAgingTime[0] = pConfig->BkReorderAgingTime;/*WLANTL_AC_BK*/ - pTLConfig->ucReorderAgingTime[1] = pConfig->BeReorderAgingTime;/*WLANTL_AC_BE*/ - pTLConfig->ucReorderAgingTime[2] = pConfig->ViReorderAgingTime;/*WLANTL_AC_VI*/ - pTLConfig->ucReorderAgingTime[3] = pConfig->VoReorderAgingTime;/*WLANTL_AC_VO*/ pTLConfig->uDelayedTriggerFrmInt = pConfig->DelayedTriggerFrmInt; pTLConfig->uMinFramesProcThres = pConfig->MinFramesProcThres; pTLConfig->ip_checksum_offload = pConfig->enableIPChecksumOffload; diff --git a/CORE/VOSS/src/vos_nvitem.c b/CORE/VOSS/src/vos_nvitem.c index 554f57e209b2..b8f9ce52a357 100644 --- a/CORE/VOSS/src/vos_nvitem.c +++ b/CORE/VOSS/src/vos_nvitem.c @@ -1527,7 +1527,7 @@ int wlan_hdd_linux_reg_notifier(struct wiphy *wiphy, hdd_context_t *pHddCtx = wiphy_priv(wiphy); eCsrBand nBandCapability = eCSR_BAND_ALL; v_COUNTRYCODE_t country_code; - int i,j; + int i; v_BOOL_t isVHT80Allowed; VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO, @@ -1672,30 +1672,6 @@ int wlan_hdd_linux_reg_notifier(struct wiphy *wiphy, break; } - /* Mark channels 36-48 as passive for US CC */ - - if ((request->initiator == NL80211_REGDOM_SET_BY_DRIVER) || - (request->initiator == NL80211_REGDOM_SET_BY_CORE) || - (request->initiator == NL80211_REGDOM_SET_BY_USER)) - { - if (pHddCtx->cfg_ini->gEnableStrictRegulatoryForFCC && - wiphy->bands[IEEE80211_BAND_5GHZ]) - { - for (j=0; j<wiphy->bands[IEEE80211_BAND_5GHZ]->n_channels; j++) - { - // UNII-1 band channels are passive when domain is FCC. - if ((wiphy->bands[IEEE80211_BAND_5GHZ ]->channels[j].center_freq == 5180 || - wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5200 || - wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5220 || - wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].center_freq == 5240) && - (request->alpha2[0]== 'U' && request->alpha2[1]=='S')) - { - wiphy->bands[IEEE80211_BAND_5GHZ]->channels[j].flags |= IEEE80211_CHAN_PASSIVE_SCAN; - } - } - } - } - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) return; #else diff --git a/CORE/VOSS/src/vos_sched.c b/CORE/VOSS/src/vos_sched.c index 868567493575..266992bd4751 100644 --- a/CORE/VOSS/src/vos_sched.c +++ b/CORE/VOSS/src/vos_sched.c @@ -55,7 +55,6 @@ #include "vos_sched.h" #include <wlan_hdd_power.h> #include "wlan_qct_wda.h" -#include "wlan_qct_pal_msg.h" #include <linux/spinlock.h> #include <linux/kthread.h> #include <linux/cpu.h> diff --git a/CORE/WDA/inc/legacy/halMsgApi.h b/CORE/WDA/inc/legacy/halMsgApi.h index ab41711232fb..963da5e9ffed 100644 --- a/CORE/WDA/inc/legacy/halMsgApi.h +++ b/CORE/WDA/inc/legacy/halMsgApi.h @@ -179,12 +179,6 @@ typedef struct tANI_U8 delBASupport; // delayed ba support... TBD -#ifdef ANI_DVT_DEBUG - //These 6 fields are used only by DVT driver to pass selected - //rates to Softmac through HAL. - tANI_U8 primaryRateIndex, secondaryRateIndex, tertiaryRateIndex; - tANI_U8 primaryRateIndex40, secondaryRateIndex40, tertiaryRateIndex40; -#endif // FIXME //Add these fields to message diff --git a/CORE/WDA/inc/wlan_qct_wda_msg.h b/CORE/WDA/inc/wlan_qct_wda_msg.h index 970066fc5418..d104ac6f776a 100644 --- a/CORE/WDA/inc/wlan_qct_wda_msg.h +++ b/CORE/WDA/inc/wlan_qct_wda_msg.h @@ -57,16 +57,13 @@ when who what, where, why =========================================================================== */ /* Add Include */ -#include "wlan_qct_pack_align.h" - #define WDA_CONFIG_PARAM_UPDATE_REQ SIR_CFG_PARAM_UPDATE_IND #define ALIGNED_WORD_SIZE 4 /* Config format required by HAL for each CFG item*/ -WPT_PACK_START -typedef WPT_PACK_PRE struct +typedef struct { /* Cfg Id. The Id required by HAL is exported by HAL * in shared header file between UMAC and HAL.*/ @@ -84,13 +81,6 @@ typedef WPT_PACK_PRE struct /* Following the uCfgLen field there should be a 'uCfgLen' bytes * containing the uCfgValue ; tANI_U8 uCfgValue[uCfgLen] */ -}WPT_PACK_POST tHalCfg, *tpHalCfg; -WPT_PACK_END - -/////#define WDA_UT -#ifdef WDA_UT -#define WDA_WDI_EVENT_MSG 0x00FF -void WDI_processEvent(void *wdiEventData, void *pUserData); -#endif +}__attribute__((__packed__)) tHalCfg, *tpHalCfg; #endif diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h deleted file mode 100644 index d878954f38d3..000000000000 --- a/CORE/WDI/CP/inc/wlan_qct_wdi.h +++ /dev/null @@ -1,10316 +0,0 @@ -/* - * Copyright (c) 2012-2014 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_QCT_WDI_H -#define WLAN_QCT_WDI_H - -/*=========================================================================== - - W L A N D E V I C E A B S T R A C T I O N L A Y E R - E X T E R N A L A P I - - -DESCRIPTION - This file contains the external API exposed by the wlan transport layer - module. -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -10/05/11 hap Adding support for Keep Alive -08/04/10 lti Created module. - -===========================================================================*/ - - - -/*=========================================================================== - - INCLUDE FILES FOR MODULE - -===========================================================================*/ - -/*---------------------------------------------------------------------------- - * Include Files - * -------------------------------------------------------------------------*/ -#include "wlan_qct_pal_api.h" -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pack_align.h" -#include "wlan_qct_wdi_cfg.h" - -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ -#ifdef __cplusplus - extern "C" { -#endif - -/* MAC ADDRESS LENGTH - per spec*/ -#define WDI_MAC_ADDR_LEN 6 - -/* IPv4 Address Length */ -#define WDI_IPV4_ADDR_LEN 4 - -/* Max number of 11b rates -> 1,2,5.5,11 */ -#define WDI_NUM_11B_RATES 4 - -/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/ -#define WDI_NUM_11A_RATES 8 - -/* Max supported MCS set*/ -#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16 - -/*Max number of Access Categories for QoS - per spec */ -#define WDI_MAX_NO_AC 4 - -/*Max. size for reserving the Beacon Template */ -#define WDI_BEACON_TEMPLATE_SIZE 0x180 - -#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128 - -#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16 - -#define WDI_MAX_SSID_SIZE 32 - -/* The shared memory between WDI and HAL is 4K so maximum data can be transferred -from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K -of NV fragment is nt possbile.The next multiple of 1Kb is 3K */ - -#define FRAGMENT_SIZE 3072 - -/* Macro to find the total number fragments of the NV Image*/ -#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1)) - -/* Beacon Filter Length*/ -#define WDI_BEACON_FILTER_LEN 70 - -/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */ -#define WDI_COEX_IND_DATA_SIZE (4) - -#define WDI_CIPHER_SEQ_CTR_SIZE 6 - -#define WDI_NUM_BSSID 2 - -/*Version string max length (including NUL) */ -#define WDI_VERSION_LENGTH 64 - - -/*WDI Response timeout - how long will WDI wait for a response from the device - - it should be large enough to allow any other failure mechanism to kick - in before we get to a timeout (ms units)*/ -#define WDI_RESPONSE_TIMEOUT 10000 - -/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the - * Apps initiated SSR will be performed */ -#define WDI_SSR_TIMEOUT 5000 - -#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */ - -/* Periodic Tx pattern offload feature */ -#define PERIODIC_TX_PTRN_MAX_SIZE 1536 -#define MAXNUM_PERIODIC_TX_PTRNS 6 - -/*============================================================================ - * GENERIC STRUCTURES - -============================================================================*/ - -/*--------------------------------------------------------------------------- - WDI Version Information ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 revision; - wpt_uint8 version; - wpt_uint8 minor; - wpt_uint8 major; -} WDI_WlanVersionType; - -/*--------------------------------------------------------------------------- - WDI Device Capability ----------------------------------------------------------------------------*/ -typedef struct -{ - /*If this flag is true it means that the device can support 802.3/ETH2 to - 802.11 translation*/ - wpt_boolean bFrameXtlSupported; - - /*Maximum number of BSSes supported by the Device */ - wpt_uint8 ucMaxBSSSupported; - - /*Maximum number of stations supported by the Device */ - wpt_uint8 ucMaxSTASupported; -}WDI_DeviceCapabilityType; - -/*--------------------------------------------------------------------------- - WDI Channel Offset ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0, - WDI_SECONDARY_CHANNEL_OFFSET_UP = 1, - WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3, -#ifdef WLAN_FEATURE_11AC - WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED - WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED - WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED - WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW - WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW - WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH - WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH -#endif - WDI_SECONDARY_CHANNEL_OFFSET_MAX -}WDI_HTSecondaryChannelOffset; - -/*--------------------------------------------------------------------------- - WDI_MacFrameCtl - Frame control field format (2 bytes) ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 protVer :2; - wpt_uint8 type :2; - wpt_uint8 subType :4; - - wpt_uint8 toDS :1; - wpt_uint8 fromDS :1; - wpt_uint8 moreFrag :1; - wpt_uint8 retry :1; - wpt_uint8 powerMgmt :1; - wpt_uint8 moreData :1; - wpt_uint8 wep :1; - wpt_uint8 order :1; - -} WDI_MacFrameCtl; - -/*--------------------------------------------------------------------------- - WDI Sequence control field ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 fragNum : 4; - wpt_uint8 seqNumLo : 4; - wpt_uint8 seqNumHi : 8; -} WDI_MacSeqCtl; - -/*--------------------------------------------------------------------------- - Management header format ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_MacFrameCtl fc; - wpt_uint8 durationLo; - wpt_uint8 durationHi; - wpt_uint8 da[WDI_MAC_ADDR_LEN]; - wpt_uint8 sa[WDI_MAC_ADDR_LEN]; - wpt_macAddr bssId; - WDI_MacSeqCtl seqControl; -} WDI_MacMgmtHdr; - -/*--------------------------------------------------------------------------- - NV Blob management sturcture - ---------------------------------------------------------------------------*/ - -typedef struct -{ - /* NV image fragments count */ - wpt_uint16 usTotalFragment; - - /* NV fragment size */ - wpt_uint16 usFragmentSize; - - /* current fragment to be sent */ - wpt_uint16 usCurrentFragment; - -} WDI_NvBlobInfoParams; - - -/*--------------------------------------------------------------------------- - Data path enums memory pool resource - ---------------------------------------------------------------------------*/ - -typedef enum -{ - /* managment resource pool ID */ - WDI_MGMT_POOL_ID = 0, - /* Data resource pool ID */ - WDI_DATA_POOL_ID = 1 -}WDI_ResPoolType; - -/*============================================================================ - * GENERIC STRUCTURES - END - ============================================================================*/ - -/*---------------------------------------------------------------------------- - * Type Declarations - * -------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------- - WDI Status ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_STATUS_SUCCESS, /* Operation has completed successfully*/ - WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a - synchronous way - no rsp will be generated*/ - WDI_STATUS_PENDING, /* Operation result is pending and will be - provided asynchronously through the Req Status - Callback */ - WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/ - WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/ - WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation - failure*/ - WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state - of the driver*/ - WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/ - - WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/ - WDI_STATUS_MAX - -}WDI_Status; - - -/*--------------------------------------------------------------------------- - WDI_ReqStatusCb - - DESCRIPTION - - This callback is invoked by DAL to deliver to UMAC the result of posting - a previous request for which the return status was PENDING. - - PARAMETERS - - IN - wdiStatus: response status received from the Control Transport - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_LowLevelIndEnumType - Types of indication that can be posted to UMAC by DAL ----------------------------------------------------------------------------*/ -typedef enum -{ - /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been - passed. */ - WDI_RSSI_NOTIFICATION_IND, - - /*Link loss in the low MAC */ - WDI_MISSED_BEACON_IND, - - /*when hardware has signaled an unknown addr2 frames. The indication will - contain info from frames to be passed to the UMAC, this may use this info to - deauth the STA*/ - WDI_UNKNOWN_ADDR2_FRAME_RX_IND, - - /*MIC Failure detected by HW*/ - WDI_MIC_FAILURE_IND, - - /*Fatal Error Ind*/ - WDI_FATAL_ERROR_IND, - - /*Delete Station Ind*/ - WDI_DEL_STA_IND, - - /*Indication from Coex*/ - WDI_COEX_IND, - - /* Indication for Tx Complete */ - WDI_TX_COMPLETE_IND, - - /*.P2P_NOA_Attr_Indication */ - WDI_P2P_NOA_ATTR_IND, - - /* Preferred Network Found Indication */ - WDI_PREF_NETWORK_FOUND_IND, - - WDI_WAKE_REASON_IND, - - /* Tx PER Tracking Indication */ - WDI_TX_PER_HIT_IND, - - /* P2P_NOA_Start_Indication */ - WDI_P2P_NOA_START_IND, - - /* TDLS_Indication */ - WDI_TDLS_IND, - - /* LPHB Indication from FW to umac */ - WDI_LPHB_IND, - - /* IBSS Peer Inactivity Indication */ - WDI_IBSS_PEER_INACTIVITY_IND, - - /* Periodic Tx Pattern FW Indication */ - WDI_PERIODIC_TX_PTRN_FW_IND, - - /* LBP_Leader_Pick_New Indication */ - WDI_LBP_LEADER_PICK_NEW, - -#ifdef FEATURE_WLAN_BATCH_SCAN - /*Batch scan result indication from FW*/ - WDI_BATCH_SCAN_RESULT_IND, -#endif - - WDI_TX_FAIL_IND, - - WDI_MAX_IND -}WDI_LowLevelIndEnumType; - - -/*--------------------------------------------------------------------------- - WDI_LowRSSIThIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Positive crossing of Rssi Thresh1*/ - wpt_uint32 bRssiThres1PosCross : 1; - /*Negative crossing of Rssi Thresh1*/ - wpt_uint32 bRssiThres1NegCross : 1; - /*Positive crossing of Rssi Thresh2*/ - wpt_uint32 bRssiThres2PosCross : 1; - /*Negative crossing of Rssi Thresh2*/ - wpt_uint32 bRssiThres2NegCross : 1; - /*Positive crossing of Rssi Thresh3*/ - wpt_uint32 bRssiThres3PosCross : 1; - /*Negative crossing of Rssi Thresh3*/ - wpt_uint32 bRssiThres3NegCross : 1; - - wpt_uint32 avgRssi : 8; - wpt_uint32 bReserved : 18; - -}WDI_LowRSSIThIndType; - - -/*--------------------------------------------------------------------------- - WDI_UnkAddr2FrmRxIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Rx Bd data of the unknown received addr2 frame.*/ - void* bufRxBd; - - /*Buffer Length*/ - wpt_uint16 usBufLen; -}WDI_UnkAddr2FrmRxIndType; - -/*--------------------------------------------------------------------------- - WDI_DeleteSTAIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*ASSOC ID, as assigned by UMAC*/ - wpt_uint16 usAssocId; - - /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/ - wpt_uint8 ucSTAIdx; - - /*BSSID of STA*/ - wpt_macAddr macBSSID; - - /*MAC ADDR of STA*/ - wpt_macAddr macADDR2; - - /* To unify the keepalive / unknown A2 / tim-based disa*/ - wpt_uint16 wptReasonCode; - -}WDI_DeleteSTAIndType; - -/*--------------------------------------------------------------------------- - WDI_MicFailureIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*current BSSID*/ - wpt_macAddr bssId; - - /*Source mac address*/ - wpt_macAddr macSrcAddr; - - /*Transmitter mac address*/ - wpt_macAddr macTaAddr; - - /*Destination mac address*/ - wpt_macAddr macDstAddr; - - /*Multicast flag*/ - wpt_uint8 ucMulticast; - - /*First byte of IV*/ - wpt_uint8 ucIV1; - - /*Key Id*/ - wpt_uint8 keyId; - - /*Sequence Number*/ - wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE]; - - /*receive address */ - wpt_macAddr macRxAddr; -}WDI_MicFailureIndType; - -/*--------------------------------------------------------------------------- - WDI_CoexIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 coexIndType; - wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE]; -} WDI_CoexIndType; - -/*--------------------------------------------------------------------------- - WDI_DHCPInd ----------------------------------------------------------------------------*/ - -typedef struct -{ - wpt_uint8 device_mode; - wpt_uint8 macAddr[WDI_MAC_ADDR_LEN]; -}WDI_DHCPInd; - -/*--------------------------------------------------------------------------- - - WDI_MacSSid ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucLength; - wpt_uint8 sSSID[WDI_MAX_SSID_SIZE]; -} WDI_MacSSid; - -#ifdef FEATURE_WLAN_SCAN_PNO -/*--------------------------------------------------------------------------- - WDI_PrefNetworkFoundInd ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Network that was found with the highest RSSI*/ - WDI_MacSSid ssId; - /* Indicates the RSSI */ - wpt_uint8 rssi; - wpt_uint16 frameLength; - wpt_uint8 *pData; -} WDI_PrefNetworkFoundInd; -#endif // FEATURE_WLAN_SCAN_PNO - -/*--------------------------------------------------------------------------- - *WDI_P2pNoaAttrIndType - *-------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucIndex ; - wpt_uint8 ucOppPsFlag ; - wpt_uint16 usCtWin ; - - wpt_uint16 usNoa1IntervalCnt; - wpt_uint16 usRsvd1 ; - wpt_uint32 uslNoa1Duration; - wpt_uint32 uslNoa1Interval; - wpt_uint32 uslNoa1StartTime; - - wpt_uint16 usNoa2IntervalCnt; - wpt_uint16 usRsvd2; - wpt_uint32 uslNoa2Duration; - wpt_uint32 uslNoa2Interval; - wpt_uint32 uslNoa2StartTime; - - wpt_uint32 status; -}WDI_P2pNoaAttrIndType; - -/*--------------------------------------------------------------------------- - *WDI_P2pNoaStartIndType - *-------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 status; - wpt_uint32 bssIdx; -}WDI_P2pNoaStartIndType; - -/*--------------------------------------------------------------------------- - *WDI_TdlsIndType - *-------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint16 status; - wpt_uint16 assocId; - wpt_uint16 staIdx; - wpt_uint16 reasonCode; -}WDI_TdlsIndType; - -#ifdef WLAN_WAKEUP_EVENTS -/*--------------------------------------------------------------------------- - WDI_WakeReasonIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 ulReason; /* see tWakeReasonType */ - wpt_uint32 ulReasonArg; /* argument specific to the reason type */ - wpt_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 */ - wpt_uint32 ulActualDataLen; /* actual length of data */ - wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen) - see specific wake type */ -} WDI_WakeReasonIndType; -#endif // WLAN_WAKEUP_EVENTS - -/*--------------------------------------------------------------------------- - WDI_MissedBeaconIndType ------------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/ -} WDI_MissedBeaconIndType; - -#ifdef FEATURE_WLAN_LPHB -/*--------------------------------------------------------------------------- - WDI_LPHBTimeoutIndData ------------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 bssIdx; - wpt_uint8 sessionIdx; - wpt_uint8 protocolType; /*TCP or UDP*/ - wpt_uint8 eventReason; -} WDI_LPHBTimeoutIndData; -#endif /* FEATURE_WLAN_LPHB */ - -/*----------------------------------------------------------------------------- -WDI_PeriodicTxPtrnFwIndType ------------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 bssIdx; - wpt_uint32 selfStaIdx; - wpt_uint32 status; - wpt_uint32 patternIdBitmap; -} WDI_PeriodicTxPtrnFwIndType; - -#ifdef FEATURE_WLAN_BATCH_SCAN -/*--------------------------------------------------------------------------- - WDI_SetBatchScanReqType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/ - wpt_uint32 numberOfScansToBatch; /* number of scans to batch */ - wpt_uint32 bestNetwork; /* best networks in terms of rssi */ - wpt_uint8 rfBand; /* band to scan : - 0 ->both Band, 1->2.4Ghz Only - and 2-> 5GHz Only */ - wpt_uint32 rtt; /* set if required to do RTT it is not - supported in current version */ -}WDI_SetBatchScanReqType; - -/*--------------------------------------------------------------------------- - WDI_SetBatchScanRspType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*max number of scans which FW can cache*/ - wpt_uint32 nScansToBatch; -}WDI_SetBatchScanRspType; - -/*--------------------------------------------------------------------------- - WDI_TriggerBatchScanResultIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 param; -}WDI_TriggerBatchScanResultIndType; - -/*--------------------------------------------------------------------------- - WDI_StopBatchScanIndType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*max number of scans which FW can cache*/ - wpt_uint32 param; -}WDI_StopBatchScanIndType; - - -/*--------------------------------------------------------------------------- - * WDI_BatchScanResultIndType - *--------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 bssid[6]; /* BSSID */ - wpt_uint32 ssid[32]; /* SSID */ - wpt_uint32 ch; /* Channel */ - wpt_uint32 rssi; /* RSSI or Level */ - /* Timestamp when Network was found. Used to calculate age based on - timestamp in GET_RSP msg header */ - wpt_uint32 timestamp; -} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo; - -typedef struct -{ - wpt_uint32 scanId; /*Scan List ID*/ - /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/ - wpt_uint32 numNetworksInScanList; - /*Variable data ptr: Number of AP in Scan List*/ - wpt_uint32 scanList[1]; -} tWDIBatchScanList, *tpWDIBatchScanList; - -typedef struct -{ - wpt_uint32 timestamp; - wpt_uint32 numScanLists; - wpt_boolean isLastResult; - /* Variable Data ptr: Number of Scan Lists*/ - wpt_uint32 scanResults[1]; -} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam; - -#endif - -/*--------------------------------------------------------------------------- - WDI_IbssPeerInactivityIndType ------------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 bssIdx; - wpt_uint8 staIdx; - wpt_macAddr staMacAddr; -}WDI_IbssPeerInactivityIndType; - -/*--------------------------------------------------------------------------- - WDI_TxRateFlags ------------------------------------------------------------------------------*/ -typedef enum -{ - WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */ - WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */ - WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */ - WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */ - WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */ - WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */ - WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */ - WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */ - WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */ -} WDI_TxRateFlags; - -/*--------------------------------------------------------------------------- - WDI_RateUpdateIndParams ------------------------------------------------------------------------------*/ -typedef struct -{ - /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this - * param ucastDataRate can be used to control RA behavior of unicast data to - */ - wpt_int32 ucastDataRate; - - /* TX flag to differentiate between HT20, HT40 etc */ - WDI_TxRateFlags ucastDataRateTxFlag; - - /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */ - wpt_macAddr bssid; - - /* - * 0 implies MCAST RA, positive value implies fixed rate, - * -1 implies ignore this param - */ - wpt_int32 reliableMcastDataRate; //unit Mbpsx10 - - /* TX flag to differentiate between HT20, HT40 etc */ - WDI_TxRateFlags reliableMcastDataRateTxFlag; - - /* - * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10, - * 0 implies ignore - */ - wpt_uint32 mcastDataRate24GHz; - - /* TX flag to differentiate between HT20, HT40 etc */ - WDI_TxRateFlags mcastDataRate24GHzTxFlag; - - /* - * MCAST(or BCAST) fixed data rate in 5 GHz, - * unit Mbpsx10, 0 implies ignore - */ - wpt_uint32 mcastDataRate5GHz; - - /* TX flag to differentiate between HT20, HT40 etc */ - WDI_TxRateFlags mcastDataRate5GHzTxFlag; - - /* - * Request status callback offered by UMAC - it is called if the current - * req has returned PENDING as status; it delivers the status of sending - * the message over the BUS - */ - WDI_ReqStatusCb wdiReqStatusCB; - - /* - * The user data passed in by UMAC, it will be sent back when the above - * function pointer will be called - */ - void *pUserData; - -} WDI_RateUpdateIndParams; - -/*--------------------------------------------------------------------------- - WDI_LowLevelIndType - Inidcation type and information about the indication being carried - over ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Inidcation type*/ - WDI_LowLevelIndEnumType wdiIndicationType; - - /*Indication data*/ - union - { - /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/ - WDI_LowRSSIThIndType wdiLowRSSIInfo; - - /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/ - WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo; - - /*MIC Failure info for WDI_MIC_FAILURE_IND*/ - WDI_MicFailureIndType wdiMICFailureInfo; - - /*Error code for WDI_FATAL_ERROR_IND*/ - wpt_uint16 usErrorCode; - - /*Delete STA Indication*/ - WDI_DeleteSTAIndType wdiDeleteSTAIndType; - - /*Coex Indication*/ - WDI_CoexIndType wdiCoexInfo; - - /* Tx Complete Indication */ - wpt_uint32 tx_complete_status; - - /* P2P NOA ATTR Indication */ - WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo; - WDI_P2pNoaStartIndType wdiP2pNoaStartInfo; - /* TDLS Indications */ - WDI_TdlsIndType wdiTdlsIndInfo; - - -#ifdef FEATURE_WLAN_SCAN_PNO - WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd; -#endif // FEATURE_WLAN_SCAN_PNO - -#ifdef WLAN_WAKEUP_EVENTS - WDI_WakeReasonIndType wdiWakeReasonInd; -#endif // WLAN_WAKEUP_EVENTS - WDI_MissedBeaconIndType wdiMissedBeaconInd; - -#ifdef FEATURE_WLAN_LPHB - WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd; -#endif /* FEATURE_WLAN_LPHB */ - - /* IBSS Peer Inactivity Indication */ - WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd; - - /* Periodic TX Pattern FW Indication */ - WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd; - -#ifdef FEATURE_WLAN_BATCH_SCAN - /*batch scan result indication from FW*/ - void *pBatchScanResult; -#endif - - } wdiIndicationData; -}WDI_LowLevelIndType; - -/*--------------------------------------------------------------------------- - WDI_LowLevelIndCBType - - DESCRIPTION - - This callback is invoked by DAL to deliver to UMAC certain indications - that has either received from the lower device or has generated itself. - - PARAMETERS - - IN - pwdiInd: information about the indication sent over - pUserData: user data provided by UMAC during registration - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_DriverType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_DRIVER_TYPE_PRODUCTION = 0, - WDI_DRIVER_TYPE_MFG = 1, - WDI_DRIVER_TYPE_DVT = 2 -} WDI_DriverType; - -/*--------------------------------------------------------------------------- - WDI_StartReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*This is a TLV formatted buffer containing all config values that can - be set through the DAL Interface - - The TLV is expected to be formatted like this: - - 0 7 15 31 .... - | CONFIG ID | CFG LEN | RESERVED | CFG BODY | - - Or from a C construct point of VU it would look like this: - - typedef struct WPT_PACK_POST - { - #ifdef WPT_BIG_ENDIAN - wpt_uint32 ucCfgId:8; - wpt_uint32 ucCfgLen:8; - wpt_uint32 usReserved:16; - #else - wpt_uint32 usReserved:16; - wpt_uint32 ucCfgLen:8; - wpt_uint32 ucCfgId:8; - #endif - - wpt_uint8 ucCfgBody[ucCfgLen]; - }WDI_ConfigType; - - Multiple such tuplets are to be placed in the config buffer. One for - each required configuration item: - - | TLV 1 | TLV2 | .... - - The buffer is expected to be a flat area of memory that can be manipulated - with standard memory routines. - - For more info please check paragraph 2.3.1 Config Structure from the - HAL LLD. - - For a list of accepted configuration list and IDs please look up - wlan_qct_dal_cfg.h - - */ - void* pConfigBuffer; - - /*Length of the config buffer above*/ - wpt_uint16 usConfigBufferLen; - - /*Production or FTM driver*/ - WDI_DriverType wdiDriverType; - - /*Should device enable frame translation */ - wpt_uint8 bFrameTransEnabled; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - - /*Indication callback given by UMAC to be called by the WLAN DAL when it - wishes to send something back independent of a request*/ - WDI_LowLevelIndCBType wdiLowLevelIndCB; - - /*The user data passed in by UMAC, it will be sent back when the indication - function pointer will be called */ - void* pIndUserData; -}WDI_StartReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_StartRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*Max number of STA supported by the device*/ - wpt_uint8 ucMaxStations; - - /*Max number of BSS supported by the device*/ - wpt_uint8 ucMaxBssids; - - /*Version of the WLAN HAL API with which we were compiled*/ - WDI_WlanVersionType wlanCompiledVersion; - - /*Version of the WLAN HAL API that was reported*/ - WDI_WlanVersionType wlanReportedVersion; - - /*WCNSS Software version string*/ - wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH]; - - /*WCNSS Hardware version string*/ - wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH]; -}WDI_StartRspParamsType; - - -/*--------------------------------------------------------------------------- - WDI_StopType ----------------------------------------------------------------------------*/ -typedef enum -{ - /*Device is being stopped due to a reset*/ - WDI_STOP_TYPE_SYS_RESET, - - /*Device is being stopped due to entering deep sleep*/ - WDI_STOP_TYPE_SYS_DEEP_SLEEP, - - /*Device is being stopped because the RF needs to shut off - (e.g.:Airplane mode)*/ - WDI_STOP_TYPE_RF_KILL -}WDI_StopType; - -/*--------------------------------------------------------------------------- - WDI_StopReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - - /*The reason for which the device is being stopped*/ - WDI_StopType wdiStopReason; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_StopReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_ScanMode ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_SCAN_MODE_NORMAL = 0, - WDI_SCAN_MODE_LEARN, - WDI_SCAN_MODE_SCAN, - WDI_SCAN_MODE_PROMISC, - WDI_SCAN_MODE_SUSPEND_LINK, - WDI_SCAN_MODE_ROAM_SCAN, - WDI_SCAN_MODE_ROAM_SUSPEND_LINK, - -} WDI_ScanMode; - -/*--------------------------------------------------------------------------- - WDI_ScanEntry ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 bssIdx[WDI_NUM_BSSID]; - wpt_uint8 activeBSScnt; -}WDI_ScanEntry; - -/*--------------------------------------------------------------------------- - WDI_InitScanReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*LEARN - AP Role - SCAN - STA Role*/ - WDI_ScanMode wdiScanMode; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /*Whether BSS needs to be notified*/ - wpt_boolean bNotifyBSS; - - /*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.*/ - wpt_uint8 ucFrameType; - - /*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.*/ - wpt_uint8 ucFrameLength; - - /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/ - WDI_MacMgmtHdr wdiMACMgmtHdr; - - /*Entry to hold number of active BSS to send NULL frames before - * initiating SCAN*/ - WDI_ScanEntry wdiScanEntry; - - /* Flag to enable/disable Single NOA*/ - wpt_boolean bUseNOA; - - /* Indicates the scan duration (in ms) */ - wpt_uint16 scanDuration; - -}WDI_InitScanReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_InitScanReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*The info associated with the request that needs to be sent over to the - device*/ - WDI_InitScanReqInfoType wdiReqInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_InitScanReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_StartScanReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the channel to scan*/ - wpt_uint8 ucChannel; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_StartScanReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_StartScanRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the status of the operation */ - WDI_Status wdiStatus; - -#if defined WLAN_FEATURE_VOWIFI - wpt_uint32 aStartTSF[2]; - wpt_int8 ucTxMgmtPower; -#endif -}WDI_StartScanRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_EndScanReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*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.*/ - wpt_uint8 ucChannel; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_EndScanReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_PhyChanBondState ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_PHY_SINGLE_CHANNEL_CENTERED = 0, - WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1, - WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2, - WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3, -#ifdef WLAN_FEATURE_11AC - WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED - WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED - WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED - WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW - WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW - WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH - WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH -#endif - WDI_MAX_CB_STATE -} WDI_PhyChanBondState; - -/*--------------------------------------------------------------------------- - WDI_FinishScanReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*LEARN - AP Role - SCAN - STA Role*/ - WDI_ScanMode wdiScanMode; - - /*Operating channel to tune to.*/ - wpt_uint8 ucCurrentOperatingChannel; - - /*Channel Bonding state If 20/40 MHz is operational, this will indicate the - 40 MHz extension channel in combination with the control channel*/ - WDI_PhyChanBondState wdiCBState; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /*Whether BSS needs to be notified*/ - wpt_boolean bNotifyBSS; - - /*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.*/ - wpt_uint8 ucFrameType; - - /*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.*/ - wpt_uint8 ucFrameLength; - - /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/ - WDI_MacMgmtHdr wdiMACMgmtHdr; - - /*Entry to hold number of active BSS to send NULL frames after SCAN*/ - WDI_ScanEntry wdiScanEntry; - -}WDI_FinishScanReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_SwitchChReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the channel to switch to.*/ - wpt_uint8 ucChannel; - - /*Local power constraint*/ - wpt_uint8 ucLocalPowerConstraint; - - /*Secondary channel offset */ - WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset; - -#ifdef WLAN_FEATURE_VOWIFI - wpt_int8 cMaxTxPower; - - /*Self STA Mac address*/ - wpt_macAddr macSelfStaMacAddr; -#endif - /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the - request has power constraints, this should be applied only to that session */ - /* 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 - */ - wpt_macAddr macBSSId; - -}WDI_SwitchChReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_SwitchChReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Channel Info*/ - WDI_SwitchChReqInfoType wdiChInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SwitchChReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_FinishScanReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Info for the Finish Scan request that will be sent down to the device*/ - WDI_FinishScanReqInfoType wdiReqInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_FinishScanReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_JoinReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the BSSID to which STA is going to associate*/ - wpt_macAddr macBSSID; - - /*Indicates the MAC Address of the current Self STA*/ - wpt_macAddr macSTASelf; - - /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/ - wpt_uint32 linkState; - - /*Indicates the channel to switch to.*/ - WDI_SwitchChReqInfoType wdiChannelInfo; - -}WDI_JoinReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_JoinReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Info for the Join request that will be sent down to the device*/ - WDI_JoinReqInfoType wdiReqInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_JoinReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_BssType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_INFRASTRUCTURE_MODE, - WDI_INFRA_AP_MODE, //Added for softAP support - WDI_IBSS_MODE, - WDI_BTAMP_STA_MODE, - WDI_BTAMP_AP_MODE, - WDI_BSS_AUTO_MODE, -}WDI_BssType; - -/*--------------------------------------------------------------------------- - WDI_NwType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_11A_NW_TYPE, - WDI_11B_NW_TYPE, - WDI_11G_NW_TYPE, - WDI_11N_NW_TYPE, -} WDI_NwType; - -/*--------------------------------------------------------------------------- - WDI_ConfigAction ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_ADD_BSS, - WDI_UPDATE_BSS -} WDI_ConfigAction; - -/*--------------------------------------------------------------------------- - WDI_HTOperatingMode ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_HT_OP_MODE_PURE, - WDI_HT_OP_MODE_OVERLAP_LEGACY, - WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT, - WDI_HT_OP_MODE_MIXED - -} WDI_HTOperatingMode; - - -/*--------------------------------------------------------------------------- - WDI_STAEntryType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_STA_ENTRY_SELF, - WDI_STA_ENTRY_PEER, - WDI_STA_ENTRY_BSSID, - WDI_STA_ENTRY_BCAST, -#ifdef FEATURE_WLAN_TDLS - WDI_STA_ENTRY_TDLS_PEER, -#endif -}WDI_STAEntryType; - -/*--------------------------------------------------------------------------- - WDI_ConfigActionType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_ADD_STA, - WDI_UPDATE_STA -} WDI_ConfigActionType; - -/*---------------------------------------------------------------------------- - Each station added has a rate mode which specifies the sta attributes - ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_RESERVED_1 = 0, - WDI_RESERVED_2, - WDI_RESERVED_3, - WDI_11b, - WDI_11bg, - WDI_11a, - WDI_11n, -} WDI_RateModeType; - -/*--------------------------------------------------------------------------- - WDI_SupportedRatesType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* - * 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. - */ - - WDI_RateModeType opRateMode; - - /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */ - wpt_uint16 llbRates[WDI_NUM_11B_RATES]; - wpt_uint16 llaRates[WDI_NUM_11A_RATES]; - - /* - * 0-76 bits used, remaining reserved - * bits 0-15 and 32 should be set. - */ - wpt_uint8 aSupportedMCSSet[WDI_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. - */ - wpt_uint16 aRxHighestDataRate; - - -#ifdef WLAN_FEATURE_11AC - /*Indicates the Maximum MCS that can be received for each number - of spacial streams */ - wpt_uint16 vhtRxMCSMap; - /*Indicate the highest VHT data rate that the STA is able to receive*/ - wpt_uint16 vhtRxHighestDataRate; - /*Indicates the Maximum MCS that can be transmitted for each number - of spacial streams */ - wpt_uint16 vhtTxMCSMap; - /*Indicate the highest VHT data rate that the STA is able to transmit*/ - wpt_uint16 vhtTxHighestDataRate; -#endif - -} WDI_SupportedRates; - -/*-------------------------------------------------------------------------- - WDI_HTMIMOPowerSaveState - Spatial Multiplexing(SM) Power Save mode - --------------------------------------------------------------------------*/ -typedef enum -{ - WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode - WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode - WDI_HT_MIMO_PS_NA = 2, // reserved - WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled -} WDI_HTMIMOPowerSaveState; - -/*--------------------------------------------------------------------------- - WDI_ConfigStaReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSSID of STA*/ - wpt_macAddr macBSSID; - - /*ASSOC ID, as assigned by UMAC*/ - wpt_uint16 usAssocId; - - /*Used for configuration of different HW modules.*/ - WDI_STAEntryType wdiSTAType; - - /*STA Index */ - wpt_uint8 staIdx; - - /*Short Preamble Supported.*/ - wpt_uint8 ucShortPreambleSupported; - - /*MAC Address of STA*/ - wpt_macAddr macSTA; - - /*Listen interval of the STA*/ - wpt_uint16 usListenInterval; - - /*Support for 11e/WMM*/ - wpt_uint8 ucWMMEnabled; - - /*11n HT capable STA*/ - wpt_uint8 ucHTCapable; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - wpt_uint8 ucTXChannelWidthSet; - - /*RIFS mode 0 - NA, 1 - Allowed*/ - wpt_uint8 ucRIFSMode; - - /*L-SIG TXOP Protection mechanism - 0 - No Support, 1 - Supported - SG - there is global field*/ - wpt_uint8 ucLSIGTxopProtection; - - /*Max Ampdu Size supported by STA. Device programming. - 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */ - wpt_uint8 ucMaxAmpduSize; - - /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/ - wpt_uint8 ucMaxAmpduDensity; - - /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/ - wpt_uint8 ucMaxAmsduSize; - - /*Short GI support for 40Mhz packets*/ - wpt_uint8 ucShortGI40Mhz; - - /*Short GI support for 20Mhz packets*/ - wpt_uint8 ucShortGI20Mhz; - - /*These rates are the intersection of peer and self capabilities.*/ - WDI_SupportedRates wdiSupportedRates; - - /*Robust Management Frame (RMF) enabled/disabled*/ - wpt_uint8 ucRMFEnabled; - - /* The unicast encryption type in the association */ - wpt_uint32 ucEncryptType; - - /*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.*/ - WDI_ConfigActionType wdiAction; - - /*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 - */ - wpt_uint8 ucAPSD; - - /*Max SP Length*/ - wpt_uint8 ucMaxSPLen; - - /*11n Green Field preamble support*/ - wpt_uint8 ucGreenFieldCapable; - - /*MIMO Power Save mode*/ - WDI_HTMIMOPowerSaveState wdiMIMOPS; - - /*Delayed BA Support*/ - wpt_uint8 ucDelayedBASupport; - - /*Max AMPDU duration in 32us*/ - wpt_uint8 us32MaxAmpduDuratio; - - /*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. - */ - wpt_uint8 ucDsssCckMode40Mhz; - - wpt_uint8 ucP2pCapableSta; -#ifdef WLAN_FEATURE_11AC - wpt_uint8 ucVhtCapableSta; - wpt_uint8 ucVhtTxChannelWidthSet; - wpt_uint8 ucVhtTxBFEnabled; -#endif - - wpt_uint8 ucHtLdpcEnabled; - wpt_uint8 ucVhtLdpcEnabled; -}WDI_ConfigStaReqInfoType; - - -/*--------------------------------------------------------------------------- - WDI_RateSet - - 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 ----------------------------------------------------------------------------*/ -#define WDI_RATESET_EID_MAX 12 - -typedef struct -{ - wpt_uint8 ucNumRates; - wpt_uint8 aRates[WDI_RATESET_EID_MAX]; -} WDI_RateSet; - -/*--------------------------------------------------------------------------- - WDI_AciAifsnType - access category record ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 rsvd : 1; - wpt_uint8 aci : 2; - wpt_uint8 acm : 1; - wpt_uint8 aifsn : 4; -} WDI_AciAifsnType; - -/*--------------------------------------------------------------------------- - WDI_CWType - contention window size ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 max : 4; - wpt_uint8 min : 4; -} WDI_CWType; - -/*--------------------------------------------------------------------------- - WDI_EdcaParamRecord ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Access Category Record*/ - WDI_AciAifsnType wdiACI; - - /*Contention WIndow Size*/ - WDI_CWType wdiCW; - - /*TX Oportunity Limit*/ - wpt_uint16 usTXOPLimit; -} WDI_EdcaParamRecord; - -/*--------------------------------------------------------------------------- - WDI_EDCAParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSS Index*/ - wpt_uint8 ucBSSIdx; - - /*?*/ - wpt_boolean bHighPerformance; - - /*Best Effort*/ - WDI_EdcaParamRecord wdiACBE; - - /*Background*/ - WDI_EdcaParamRecord wdiACBK; - - /*Video*/ - WDI_EdcaParamRecord wdiACVI; - - /*Voice*/ - WDI_EdcaParamRecord acvo; // voice -} WDI_EDCAParamsType; - -/* operMode in ADD BSS message */ -#define WDI_BSS_OPERATIONAL_MODE_AP 0 -#define WDI_BSS_OPERATIONAL_MODE_STA 1 - -/*--------------------------------------------------------------------------- - WDI_ConfigBSSRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /*BSS Index*/ - wpt_uint8 ucBSSIdx; - - /*Unicast DPU signature*/ - wpt_uint8 ucUcastSig; - - /*Broadcast DPU Signature*/ - wpt_uint8 ucBcastSig; - - /*MAC Address of STA*/ - wpt_macAddr macSTA; - - /*BSS STA ID*/ - wpt_uint8 ucSTAIdx; - -#ifdef WLAN_FEATURE_VOWIFI - /*HAL fills in the tx power used for mgmt frames in this field */ - wpt_int8 ucTxMgmtPower; -#endif - -}WDI_ConfigBSSRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelBSSReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSS Index of the BSS*/ - wpt_uint8 ucBssIdx; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_DelBSSReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelBSSRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - wpt_uint8 ucBssIdx; - -}WDI_DelBSSRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_ConfigSTARspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*STA Idx allocated by HAL*/ - wpt_uint8 ucSTAIdx; - - /*MAC Address of STA*/ - wpt_macAddr macSTA; - - /* BSSID Index of BSS to which the station is associated */ - wpt_uint8 ucBssIdx; - - /* DPU Index - PTK */ - wpt_uint8 ucDpuIndex; - - /* Bcast DPU Index - GTK */ - wpt_uint8 ucBcastDpuIndex; - - /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */ - wpt_uint8 ucBcastMgmtDpuIdx; - - /*Unicast DPU signature*/ - wpt_uint8 ucUcastSig; - - /*Broadcast DPU Signature*/ - wpt_uint8 ucBcastSig; - - /* IGTK DPU signature*/ - wpt_uint8 ucMgmtSig; - -}WDI_ConfigSTARspParamsType; - -/*--------------------------------------------------------------------------- - WDI_PostAssocRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*Parameters related to the BSS*/ - WDI_ConfigBSSRspParamsType bssParams; - - /*Parameters related to the self STA*/ - WDI_ConfigSTARspParamsType staParams; - -}WDI_PostAssocRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelSTAReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/ - wpt_uint8 ucSTAIdx; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_DelSTAReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelSTARspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/ - wpt_uint8 ucSTAIdx; -}WDI_DelSTARspParamsType; - -/*--------------------------------------------------------------------------- - WDI_EncryptType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_ENCR_NONE, - WDI_ENCR_WEP40, - WDI_ENCR_WEP104, - WDI_ENCR_TKIP, - WDI_ENCR_CCMP, -#if defined(FEATURE_WLAN_WAPI) - WDI_ENCR_WPI, -#endif - WDI_ENCR_AES_128_CMAC -} WDI_EncryptType; - -/*--------------------------------------------------------------------------- - WDI_KeyDirectionType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_TX_ONLY, - WDI_RX_ONLY, - WDI_TX_RX, - WDI_TX_DEFAULT, - WDI_DONOT_USE_KEY_DIRECTION -} WDI_KeyDirectionType; - -#define WDI_MAX_ENCR_KEYS 4 -#define WDI_MAX_KEY_LENGTH 32 -#if defined(FEATURE_WLAN_WAPI) -#define WDI_MAX_KEY_RSC_LEN 16 -#define WDI_WAPI_KEY_RSC_LEN 16 -#else -#define WDI_MAX_KEY_RSC_LEN 8 -#endif - -typedef struct -{ - /* Key ID */ - wpt_uint8 keyId; - /* 0 for multicast */ - wpt_uint8 unicast; - /* Key Direction */ - WDI_KeyDirectionType keyDirection; - /* Usage is unknown */ - wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN]; - /* =1 for authenticator, =0 for supplicant */ - wpt_uint8 paeRole; - wpt_uint16 keyLength; - wpt_uint8 key[WDI_MAX_KEY_LENGTH]; - -}WDI_KeysType; - -/*--------------------------------------------------------------------------- - WDI_SetBSSKeyReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSS Index of the BSS*/ - wpt_uint8 ucBssIdx; - - /*Encryption Type used with peer*/ - WDI_EncryptType wdiEncType; - - /*Number of keys*/ - wpt_uint8 ucNumKeys; - - /*Array of keys.*/ - WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS]; - - /*Control for Replay Count, 1= Single TID based replay count on Tx - 0 = Per TID based replay count on TX */ - wpt_uint8 ucSingleTidRc; -}WDI_SetBSSKeyReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetBSSKeyReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Key Info */ - WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetBSSKeyReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_WepType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_WEP_STATIC, - WDI_WEP_DYNAMIC - -} WDI_WepType; - -/*--------------------------------------------------------------------------- - WDI_RemoveBSSKeyReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSS Index of the BSS*/ - wpt_uint8 ucBssIdx; - - /*Encryption Type used with peer*/ - WDI_EncryptType wdiEncType; - - /*Key Id*/ - wpt_uint8 ucKeyId; - - /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic - keys*/ - WDI_WepType wdiWEPType; -}WDI_RemoveBSSKeyReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_RemoveBSSKeyReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Key Info */ - WDI_RemoveBSSKeyReqInfoType wdiKeyInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_RemoveBSSKeyReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_SetSTAKeyReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*STA Index*/ - wpt_uint8 ucSTAIdx; - - /*Encryption Type used with peer*/ - WDI_EncryptType wdiEncType; - - /*STATIC/DYNAMIC*/ - WDI_WepType wdiWEPType; - - /*Default WEP key, valid only for static WEP, must between 0 and 3.*/ - wpt_uint8 ucDefWEPIdx; - - /*Number of keys*/ - wpt_uint8 ucNumKeys; - - /*Array of keys.*/ - WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS]; - - /*Control for Replay Count, 1= Single TID based replay count on Tx - 0 = Per TID based replay count on TX */ - wpt_uint8 ucSingleTidRc; -}WDI_SetSTAKeyReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_ConfigBSSReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Peer BSSID*/ - wpt_macAddr macBSSID; - - /*Self MAC Address*/ - wpt_macAddr macSelfAddr; - - /*BSS Type*/ - WDI_BssType wdiBSSType; - - /*Operational Mode: AP =0, STA = 1*/ - wpt_uint8 ucOperMode; - - /*Network Type*/ - WDI_NwType wdiNWType; - - /*Used to classify PURE_11G/11G_MIXED to program MTU*/ - wpt_uint8 ucShortSlotTimeSupported; - - /*Co-exist with 11a STA*/ - wpt_uint8 ucllaCoexist; - - /*Co-exist with 11b STA*/ - wpt_uint8 ucllbCoexist; - - /*Co-exist with 11g STA*/ - wpt_uint8 ucllgCoexist; - - /*Coexistence with 11n STA*/ - wpt_uint8 ucHT20Coexist; - - /*Non GF coexist flag*/ - wpt_uint8 ucllnNonGFCoexist; - - /*TXOP protection support*/ - wpt_uint8 ucTXOPProtectionFullSupport; - - /*RIFS mode*/ - wpt_uint8 ucRIFSMode; - - /*Beacon Interval in TU*/ - wpt_uint16 usBeaconInterval; - - /*DTIM period*/ - wpt_uint8 ucDTIMPeriod; - - /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/ - wpt_uint8 ucTXChannelWidthSet; - - /*Operating channel*/ - wpt_uint8 ucCurrentOperChannel; - - /*Extension channel for channel bonding*/ - wpt_uint8 ucCurrentExtChannel; - - /*Context of the station being added in HW.*/ - WDI_ConfigStaReqInfoType wdiSTAContext; - - /*SSID of the BSS*/ - WDI_MacSSid wdiSSID; - - /*HAL should update the existing BSS entry, if this flag is set. UMAC will - set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/ - WDI_ConfigAction wdiAction; - - /*Basic Rate Set*/ - WDI_RateSet wdiRateSet; - - /*Enable/Disable HT capabilities of the BSS*/ - wpt_uint8 ucHTCapable; - - /* Enable/Disable OBSS protection */ - wpt_uint8 ucObssProtEnabled; - - /*RMF enabled/disabled*/ - wpt_uint8 ucRMFEnabled; - - /*Determines the current HT Operating Mode operating mode of the - 802.11n STA*/ - WDI_HTOperatingMode wdiHTOperMod; - - /*Dual CTS Protection: 0 - Unused, 1 - Used*/ - wpt_uint8 ucDualCTSProtection; - - /* Probe Response Max retries */ - wpt_uint8 ucMaxProbeRespRetryLimit; - - /* To Enable Hidden ssid */ - wpt_uint8 bHiddenSSIDEn; - - /* To Enable Disable FW Proxy Probe Resp */ - wpt_uint8 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*/ - wpt_uint8 ucEDCAParamsValid; - - /*EDCA Parameters for BK*/ - WDI_EdcaParamRecord wdiBKEDCAParams; - - /*EDCA Parameters for BE*/ - WDI_EdcaParamRecord wdiBEEDCAParams; - - /*EDCA Parameters for VI*/ - WDI_EdcaParamRecord wdiVIEDCAParams; - - /*EDCA Parameters for VO*/ - WDI_EdcaParamRecord wdiVOEDCAParams; - -#ifdef WLAN_FEATURE_VOWIFI - /*max power to be used after applying the power constraint, if any */ - wpt_int8 cMaxTxPower; -#endif - - /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */ - wpt_uint8 ucPersona; - - /* Spectrum Mangement Indicator */ - wpt_uint8 bSpectrumMgtEn; - -#ifdef WLAN_FEATURE_VOWIFI_11R - wpt_uint8 bExtSetStaKeyParamValid; - WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam; -#endif - -#ifdef WLAN_FEATURE_11AC - wpt_uint8 ucVhtCapableSta; - wpt_uint8 ucVhtTxChannelWidthSet; -#endif - -}WDI_ConfigBSSReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_PostAssocReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Config STA arguments.*/ - WDI_ConfigStaReqInfoType wdiSTAParams; - - /*Config BSS Arguments*/ - WDI_ConfigBSSReqInfoType wdiBSSParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_PostAssocReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_ConfigBSSReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Info for the Join request that will be sent down to the device*/ - WDI_ConfigBSSReqInfoType wdiReqInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ConfigBSSReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_SetSTAKeyReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Key Info*/ - WDI_SetSTAKeyReqInfoType wdiKeyInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetSTAKeyReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_RemoveSTAKeyReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*STA Index*/ - wpt_uint8 ucSTAIdx; - - /*Encryption Type used with peer*/ - WDI_EncryptType wdiEncType; - - /*Key Id*/ - wpt_uint8 ucKeyId; - - /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP, - the same key is used for both broadcast and unicast.*/ - wpt_uint8 ucUnicast; -}WDI_RemoveSTAKeyReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_RemoveSTAKeyReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Key Info */ - WDI_RemoveSTAKeyReqInfoType wdiKeyInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_RemoveSTAKeyReqParamsType; - -/*--------------------------------------------------------------------------- - QOS Parameters ----------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - WDI_TSInfoTfc ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint16 ackPolicy:2; - wpt_uint16 userPrio:3; - wpt_uint16 psb:1; - wpt_uint16 aggregation : 1; - wpt_uint16 accessPolicy : 2; - wpt_uint16 direction : 2; - wpt_uint16 tsid : 4; - wpt_uint16 trafficType : 1; -} WDI_TSInfoTfc; - -/*--------------------------------------------------------------------------- - WDI_TSInfoSch ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 rsvd : 7; - wpt_uint8 schedule : 1; -} WDI_TSInfoSch; - -/*--------------------------------------------------------------------------- - WDI_TSInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_TSInfoTfc wdiTraffic; - WDI_TSInfoSch wdiSchedule; -} WDI_TSInfoType; - -/*--------------------------------------------------------------------------- - WDI_TspecIEType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucType; - wpt_uint8 ucLength; - WDI_TSInfoType wdiTSinfo; - wpt_uint16 usNomMsduSz; - wpt_uint16 usMaxMsduSz; - wpt_uint32 uMinSvcInterval; - wpt_uint32 uMaxSvcInterval; - wpt_uint32 uInactInterval; - wpt_uint32 uSuspendInterval; - wpt_uint32 uSvcStartTime; - wpt_uint32 uMinDataRate; - wpt_uint32 uMeanDataRate; - wpt_uint32 uPeakDataRate; - wpt_uint32 uMaxBurstSz; - wpt_uint32 uDelayBound; - wpt_uint32 uMinPhyRate; - wpt_uint16 usSurplusBw; - wpt_uint16 usMediumTime; -}WDI_TspecIEType; - -/*--------------------------------------------------------------------------- - WDI_AddTSReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*STA Index*/ - wpt_uint8 ucSTAIdx; - - /*Identifier for TSpec*/ - wpt_uint16 ucTspecIdx; - - /*Tspec IE negotiated OTA*/ - WDI_TspecIEType wdiTspecIE; - - /*UAPSD delivery and trigger enabled flags */ - wpt_uint8 ucUapsdFlags; - - /*SI for each AC*/ - wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC]; - - /*Suspend Interval for each AC*/ - wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC]; - - /*DI for each AC*/ - wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC]; - -}WDI_AddTSReqInfoType; - - -/*--------------------------------------------------------------------------- - WDI_AddTSReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*TSpec Info */ - WDI_AddTSReqInfoType wdiTsInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_AddTSReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelTSReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*STA Index*/ - wpt_uint8 ucSTAIdx; - - /*Identifier for TSpec*/ - wpt_uint16 ucTspecIdx; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; -}WDI_DelTSReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_DelTSReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Del TSpec Info*/ - WDI_DelTSReqInfoType wdiDelTSInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_DelTSReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_UpdateEDCAInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSS Index of the BSS*/ - wpt_uint16 ucBssIdx; - - /*EDCA params for BE*/ - WDI_EdcaParamRecord wdiEdcaBEInfo; - - /*EDCA params for BK*/ - WDI_EdcaParamRecord wdiEdcaBKInfo; - - /*EDCA params for VI*/ - WDI_EdcaParamRecord wdiEdcaVIInfo; - - /*EDCA params for VO*/ - WDI_EdcaParamRecord wdiEdcaVOInfo; - -}WDI_UpdateEDCAInfoType; - -/*--------------------------------------------------------------------------- - WDI_UpdateEDCAParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*EDCA Info */ - WDI_UpdateEDCAInfoType wdiEDCAInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_UpdateEDCAParamsType; - -/*--------------------------------------------------------------------------- - WDI_AddBASessionReqinfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which BA is added..*/ - wpt_uint8 ucSTAIdx; - - /*The peer mac address*/ - wpt_macAddr macPeerAddr; - - /*TID for which BA was negotiated*/ - wpt_uint8 ucBaTID; - - /*Delayed or imediate */ - wpt_uint8 ucBaPolicy; - - /*The number of buffers for this TID (baTID)*/ - wpt_uint16 usBaBufferSize; - - /*BA timeout in TU's*/ - wpt_uint16 usBaTimeout; - - /*b0..b3 - Fragment Number - Always set to 0 - b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/ - wpt_uint16 usBaSSN; - - /*Originator/Recipient*/ - wpt_uint8 ucBaDirection; - -}WDI_AddBASessionReqinfoType; - - -/*--------------------------------------------------------------------------- - WDI_AddBASessionReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BA Session Info Type*/ - WDI_AddBASessionReqinfoType wdiBASessionInfoType; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_AddBASessionReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_AddBASessionRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /* Dialog token */ - wpt_uint8 ucBaDialogToken; - - /* TID for which the BA session has been setup */ - wpt_uint8 ucBaTID; - - /* BA Buffer Size allocated for the current BA session */ - wpt_uint8 ucBaBufferSize; - - /* BA session ID */ - wpt_uint16 usBaSessionID; - - /* Reordering Window buffer */ - wpt_uint8 ucWinSize; - - /*Station Index to id the sta */ - wpt_uint8 ucSTAIdx; - - /* Starting Sequence Number */ - wpt_uint16 usBaSSN; - -}WDI_AddBASessionRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_AddBAReqinfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which BA is added..*/ - wpt_uint8 ucSTAIdx; - - /* Session Id */ - wpt_uint8 ucBaSessionID; - - /* Reorder Window Size */ - wpt_uint8 ucWinSize; - -#ifdef FEATURE_ON_CHIP_REORDERING - wpt_boolean bIsReorderingDoneOnChip; -#endif - -}WDI_AddBAReqinfoType; - - -/*--------------------------------------------------------------------------- - WDI_AddBAReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BA Info Type*/ - WDI_AddBAReqinfoType wdiBAInfoType; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_AddBAReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_AddBARspinfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /* Dialog token */ - wpt_uint8 ucBaDialogToken; - -}WDI_AddBARspinfoType; - -/*--------------------------------------------------------------------------- - WDI_TriggerBAReqCandidateType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* STA index */ - wpt_uint8 ucSTAIdx; - - /* TID bit map for the STA's*/ - wpt_uint8 ucTidBitmap; - -}WDI_TriggerBAReqCandidateType; - - -/*--------------------------------------------------------------------------- - WDI_TriggerBAReqinfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which BA is added..*/ - wpt_uint8 ucSTAIdx; - - /* Session Id */ - wpt_uint8 ucBASessionID; - - /* Trigger BA Request candidate count */ - wpt_uint16 usBACandidateCnt; - - /* WDI_TriggerBAReqCandidateType followed by this*/ - -}WDI_TriggerBAReqinfoType; - - -/*--------------------------------------------------------------------------- - WDI_TriggerBAReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BA Trigger Info Type*/ - WDI_TriggerBAReqinfoType wdiTriggerBAInfoType; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_TriggerBAReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_AddBAInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint16 fBaEnable : 1; - wpt_uint16 startingSeqNum: 12; - wpt_uint16 reserved : 3; -}WDI_AddBAInfoType; - -/*--------------------------------------------------------------------------- - WDI_TriggerBARspCandidateType ----------------------------------------------------------------------------*/ -#define STA_MAX_TC 8 - -typedef struct -{ - /* STA index */ - wpt_macAddr macSTA; - - /* BA Info */ - WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC]; -}WDI_TriggerBARspCandidateType; - -/*--------------------------------------------------------------------------- - WDI_TriggerBARspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /* Trigger BA response candidate count */ - wpt_uint16 usBaCandidateCnt; - - /* WDI_TriggerBARspCandidateType followed by this*/ - -}WDI_TriggerBARspParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelBAReqinfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which BA is added..*/ - wpt_uint8 ucSTAIdx; - - /*TID for which BA was negotiated*/ - wpt_uint8 ucBaTID; - - /*Originator/Recipient*/ - wpt_uint8 ucBaDirection; - -}WDI_DelBAReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_DelBAReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BA Info */ - WDI_DelBAReqinfoType wdiBAInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_DelBAReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_SwitchCHRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*Indicates the channel that WLAN is on*/ - wpt_uint8 ucChannel; - -#ifdef WLAN_FEATURE_VOWIFI - /*HAL fills in the tx power used for mgmt frames in this field.*/ - wpt_int8 ucTxMgmtPower; -#endif - -}WDI_SwitchCHRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_ConfigSTAReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Info for the Join request that will be sent down to the device*/ - WDI_ConfigStaReqInfoType wdiReqInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ConfigSTAReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_UpdateBeaconParamsInfoType ----------------------------------------------------------------------------*/ - -typedef struct -{ - /*BSS Index of the BSS*/ - wpt_uint8 ucBssIdx; - - /*shortPreamble mode. HAL should update all the STA rates when it - receives this message*/ - wpt_uint8 ucfShortPreamble; - /* short Slot time.*/ - wpt_uint8 ucfShortSlotTime; - /* Beacon Interval */ - wpt_uint16 usBeaconInterval; - /*Protection related */ - wpt_uint8 ucllaCoexist; - wpt_uint8 ucllbCoexist; - wpt_uint8 ucllgCoexist; - wpt_uint8 ucHt20MhzCoexist; - wpt_uint8 ucllnNonGFCoexist; - wpt_uint8 ucfLsigTXOPProtectionFullSupport; - wpt_uint8 ucfRIFSMode; - - wpt_uint16 usChangeBitmap; -}WDI_UpdateBeaconParamsInfoType; - -#ifdef WLAN_FEATURE_11AC -typedef struct -{ - wpt_uint16 opMode; - wpt_uint16 staId; -}WDI_UpdateVHTOpMode; -#endif - -/*--------------------------------------------------------------------------- - WDI_UpdateBeaconParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Update Beacon Params Info*/ - WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_UpdateBeaconParamsType; - -/*--------------------------------------------------------------------------- - WDI_SendBeaconParamsInfoType ----------------------------------------------------------------------------*/ - -typedef struct { - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /* Beacon data */ - wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE]; - - /* length of the template */ - wpt_uint32 beaconLength; - - /* TIM IE offset from the beginning of the template.*/ - wpt_uint32 timIeOffset; - - /* P2P IE offset from the beginning of the template */ - wpt_uint16 usP2PIeOffset; -} WDI_SendBeaconParamsInfoType; - -/*--------------------------------------------------------------------------- - WDI_SendBeaconParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Send Beacon Params Info*/ - WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SendBeaconParamsType; - -/*--------------------------------------------------------------------------- - WDI_LinkStateType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_LINK_IDLE_STATE = 0, - WDI_LINK_PREASSOC_STATE = 1, - WDI_LINK_POSTASSOC_STATE = 2, - WDI_LINK_AP_STATE = 3, - WDI_LINK_IBSS_STATE = 4, - - // BT-AMP Case - WDI_LINK_BTAMP_PREASSOC_STATE = 5, - WDI_LINK_BTAMP_POSTASSOC_STATE = 6, - WDI_LINK_BTAMP_AP_STATE = 7, - WDI_LINK_BTAMP_STA_STATE = 8, - - // Reserved for HAL internal use - WDI_LINK_LEARN_STATE = 9, - WDI_LINK_SCAN_STATE = 10, - WDI_LINK_FINISH_SCAN_STATE = 11, - WDI_LINK_INIT_CAL_STATE = 12, - WDI_LINK_FINISH_CAL_STATE = 13, - WDI_LINK_LISTEN_STATE = 14, - WDI_LINK_SEND_ACTION_STATE = 15, - WDI_LINK_MAX = 0x7FFFFFFF -} WDI_LinkStateType; - -/*--------------------------------------------------------------------------- - WDI_SetLinkReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /*Link state*/ - WDI_LinkStateType wdiLinkState; - - /*BSSID of the BSS*/ - wpt_macAddr macSelfStaMacAddr; -}WDI_SetLinkReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetLinkReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Link Info*/ - WDI_SetLinkReqInfoType wdiLinkInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetLinkReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_GetStatsParamsInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which Get Stats are requested..*/ - wpt_uint8 ucSTAIdx; - - /* categories of stats requested */ - wpt_uint32 uStatsMask; -}WDI_GetStatsParamsInfoType; - -/*--------------------------------------------------------------------------- - WDI_GetStatsReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Get Stats Params Info*/ - WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_GetStatsReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_GetStatsRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*message type is same as the request type*/ - wpt_uint16 usMsgType; - - /* length of the entire request, includes the pStatsBuf length too*/ - wpt_uint16 usMsgLen; - - /*Result of the operation*/ - WDI_Status wdiStatus; - - /*Indicates the station for which Get Stats are requested..*/ - wpt_uint8 ucSTAIdx; - - /* categories of stats requested */ - wpt_uint32 uStatsMask; - - /* The Stats buffer starts here and can be an aggregate of more than one statistics - * structure depending on statsMask.*/ -}WDI_GetStatsRspParamsType; - -#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR) -/*--------------------------------------------------------------------------- - WDI_GetRoamRssiParamsInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which Get Stats are requested..*/ - wpt_uint8 ucSTAIdx; - - /* categories of stats requested */ - wpt_uint32 uStatsMask; -}WDI_GetRoamRssiParamsInfoType; - -/*--------------------------------------------------------------------------- - WDI_GetRoamRssiReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Get Roam Rssi Params Info*/ - WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_GetRoamRssiReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_GetRoamRssiRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - - /*Indicates the station for which Get Stats are requested..*/ - wpt_uint8 ucSTAIdx; - - /* roam rssi requested */ - wpt_int8 rssi; - - /* The Stats buffer starts here and can be an aggregate of more than one statistics - * structure depending on statsMask.*/ -}WDI_GetRoamRssiRspParamsType; -#endif - -#ifdef FEATURE_WLAN_ESE -/*--------------------------------------------------------------------------- - WDI_TSMStatsParamsInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the station for which Get Stats are requested..*/ - wpt_uint8 ucTid; - - wpt_macAddr bssid; -}WDI_TSMStatsParamsInfoType; - -/*--------------------------------------------------------------------------- - WDI_TSMStatsReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Get TSM Stats Params Info*/ - WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo; - - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - -}WDI_TSMStatsReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_TSMStatsRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Indicates the status of the operation */ - WDI_Status wdiStatus; - - wpt_uint16 UplinkPktQueueDly; - wpt_uint16 UplinkPktQueueDlyHist[4]; - wpt_uint32 UplinkPktTxDly; - wpt_uint16 UplinkPktLoss; - wpt_uint16 UplinkPktCount; - wpt_uint8 RoamingCount; - wpt_uint16 RoamingDly; -}WDI_TSMStatsRspParamsType; - - -#endif -/*--------------------------------------------------------------------------- - WDI_UpdateCfgReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*This is a TLV formatted buffer containing all config values that can - be set through the DAL Interface - - The TLV is expected to be formatted like this: - - 0 7 15 31 .... - | CONFIG ID | CFG LEN | RESERVED | CFG BODY | - - Or from a C construct point of VU it would look like this: - - typedef struct WPT_PACK_POST - { - #ifdef WPT_BIG_ENDIAN - wpt_uint32 ucCfgId:8; - wpt_uint32 ucCfgLen:8; - wpt_uint32 usReserved:16; - #else - wpt_uint32 usReserved:16; - wpt_uint32 ucCfgLen:8; - wpt_uint32 ucCfgId:8; - #endif - - wpt_uint8 ucCfgBody[ucCfgLen]; - }WDI_ConfigType; - - Multiple such tuplets are to be placed in the config buffer. One for - each required configuration item: - - | TLV 1 | TLV2 | .... - - The buffer is expected to be a flat area of memory that can be manipulated - with standard memory routines. - - For more info please check paragraph 2.3.1 Config Structure from the - HAL LLD. - - For a list of accepted configuration list and IDs please look up - wlan_qct_dal_cfg.h - */ - void* pConfigBuffer; - - /*Length of the config buffer above*/ - wpt_uint32 uConfigBufferLen; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_UpdateCfgReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_UpdateProbeRspTemplateInfoType ----------------------------------------------------------------------------*/ -//Default Beacon template size -#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180 - -#define WDI_PROBE_REQ_BITMAP_IE_LEN 8 - -typedef struct -{ - /*BSSID for which the Probe Template is to be used*/ - wpt_macAddr macBSSID; - - /*Probe response template*/ - wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE]; - - /*Template Len*/ - wpt_uint32 uProbeRespTemplateLen; - - /*Bitmap for the IEs that are to be handled at SLM level*/ - wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN]; - -}WDI_UpdateProbeRspTemplateInfoType; - -/*--------------------------------------------------------------------------- - WDI_UpdateProbeRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Link Info*/ - WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_UpdateProbeRspTemplateParamsType; - -/*--------------------------------------------------------------------------- - WDI_NvDownloadReqBlobInfo ----------------------------------------------------------------------------*/ - -typedef struct -{ - /* Blob starting address*/ - void *pBlobAddress; - - /* Blob size */ - wpt_uint32 uBlobSize; - -}WDI_NvDownloadReqBlobInfo; - -/*--------------------------------------------------------------------------- - WDI_NvDownloadReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*NV Blob Info*/ - WDI_NvDownloadReqBlobInfo wdiBlobInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - -}WDI_NvDownloadReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_NvDownloadRspInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - -}WDI_NvDownloadRspInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetMaxTxPowerInfoType ----------------------------------------------------------------------------*/ - -typedef struct -{ - /*BSSID is needed to identify which session issued this request. As the request has - power constraints, this should be applied only to that session*/ - wpt_macAddr macBSSId; - - - wpt_macAddr macSelfStaMacAddr; - - /* In request power == MaxTxpower to be used.*/ - wpt_int8 ucPower; - -}WDI_SetMaxTxPowerInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetTxPowerInfoType ----------------------------------------------------------------------------*/ - -typedef struct -{ - wpt_uint8 bssIdx; - /* In request power == MaxTxpower to be used.*/ - wpt_uint8 ucPower; - -}WDI_SetTxPowerInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetMaxTxPowerParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Link Info*/ - WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetMaxTxPowerParamsType; - -/*--------------------------------------------------------------------------- - WDI_Band ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_BAND_ALL, - WDI_BAND_24, - WDI_BAND_5G, - WDI_BAND_MAX, -}eWDIBand; - -/*--------------------------------------------------------------------------- - WDI_MaxTxPowerPerBandInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - eWDIBand bandInfo; - /* In request power == MaxTxpower to be used.*/ - wpt_uint8 ucPower; -}WDI_MaxTxPowerPerBandInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetMaxTxPowerPerBandParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Link Info*/ - WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetMaxTxPowerPerBandParamsType; - -/*--------------------------------------------------------------------------- - WDI_SetTxPowerParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Link Info*/ - WDI_SetTxPowerInfoType wdiTxPowerInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetTxPowerParamsType; - -/*--------------------------------------------------------------------------- - WDI_SetMaxTxPowerRspMsg ----------------------------------------------------------------------------*/ - -typedef struct -{ - /* In response, power==tx power used for management frames*/ - wpt_int8 ucPower; - - /*Result of the operation*/ - WDI_Status wdiStatus; - -}WDI_SetMaxTxPowerRspMsg; - -/*--------------------------------------------------------------------------- - WDI_SetMaxTxPowerPerBandRspMsg ----------------------------------------------------------------------------*/ -typedef struct -{ - /* In response, power==tx power used for management frames*/ - wpt_int8 ucPower; - - /*Result of the operation*/ - WDI_Status wdiStatus; - -}WDI_SetMaxTxPowerPerBandRspMsg; - -/*--------------------------------------------------------------------------- - WDI_SetTxPowerRspMsg ----------------------------------------------------------------------------*/ - -typedef struct -{ - /* In response, power==tx power used for management frames*/ - wpt_int8 ucPower; - - /*Result of the operation*/ - WDI_Status wdiStatus; - -}WDI_SetTxPowerRspMsg; - -typedef struct -{ - wpt_uint8 ucOpp_ps; - wpt_uint32 uCtWindow; - wpt_uint8 ucCount; - wpt_uint32 uDuration; - wpt_uint32 uInterval; - wpt_uint32 uSingle_noa_duration; - wpt_uint8 ucPsSelection; -}WDI_SetP2PGONOAReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetP2PGONOAReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*P2P GO NOA Req*/ - WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetP2PGONOAReqParamsType; - -#define WDI_MAX_SUPP_CHANNELS 128 -#define WDI_MAX_SUPP_OPER_CLASSES 32 - -typedef struct -{ - wpt_uint16 uStaIdx; - wpt_uint8 uIsResponder; - wpt_uint8 uUapsdQueues; - wpt_uint8 uMaxSp; - wpt_uint8 uIsBufSta; - wpt_uint8 uIsOffChannelSupported; - wpt_uint8 peerCurrOperClass; - wpt_uint8 selfCurrOperClass; - wpt_uint8 validChannelsLen; - wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS]; - wpt_uint8 validOperClassesLen; - wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES]; -}WDI_SetTDLSLinkEstablishReqInfoType; -/*--------------------------------------------------------------------------- - WDI_SetTDLSLinkEstablishReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*TDLS Link Establish Req*/ - WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetTDLSLinkEstablishReqParamsType; - - -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - - /*STA Idx*/ - wpt_uint16 uStaIdx; -}WDI_SetTdlsLinkEstablishReqResp; - -/*--------------------------------------------------------------------------- - WDI_SetAddSTASelfParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Self Station MAC address*/ - wpt_macAddr selfMacAddr; - - /*Self STA device mode*/ - wpt_uint32 currDeviceMode; - - /*Status of the operation*/ - wpt_uint32 uStatus; -}WDI_AddSTASelfInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetAddSTASelfParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Add Sta Self Req */ - WDI_AddSTASelfInfoType wdiAddSTASelfInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_AddSTASelfReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_AddSTASelfRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*STA Idx allocated by HAL*/ - wpt_uint8 ucSTASelfIdx; - - /* DPU Index (IGTK, PTK, GTK all same) */ - wpt_uint8 dpuIdx; - - /* DPU Signature */ - wpt_uint8 dpuSignature; - - /*Self STA Mac*/ - wpt_macAddr macSelfSta; - -}WDI_AddSTASelfRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelSTASelfReqParamsType - Del Sta Self info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_macAddr selfMacAddr; - -}WDI_DelSTASelfInfoType; - -/*--------------------------------------------------------------------------- - WDI_DelSTASelfReqParamsType - Del Sta Self info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Del Sta Self Info Type */ - WDI_DelSTASelfInfoType wdiDelStaSelfInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_DelSTASelfReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelSTASelfRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/ -// wpt_uint8 ucSTAIdx; -}WDI_DelSTASelfRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_UapsdInfoType - UAPSD parameters passed per AC to WDA from UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucSTAIdx; // STA index - wpt_uint8 ucAc; // Access Category - wpt_uint8 ucUp; // User Priority - wpt_uint32 uSrvInterval; // Service Interval - wpt_uint32 uSusInterval; // Suspend Interval - wpt_uint32 uDelayInterval; // Delay Interval -} WDI_UapsdInfoType; - -/*--------------------------------------------------------------------------- - WDI_SetUapsdAcParamsReqParamsType - UAPSD parameters passed per AC to WDI from WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Enter BMPS Info Type, same as tEnterBmpsParams */ - WDI_UapsdInfoType wdiUapsdInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetUapsdAcParamsReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_EnterBmpsReqinfoType - Enter BMPS parameters passed to WDA from UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - //TBTT value derived from the last beacon - wpt_uint8 ucBssIdx; - wpt_uint64 uTbtt; - wpt_uint8 ucDtimCount; - //DTIM period given to HAL during association may not be valid, - //if association is based on ProbeRsp instead of beacon. - wpt_uint8 ucDtimPeriod; - /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program - DXE when DXE wakes up from power save*/ - unsigned int dxePhyAddr; - - // For ESE and 11R Roaming - wpt_uint32 rssiFilterPeriod; - wpt_uint32 numBeaconPerRssiAverage; - wpt_uint8 bRssiFilterEnable; -}WDI_EnterBmpsReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_EnterBmpsReqParamsType - Enter BMPS parameters passed to WDI from WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Enter BMPS Info Type, same as tEnterBmpsParams */ - WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_EnterBmpsReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_EnterBmpsReqParamsType - Enter BMPS parameters passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BssIDX of the session*/ - wpt_uint8 bssIdx; -}WDI_EnterBmpsRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_ExitBmpsReqinfoType - Exit BMPS parameters passed to WDA from UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucSendDataNull; - wpt_uint8 bssIdx; -}WDI_ExitBmpsReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_ExitBmpsReqParamsType - Exit BMPS parameters passed to WDI from WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Exit BMPS Info Type, same as tExitBmpsParams */ - WDI_ExitBmpsReqinfoType wdiExitBmpsInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ExitBmpsReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_ExitBmpsReqParamsType - Exit BMPS parameters passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BssIDX of the session*/ - wpt_uint8 bssIdx; -}WDI_ExitBmpsRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_EnterUapsdReqinfoType - Enter UAPSD parameters passed to WDA from UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucBkDeliveryEnabled:1; - wpt_uint8 ucBeDeliveryEnabled:1; - wpt_uint8 ucViDeliveryEnabled:1; - wpt_uint8 ucVoDeliveryEnabled:1; - wpt_uint8 ucBkTriggerEnabled:1; - wpt_uint8 ucBeTriggerEnabled:1; - wpt_uint8 ucViTriggerEnabled:1; - wpt_uint8 ucVoTriggerEnabled:1; - wpt_uint8 bssIdx; -}WDI_EnterUapsdReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_EnterUapsdRspParamsType - Enter UAPSD parameters passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BssIDX of the session*/ - wpt_uint8 bssIdx; -}WDI_EnterUapsdRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_EnterUapsdReqinfoType - Enter UAPSD parameters passed to WDI from WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Enter UAPSD Info Type, same as tUapsdParams */ - WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_EnterUapsdReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_UpdateUapsdReqinfoType - Update UAPSD parameters passed to WDA from UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucSTAIdx; - wpt_uint8 ucUapsdACMask; - wpt_uint32 uMaxSpLen; -}WDI_UpdateUapsdReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_ExitUapsdReqinfoType - Exit UAPSD parameters passed to WDA from UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 bssIdx; -}WDI_ExitUapsdReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_ExitUapsdReqParamsType - Exit UAPSD parameters passed to WDI from WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Exit UAPSD Info Type, same as tUapsdParams */ - WDI_ExitUapsdReqinfoType wdiExitUapsdInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ExitUapsdReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_ExitUapsdRspParamsType - Exit UAPSD parameters passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - - /*BssIDX of the session*/ - wpt_uint8 bssIdx; -}WDI_ExitUapsdRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_UpdateUapsdReqParamsType - Update UAPSD parameters passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Update UAPSD Info Type, same as tUpdateUapsdParams */ - WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_UpdateUapsdReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_ConfigureRxpFilterReqParamsType - RXP filter parameters passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Mode of Mcast and Bcast filters configured */ - wpt_uint8 ucSetMcstBcstFilterSetting; - - /* Mcast Bcast Filters enable/disable*/ - wpt_uint8 ucSetMcstBcstFilter; -}WDI_RxpFilterReqParamsType; - -typedef struct -{ - /* Rxp Filter */ - WDI_RxpFilterReqParamsType wdiRxpFilterParam; - - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ConfigureRxpFilterReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_BeaconFilterInfoType - Beacon Filtering data structures passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint16 usCapabilityInfo; - wpt_uint16 usCapabilityMask; - wpt_uint16 usBeaconInterval; - wpt_uint16 usIeNum; - wpt_uint8 bssIdx; - wpt_uint8 reserved; -}WDI_BeaconFilterInfoType; - -/*--------------------------------------------------------------------------- - WDI_BeaconFilterReqParamsType - Beacon Filtering parameters passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Beacon Filtering Info Type, same as tBeaconFilterMsg */ - WDI_BeaconFilterInfoType wdiBeaconFilterInfo; - /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the - copy of params from WDA to WDI */ - wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN]; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_BeaconFilterReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_RemBeaconFilterInfoType - Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucIeCount; - wpt_uint8 ucRemIeId[1]; -}WDI_RemBeaconFilterInfoType; - -/*--------------------------------------------------------------------------- - WDI_RemBeaconFilterReqParamsType - Beacon Filtering parameters (to be reomoved)passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Beacon Filtering Info Type, same as tBeaconFilterMsg */ - WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_RemBeaconFilterReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_RSSIThresholdsType - RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_int8 ucRssiThreshold1 : 8; - wpt_int8 ucRssiThreshold2 : 8; - wpt_int8 ucRssiThreshold3 : 8; - wpt_uint8 bRssiThres1PosNotify : 1; - wpt_uint8 bRssiThres1NegNotify : 1; - wpt_uint8 bRssiThres2PosNotify : 1; - wpt_uint8 bRssiThres2NegNotify : 1; - wpt_uint8 bRssiThres3PosNotify : 1; - wpt_uint8 bRssiThres3NegNotify : 1; - wpt_uint8 bReserved10 : 2; -} WDI_RSSIThresholdsType; - -/*--------------------------------------------------------------------------- - WDI_SetRSSIThresholdsReqParamsType - RSSI thresholds parameters (to be reomoved)passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */ - WDI_RSSIThresholdsType wdiRSSIThresholdsInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetRSSIThresholdsReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_HostOffloadReqType - host offload info passed to WDA form UMAC ----------------------------------------------------------------------------*/ -#ifdef WLAN_NS_OFFLOAD -typedef struct -{ - wpt_uint8 srcIPv6Addr[16]; - wpt_uint8 selfIPv6Addr[16]; - //Only support 2 possible Network Advertisement IPv6 address - wpt_uint8 targetIPv6Addr1[16]; - wpt_uint8 targetIPv6Addr2[16]; - wpt_uint8 selfMacAddr[6]; - wpt_uint8 srcIPv6AddrValid : 1; - wpt_uint8 targetIPv6Addr1Valid : 1; - wpt_uint8 targetIPv6Addr2Valid : 1; - wpt_uint8 slotIdx; -} WDI_NSOffloadParams; -#endif //WLAN_NS_OFFLOAD - -typedef struct -{ - wpt_uint8 ucOffloadType; - wpt_uint8 ucEnableOrDisable; - wpt_macAddr bssId; - union - { - wpt_uint8 aHostIpv4Addr [4]; - wpt_uint8 aHostIpv6Addr [16]; - } params; -} WDI_HostOffloadReqType; - -/*--------------------------------------------------------------------------- - WDI_HostOffloadReqParamsType - host offload info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Host offload Info Type, same as tHalHostOffloadReq */ - WDI_HostOffloadReqType wdiHostOffloadInfo; -#ifdef WLAN_NS_OFFLOAD - WDI_NSOffloadParams wdiNsOffloadParams; -#endif //WLAN_NS_OFFLOAD - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_HostOffloadReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_KeepAliveReqType - Keep Alive info passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucPacketType; - wpt_uint32 ucTimePeriod; - wpt_uint8 aHostIpv4Addr[4]; - wpt_uint8 aDestIpv4Addr[4]; - wpt_uint8 aDestMacAddr[6]; - wpt_macAddr bssId; -} WDI_KeepAliveReqType; - -/*--------------------------------------------------------------------------- - WDI_KeepAliveReqParamsType - Keep Alive passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Keep Alive Info Type, same as tHalKeepAliveReq */ - WDI_KeepAliveReqType wdiKeepAliveInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_KeepAliveReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlAddBcPtrnInfoType - Wowl add ptrn info passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucPatternId; // Pattern ID - // Pattern byte offset from beginning of the 802.11 packet to start of the - // wake-up pattern - wpt_uint8 ucPatternByteOffset; - wpt_uint8 ucPatternSize; // Non-Zero Pattern size - wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern - wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size - wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask - wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern - wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask - wpt_macAddr bssId; -} WDI_WowlAddBcPtrnInfoType; - -/*--------------------------------------------------------------------------- - WDI_WowlAddBcPtrnReqParamsType - Wowl add ptrn info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */ - WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_WowlAddBcPtrnReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlAddBcPtrnRspParamsType - Wowl add ptrn info passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - /*BssIDX of the session*/ - wpt_uint8 bssIdx; -}WDI_WowlAddBcPtrnRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlDelBcPtrnInfoType - Wowl add ptrn info passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Pattern ID of the wakeup pattern to be deleted */ - wpt_uint8 ucPatternId; - wpt_macAddr bssId; -} WDI_WowlDelBcPtrnInfoType; - -/*--------------------------------------------------------------------------- - WDI_WowlDelBcPtrnReqParamsType - Wowl add ptrn info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */ - WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_WowlDelBcPtrnReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlDelBcPtrnRspParamsType - Wowl Del ptrn info passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; - /*BssIDX of the session*/ - wpt_uint8 bssIdx; -}WDI_WowlDelBcPtrnRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlEnterInfoType - Wowl enter info passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Enables/disables magic packet filtering */ - wpt_uint8 ucMagicPktEnable; - - /* Magic pattern */ - wpt_macAddr 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 - */ - wpt_uint8 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 - */ - wpt_uint8 ucUcastPatternFilteringEnable; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Channel Switch Action Frame. - */ - wpt_uint8 ucWowChnlSwitchRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Deauthentication Frame. - */ - wpt_uint8 ucWowDeauthRcv; - - /* This configuration is valid only when magicPktEnable=1. - * It requests hardware to wake up when it receives the - * Disassociation Frame. - */ - wpt_uint8 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). - */ - wpt_uint8 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. - */ - wpt_uint8 ucWowMaxSleepUsec; - -#ifdef WLAN_WAKEUP_EVENTS - /* This configuration directs the WoW packet filtering to look for EAP-ID - * requests embedded in EAPOL frames and use this as a wake source. - */ - wpt_uint8 ucWoWEAPIDRequestEnable; - - /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY - * requests and use this as a wake source. - */ - wpt_uint8 ucWoWEAPOL4WayEnable; - - /* This configuration allows a host wakeup on an network scan offload match. - */ - wpt_uint8 ucWowNetScanOffloadMatch; - - /* This configuration allows a host wakeup on any GTK rekeying error. - */ - wpt_uint8 ucWowGTKRekeyError; - - /* This configuration allows a host wakeup on BSS connection loss. - */ - wpt_uint8 ucWoWBSSConnLoss; -#endif // WLAN_WAKEUP_EVENTS - - /* BSSIDX used to find the current session - */ - wpt_uint8 bssIdx; -} WDI_WowlEnterInfoType; - -/*--------------------------------------------------------------------------- - WDI_WowlEnterReqParamsType - Wowl enter info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */ - WDI_WowlEnterInfoType wdiWowlEnterInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_WowlEnterReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlEnterRsqParamsType - Wowl enter info passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response message*/ - WDI_Status status; - - /* BSSIDX used to find the current session - */ - wpt_uint8 bssIdx; -}WDI_WowlEnterRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlExitInfoType - Wowl exit info passed to WDA form UMAC - ---------------------------------------------------------------------------*/ -typedef struct -{ - /* BSSIDX used to find the current session - */ - wpt_uint8 bssIdx; -} WDI_WowlExitInfoType; - -/*--------------------------------------------------------------------------- - WDI_WowlExitReqParamsType - Wowl exit info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */ - WDI_WowlExitInfoType wdiWowlExitInfo; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_WowlExitReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_WowlExitRspParamsType - Wowl exit info passed from WDI to WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response message*/ - WDI_Status status; - - /* BSSIDX used to find the current session - */ - wpt_uint8 bssIdx; -}WDI_WowlExitRspParamsType; - -/*--------------------------------------------------------------------------- - WDI_ConfigureAppsCpuWakeupStateReqParamsType - Apps Cpu Wakeup State parameters passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Depicts the state of the Apps CPU */ - wpt_boolean bIsAppsAwake; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ConfigureAppsCpuWakeupStateReqParamsType; -/*--------------------------------------------------------------------------- - WDI_FlushAcReqinfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - // Message Type - wpt_uint16 usMesgType; - - // Message Length - wpt_uint16 usMesgLen; - - // Station Index. originates from HAL - wpt_uint8 ucSTAId; - - // TID for which the transmit queue is being flushed - wpt_uint8 ucTid; - -}WDI_FlushAcReqinfoType; - -/*--------------------------------------------------------------------------- - WDI_FlushAcReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*AC Info */ - WDI_FlushAcReqinfoType wdiFlushAcInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_FlushAcReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_BtAmpEventinfoType - BT-AMP Event Structure ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucBtAmpEventType; - -} WDI_BtAmpEventinfoType; - -/*--------------------------------------------------------------------------- - WDI_BtAmpEventParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*BT AMP event Info */ - WDI_BtAmpEventinfoType wdiBtAmpEventInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_BtAmpEventParamsType; - -#ifdef FEATURE_OEM_DATA_SUPPORT - -#ifndef OEM_DATA_REQ_SIZE -#define OEM_DATA_REQ_SIZE 280 -#endif - -#ifndef OEM_DATA_RSP_SIZE -#define OEM_DATA_RSP_SIZE 1724 -#endif - -/*---------------------------------------------------------------------------- - WDI_oemDataReqInfoType -----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_macAddr selfMacAddr; - wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE]; -}WDI_oemDataReqInfoType; - -/*---------------------------------------------------------------------------- - WDI_oemDataReqParamsType -----------------------------------------------------------------------------*/ -typedef struct -{ - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - - /*OEM DATA REQ Info */ - WDI_oemDataReqInfoType wdiOemDataReqInfo; - -}WDI_oemDataReqParamsType; - -/*---------------------------------------------------------------------------- - WDI_oemDataRspParamsType -----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE]; -}WDI_oemDataRspParamsType; - -#endif /* FEATURE_OEM_DATA_SUPPORT */ - -#ifdef WLAN_FEATURE_VOWIFI_11R -/*--------------------------------------------------------------------------- - WDI_AggrAddTSReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*STA Index*/ - wpt_uint8 ucSTAIdx; - - /*Identifier for TSpec*/ - wpt_uint8 ucTspecIdx; - - /*Tspec IE negotiated OTA*/ - WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC]; - - /*UAPSD delivery and trigger enabled flags */ - wpt_uint8 ucUapsdFlags; - - /*SI for each AC*/ - wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC]; - - /*Suspend Interval for each AC*/ - wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC]; - - /*DI for each AC*/ - wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC]; - -}WDI_AggrAddTSReqInfoType; - - -/*--------------------------------------------------------------------------- - WDI_AggrAddTSReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*TSpec Info */ - WDI_AggrAddTSReqInfoType wdiAggrTsInfo; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_AggrAddTSReqParamsType; - -#endif /* WLAN_FEATURE_VOWIFI_11R */ - -/*--------------------------------------------------------------------------- - WDI_FTMCommandReqType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* FTM Command Body length */ - wpt_uint32 bodyLength; - /* Actual FTM Command body */ - void *FTMCommandBody; -}WDI_FTMCommandReqType; - -/*--------------------------------------------------------------------------- - WDI_WlanSuspendInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Mode of Mcast and Bcast filters configured */ - wpt_uint8 ucConfiguredMcstBcstFilterSetting; -}WDI_WlanSuspendInfoType; - -/*--------------------------------------------------------------------------- - WDI_SuspendParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_WlanSuspendInfoType wdiSuspendParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - -}WDI_SuspendParamsType; - -/*--------------------------------------------------------------------------- - WDI_TrafficStatsType - This is collected for each STA ----------------------------------------------------------------------------*/ - -typedef struct -{ - /* TX stats */ - wpt_uint32 txBytesPushed; - wpt_uint32 txPacketsPushed; - - /* RX stats */ - wpt_uint32 rxBytesRcvd; - wpt_uint32 rxPacketsRcvd; - wpt_uint32 rxTimeTotal; -}WDI_TrafficStatsType; - -typedef struct -{ - WDI_TrafficStatsType *pTrafficStats; - wpt_uint32 length; - wpt_uint32 duration; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_TrafficStatsIndType; - -#ifdef WLAN_FEATURE_11W -typedef struct -{ - - wpt_boolean bExcludeUnencrypt; - wpt_macAddr bssid; - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_ExcludeUnencryptIndType; -#endif - -/*--------------------------------------------------------------------------- - WDI_WlanResumeInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Mode of Mcast and Bcast filters configured */ - wpt_uint8 ucConfiguredMcstBcstFilterSetting; -}WDI_WlanResumeInfoType; - -/*--------------------------------------------------------------------------- - WDI_ResumeParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_WlanResumeInfoType wdiResumeParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - -}WDI_ResumeParamsType; - -#ifdef WLAN_FEATURE_GTK_OFFLOAD -/*--------------------------------------------------------------------------- - * WDI_GTK_OFFLOAD_REQ - *--------------------------------------------------------------------------*/ - -typedef struct -{ - wpt_uint32 ulFlags; /* optional flags */ - wpt_uint8 aKCK[16]; /* Key confirmation key */ - wpt_uint8 aKEK[16]; /* key encryption key */ - wpt_uint64 ullKeyReplayCounter; /* replay counter */ - wpt_macAddr bssId; -} WDI_GtkOffloadReqParams; - -typedef struct -{ - WDI_GtkOffloadReqParams gtkOffloadReqParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_GtkOffloadReqMsg; - -/*--------------------------------------------------------------------------- - * WDI_GTK_OFFLOAD_RSP - *--------------------------------------------------------------------------*/ -typedef struct -{ - /* success or failure */ - wpt_uint32 ulStatus; - /*BssIdx of the response */ - wpt_uint8 bssIdx; -} WDI_GtkOffloadRspParams; - -typedef struct -{ - WDI_GtkOffloadRspParams gtkOffloadRspParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_GtkOffloadRspMsg; - - -/*--------------------------------------------------------------------------- -* WDI_GTK_OFFLOAD_GETINFO_REQ -*--------------------------------------------------------------------------*/ -typedef struct -{ - /*BssIdx of the response */ - wpt_macAddr bssId; -} WDI_GtkOffloadGetInfoReqParams; - -typedef struct -{ - - WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams; - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_GtkOffloadGetInfoReqMsg; - -/*--------------------------------------------------------------------------- -* WDI_GTK_OFFLOAD_GETINFO_RSP -*--------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint32 ulStatus; /* success or failure */ - wpt_uint64 ullKeyReplayCounter; /* current replay counter value */ - wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */ - wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */ - wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */ - wpt_macAddr bssId; -} WDI_GtkOffloadGetInfoRspParams; - -typedef struct -{ - WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_GtkOffloadGetInfoRspMsg; -#endif // WLAN_FEATURE_GTK_OFFLOAD - -/*--------------------------------------------------------------------------- - WDI_SuspendResumeRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Status of the response*/ - WDI_Status wdiStatus; -}WDI_SuspendResumeRspParamsType; - -#ifdef FEATURE_WLAN_LPHB -/*--------------------------------------------------------------------------- - WDI Low Power Heart Beat Config request - Copy from sirApi.h to avoid compile error ----------------------------------------------------------------------------*/ -#define WDI_LPHB_FILTER_LEN 64 - -typedef enum -{ - WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001, - WDI_LPHB_SET_TCP_PARAMS_INDID, - WDI_LPHB_SET_TCP_PKT_FILTER_INDID, - WDI_LPHB_SET_UDP_PARAMS_INDID, - WDI_LPHB_SET_UDP_PKT_FILTER_INDID, - WDI_LPHB_SET_NETWORK_INFO_INDID, -} WDI_LPHBIndType; - -typedef struct -{ - wpt_uint8 enable; - wpt_uint8 item; - wpt_uint8 session; -} WDI_LPHBEnableStruct; - -typedef struct -{ - wpt_uint32 srv_ip; - wpt_uint32 dev_ip; - wpt_uint16 src_port; - wpt_uint16 dst_port; - wpt_uint16 timeout; - wpt_uint8 session; - wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN]; - wpt_uint16 timePeriodSec; // in seconds - wpt_uint32 tcpSn; -} WDI_LPHBTcpParamStruct; - -typedef struct -{ - wpt_uint16 length; - wpt_uint8 offset; - wpt_uint8 session; - wpt_uint8 filter[WDI_LPHB_FILTER_LEN]; -} WDI_LPHBTcpFilterStruct; - -typedef struct -{ - wpt_uint32 srv_ip; - wpt_uint32 dev_ip; - wpt_uint16 src_port; - wpt_uint16 dst_port; - wpt_uint16 interval; - wpt_uint16 timeout; - wpt_uint8 session; - wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN]; -} WDI_LPHBUdpParamStruct; - -typedef struct -{ - wpt_uint16 length; - wpt_uint8 offset; - wpt_uint8 session; - wpt_uint8 filter[WDI_LPHB_FILTER_LEN]; -} WDI_LPHBUdpFilterStruct; - -typedef struct -{ - wpt_uint16 cmd; - wpt_uint16 dummy; - union - { - WDI_LPHBEnableStruct lphbEnableReq; - WDI_LPHBTcpParamStruct lphbTcpParamReq; - WDI_LPHBTcpFilterStruct lphbTcpFilterReq; - WDI_LPHBUdpParamStruct lphbUdpParamReq; - WDI_LPHBUdpFilterStruct lphbUdpFilterReq; - } params; -} WDI_LPHBReq; -#endif /* FEATURE_WLAN_LPHB */ - -/*--------------------------------------------------------------------------- - WDI_AuthType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_AUTH_TYPE_ANY = 0, - - WDI_AUTH_TYPE_NONE, - WDI_AUTH_TYPE_OPEN_SYSTEM, - WDI_AUTH_TYPE_SHARED_KEY, - - WDI_AUTH_TYPE_WPA, - WDI_AUTH_TYPE_WPA_PSK, - WDI_AUTH_TYPE_WPA_NONE, - - WDI_AUTH_TYPE_RSN, - WDI_AUTH_TYPE_RSN_PSK, - WDI_AUTH_TYPE_FT_RSN, - WDI_AUTH_TYPE_FT_RSN_PSK, - WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE, - WDI_AUTH_TYPE_WAPI_WAI_PSK, - WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/ - -}WDI_AuthType; - -/*--------------------------------------------------------------------------- - WDI_EdType ----------------------------------------------------------------------------*/ -typedef enum -{ - WDI_ED_ANY = 0, - WDI_ED_NONE, - WDI_ED_WEP40, - WDI_ED_WEP104, - WDI_ED_TKIP, - WDI_ED_CCMP, - WDI_ED_WPI, - WDI_ED_AES_128_CMAC, - WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/ -} WDI_EdType; - -#ifdef FEATURE_WLAN_SCAN_PNO - -/*Max number of channels for a given network supported by PNO*/ -#define WDI_PNO_MAX_NETW_CHANNELS 26 - -/*Max number of channels for a given network supported by PNO*/ -#define WDI_PNO_MAX_NETW_CHANNELS_EX 60 - -/*The max number of programable networks for PNO*/ -#define WDI_PNO_MAX_SUPP_NETWORKS 16 - -/*The max number of scan timers programable in Riva*/ -#define WDI_PNO_MAX_SCAN_TIMERS 10 - -#define WDI_PNO_MAX_PROBE_SIZE 450 - -/*--------------------------------------------------------------------------- - WDI_PNOMode ----------------------------------------------------------------------------*/ -typedef enum -{ - /*Network offload is to start immediately*/ - WDI_PNO_MODE_IMMEDIATE, - - /*Network offload is to start on host suspend*/ - WDI_PNO_MODE_ON_SUSPEND, - - /*Network offload is to start on host resume*/ - WDI_PNO_MODE_ON_RESUME, - WDI_PNO_MODE_MAX = 0xFFFFFFFF -} WDI_PNOMode; - -/* SSID broadcast type */ -typedef enum -{ - WDI_BCAST_UNKNOWN = 0, - WDI_BCAST_NORMAL = 1, - WDI_BCAST_HIDDEN = 2, - - WDI_BCAST_TYPE_MAX = 0xFFFFFFFF -} WDI_SSIDBcastType; - -/*--------------------------------------------------------------------------- - WDI_NetworkType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*The SSID of the preferred network*/ - WDI_MacSSid ssId; - - /*The authentication method of the preferred network*/ - WDI_AuthType wdiAuth; - - /*The encryption method of the preferred network*/ - WDI_EdType wdiEncryption; - - /*SSID broadcast type, normal, hidden or unknown*/ - WDI_SSIDBcastType wdiBcastNetworkType; - - /*channel count - 0 for all channels*/ - wpt_uint8 ucChannelCount; - - /*the actual channels*/ - wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX]; - - /*rssi threshold that a network must meet to be considered, 0 - for any*/ - wpt_uint8 rssiThreshold; -} WDI_NetworkType; - - -/*--------------------------------------------------------------------------- - WDI_ScanTimer ----------------------------------------------------------------------------*/ -typedef struct -{ - /*The timer value*/ - wpt_uint32 uTimerValue; - - /*The amount of time we should be repeating the interval*/ - wpt_uint32 uTimerRepeat; -} WDI_ScanTimer; - -/*--------------------------------------------------------------------------- - WDI_ScanTimersType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*The number of value pair intervals present in the array*/ - wpt_uint8 ucScanTimersCount; - - /*The time-repeat value pairs*/ - WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS]; -} WDI_ScanTimersType; - -/*--------------------------------------------------------------------------- - WDI_PNOScanReqType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Enable or disable PNO feature*/ - wpt_uint8 bEnable; - - /*PNO mode requested*/ - WDI_PNOMode wdiModePNO; - - /*Network count*/ - wpt_uint8 ucNetworksCount; - - /*The networks to look for*/ - WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS]; - - /*Scan timer intervals*/ - WDI_ScanTimersType scanTimers; - - /*Probe template for 2.4GHz band*/ - wpt_uint16 us24GProbeSize; - wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE]; - - /*Probe template for 5GHz band*/ - wpt_uint16 us5GProbeSize; - wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE]; -} WDI_PNOScanReqType; - -/*--------------------------------------------------------------------------- - WDI_PNOScanReqParamsType - PNO info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* PNO Info Type, same as tPrefNetwListParams */ - WDI_PNOScanReqType wdiPNOScanInfo; - /* Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /* The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_PNOScanReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_SetRssiFilterReqParamsType - PNO info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* RSSI Threshold */ - wpt_uint8 rssiThreshold; - /* Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /* The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_SetRssiFilterReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_UpdateScanParamsInfo ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Is 11d enabled*/ - wpt_uint8 b11dEnabled; - - /*Was UMAc able to find the regulatory domain*/ - wpt_uint8 b11dResolved; - - /*Number of channel allowed in the regulatory domain*/ - wpt_uint8 ucChannelCount; - - /*The actual channels allowed in the regulatory domain*/ - wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX]; - - /*Passive min channel time*/ - wpt_uint16 usPassiveMinChTime; - - /*Passive max channel time*/ - wpt_uint16 usPassiveMaxChTime; - - /*Active min channel time*/ - wpt_uint16 usActiveMinChTime; - - /*Active max channel time*/ - wpt_uint16 usActiveMaxChTime; - - /*channel bonding info*/ - wpt_uint8 cbState; -} WDI_UpdateScanParamsInfo; - -/*--------------------------------------------------------------------------- - WDI_UpdateScanParamsInfoType - UpdateScanParams info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* PNO Info Type, same as tUpdateScanParams */ - WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo; - /* Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /* The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_UpdateScanParamsInfoType; -#endif //FEATURE_WLAN_SCAN_PNO - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD - -#define WDI_ROAM_SCAN_MAX_CHANNELS 80 -#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450 -#define WDI_ROAM_SCAN_RESERVED_BYTES 61 - -typedef struct -{ - /*The SSID of the preferred network*/ - WDI_MacSSid ssId; - wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN]; - - /*The authentication method of the preferred network*/ - WDI_AuthType authentication; - - /*The encryption method of the preferred network*/ - WDI_EdType encryption; - WDI_EdType mcencryption; - - /*SSID broadcast type, normal, hidden or unknown*/ - //WDI_SSIDBcastType wdiBcastNetworkType; - - /*channel count - 0 for all channels*/ - wpt_uint8 ChannelCount; - - /*the actual channels*/ - wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS]; - -} WDI_RoamNetworkType; - -typedef struct WDIMobilityDomainInfo -{ - wpt_uint8 mdiePresent; - wpt_uint16 mobilityDomain; -} WDI_MobilityDomainInfo; - -/*--------------------------------------------------------------------------- - WDI_RoamOffloadScanInfo ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_boolean RoamScanOffloadEnabled; - wpt_boolean MAWCEnabled; - wpt_uint8 LookupThreshold; - wpt_uint8 RoamRssiDiff; - wpt_uint8 ChannelCacheType; - wpt_uint8 Command; - wpt_uint8 StartScanReason; - wpt_uint16 NeighborScanTimerPeriod; - wpt_uint16 NeighborRoamScanRefreshPeriod; - wpt_uint16 NeighborScanChannelMinTime; - wpt_uint16 NeighborScanChannelMaxTime; - wpt_uint16 EmptyRefreshScanPeriod; - wpt_uint8 ValidChannelCount; - wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS]; - wpt_boolean IsESEEnabled; - /*Probe template for 2.4GHz band*/ - wpt_uint16 us24GProbeSize; - wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE]; - - /*Probe template for 5GHz band*/ - wpt_uint16 us5GProbeSize; - wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE]; - /*LFR BG Scan will currently look for only one network to which it is initially connected. - * As per requirement, later, the following structure can be used as an array of networks.*/ - WDI_RoamNetworkType ConnectedNetwork; - WDI_MobilityDomainInfo MDID; - wpt_uint8 nProbes; - wpt_uint16 HomeAwayTime; - wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES]; -} WDI_RoamOffloadScanInfo; - -typedef struct -{ - /* Start Roam Candidate Lookup Offload Back Ground Info Type */ - WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo; - /* Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /* The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_RoamScanOffloadReqParamsType; -#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD - -/*--------------------------------------------------------------------------- - WDI_UpdateScanParamsInfo ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Ignore DTIM */ - wpt_uint32 uIgnoreDTIM; - - /*DTIM Period*/ - wpt_uint32 uDTIMPeriod; - - /* Listen Interval */ - wpt_uint32 uListenInterval; - - /* Broadcast Multicas Filter */ - wpt_uint32 uBcastMcastFilter; - - /* Beacon Early Termination */ - wpt_uint32 uEnableBET; - - /* Beacon Early Termination Interval */ - wpt_uint32 uBETInterval; - - /* MAX LI for modulated DTIM */ - wpt_uint32 uMaxLIModulatedDTIM; - -} WDI_SetPowerParamsInfo; - -/*--------------------------------------------------------------------------- - WDI_UpdateScanParamsInfoType - UpdateScanParams info passed to WDI form WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Power params Info Type, same as tSetPowerParamsReq */ - WDI_SetPowerParamsInfo wdiSetPowerParamsInfo; - /* Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /* The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetPowerParamsReqParamsType; - -/*--------------------------------------------------------------------------- - WDI_SetTxPerTrackingConfType - Wowl add ptrn info passed to WDA form UMAC ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */ - wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */ - wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */ - wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */ -} WDI_TxPerTrackingParamType; - -/*--------------------------------------------------------------------------- - WDI_SetTxPerTrackingReqParamsType - Tx PER Tracking parameters passed to WDI from WDA ----------------------------------------------------------------------------*/ -typedef struct -{ - /* Configurations for Tx PER Tracking */ - WDI_TxPerTrackingParamType wdiTxPerTrackingParam; - /*Request status callback offered by UMAC - it is called if the current req - has returned PENDING as status; it delivers the status of sending the message - over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -}WDI_SetTxPerTrackingReqParamsType; - -#ifdef WLAN_FEATURE_PACKET_FILTERING -/*--------------------------------------------------------------------------- - Packet Filtering Parameters ----------------------------------------------------------------------------*/ - -#define WDI_IPV4_ADDR_LEN 4 -#define WDI_MAC_ADDR_LEN 6 -#define WDI_MAX_FILTER_TEST_DATA_LEN 8 -#define WDI_MAX_NUM_MULTICAST_ADDRESS 240 -#define WDI_MAX_NUM_FILTERS 20 -#define WDI_MAX_NUM_TESTS_PER_FILTER 10 - -// -// Receive Filter Parameters -// -typedef enum -{ - WDI_RCV_FILTER_TYPE_INVALID, - WDI_RCV_FILTER_TYPE_FILTER_PKT, - WDI_RCV_FILTER_TYPE_BUFFER_PKT, - WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE -}WDI_ReceivePacketFilterType; - -typedef enum -{ - WDI_FILTER_HDR_TYPE_INVALID, - WDI_FILTER_HDR_TYPE_MAC, - WDI_FILTER_HDR_TYPE_ARP, - WDI_FILTER_HDR_TYPE_IPV4, - WDI_FILTER_HDR_TYPE_IPV6, - WDI_FILTER_HDR_TYPE_UDP, - WDI_FILTER_HDR_TYPE_MAX -}WDI_RcvPktFltProtocolType; - -typedef enum -{ - WDI_FILTER_CMP_TYPE_INVALID, - WDI_FILTER_CMP_TYPE_EQUAL, - WDI_FILTER_CMP_TYPE_MASK_EQUAL, - WDI_FILTER_CMP_TYPE_NOT_EQUAL, - WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL, - WDI_FILTER_CMP_TYPE_MAX -}WDI_RcvPktFltCmpFlagType; - -typedef struct -{ - WDI_RcvPktFltProtocolType protocolLayer; - WDI_RcvPktFltCmpFlagType cmpFlag; -/* Length of the data to compare */ - wpt_uint16 dataLength; -/* from start of the respective frame header */ - wpt_uint8 dataOffset; - wpt_uint8 reserved; /* Reserved field */ -/* Data to compare */ - wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN]; -/* Mask to be applied on the received packet data before compare */ - wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN]; -}WDI_RcvPktFilterFieldParams; - -typedef struct -{ - wpt_uint8 filterId; - wpt_uint8 filterType; - wpt_uint32 numFieldParams; - wpt_uint32 coalesceTime; - wpt_macAddr selfMacAddr; - wpt_macAddr bssId; - WDI_RcvPktFilterFieldParams paramsData[1]; - -}WDI_RcvPktFilterCfgType; - -typedef struct -{ - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - - // Variable length packet filter field params - WDI_RcvPktFilterCfgType wdiPktFilterCfg; -} WDI_SetRcvPktFilterReqParamsType; - -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - /* BSSIDX of the Set Receive Filter - */ - wpt_uint8 bssIdx; -} WDI_SetRcvPktFilterRspParamsType; - -// -// Filter Packet Match Count Parameters -// -typedef struct -{ - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - - /* BSSID of the Match count - */ - wpt_macAddr bssId; -} WDI_RcvFltPktMatchCntReqParamsType; - -typedef struct -{ - wpt_uint8 filterId; - wpt_uint32 matchCnt; -} WDI_RcvFltPktMatchCnt; - -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - - /* BSSIDX of the Match count response - */ - wpt_uint8 bssIdx; - -} WDI_RcvFltPktMatchCntRspParamsType; - -// -// Receive Filter Clear Parameters -// -typedef struct -{ - wpt_uint32 status; /* only valid for response message */ - wpt_uint8 filterId; - wpt_macAddr selfMacAddr; - wpt_macAddr bssId; -}WDI_RcvFltPktClearParam; - -typedef struct -{ - WDI_RcvFltPktClearParam filterClearParam; - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_RcvFltPktClearReqParamsType; - -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - /* BSSIDX of the Match count response - */ - wpt_uint8 bssIdx; - -} WDI_RcvFltPktClearRspParamsType; - -// -// Multicast Address List Parameters -// -typedef struct -{ - wpt_uint32 ulMulticastAddrCnt; - wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS]; - wpt_macAddr selfMacAddr; - wpt_macAddr bssId; -} WDI_RcvFltMcAddrListType; - -typedef struct -{ - WDI_RcvFltMcAddrListType mcAddrList; - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_RcvFltPktSetMcListReqParamsType; - -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - /* BSSIDX of the Match count response - */ - wpt_uint8 bssIdx; -} WDI_RcvFltPktSetMcListRspParamsType; - -#endif // WLAN_FEATURE_PACKET_FILTERING - -/*--------------------------------------------------------------------------- - WDI_HALDumpCmdReqInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*command*/ - wpt_uint32 command; - - /*Arguments*/ - wpt_uint32 argument1; - wpt_uint32 argument2; - wpt_uint32 argument3; - wpt_uint32 argument4; - -}WDI_HALDumpCmdReqInfoType; - -/*--------------------------------------------------------------------------- - WDI_HALDumpCmdReqParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*NV Blob Info*/ - WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; - -}WDI_HALDumpCmdReqParamsType; - - -/*--------------------------------------------------------------------------- - WDI_HALDumpCmdRspParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - /*Result of the operation*/ - WDI_Status wdiStatus; - - /* length of the buffer */ - wpt_uint16 usBufferLen; - - /* Buffer */ - wpt_uint8 *pBuffer; -}WDI_HALDumpCmdRspParamsType; - - -/*--------------------------------------------------------------------------- - WDI_SetTmLevelReqType ----------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint16 tmMode; - wpt_uint16 tmLevel; - void* pUserData; -}WDI_SetTmLevelReqType; - -/*--------------------------------------------------------------------------- - WDI_SetTmLevelRspType ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_Status wdiStatus; - void* pUserData; -}WDI_SetTmLevelRspType; - -#ifdef FEATURE_WLAN_LPHB -/*--------------------------------------------------------------------------- - WDI_LPHBConfigParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - void* pLphsConfIndData; -}WDI_LPHBConfigParamsType; -#endif /* FEATURE_WLAN_LPHB */ - -/*--------------------------------------------------------------------------- - WDI_AddPeriodicTxPtrnInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* MAC Address for the adapter */ - wpt_macAddr macAddr; - - wpt_uint8 ucPtrnId; // Pattern ID - wpt_uint16 ucPtrnSize; // Pattern size - wpt_uint32 usPtrnIntervalMs; // In msec - wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer -} WDI_AddPeriodicTxPtrnInfoType; - -/*--------------------------------------------------------------------------- - WDI_DelPeriodicTxPtrnInfoType ----------------------------------------------------------------------------*/ -typedef struct -{ - /* MAC Address for the adapter */ - wpt_macAddr macAddr; - - /* Bitmap of pattern IDs that needs to be deleted */ - wpt_uint32 ucPatternIdBitmap; -} WDI_DelPeriodicTxPtrnInfoType; - -/*--------------------------------------------------------------------------- - WDI_AddPeriodicTxPtrnParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_AddPeriodicTxPtrnParamsType; - -/*--------------------------------------------------------------------------- - WDI_DelPeriodicTxPtrnParamsType ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pUserData; -} WDI_DelPeriodicTxPtrnParamsType; - - -/*---------------------------------------------------------------------------- - * WDI callback types - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Start response from - the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Stop response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received an Init Scan response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a StartScan response - from the underlying device. - - PARAMETERS - - IN - wdiParams: response params received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a End Scan response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Finish Scan response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Join response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Config BSS response - from the underlying device. - - PARAMETERS - - IN - wdiConfigBSSRsp: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ConfigBSSRspCb)( - WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Del BSS response from - the underlying device. - - PARAMETERS - - IN - wdiDelBSSRsp: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Post Assoc response - from the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_PostAssocRspCb)( - WDI_PostAssocRspParamsType* pwdiPostAssocRsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Del STA response from - the underlying device. - - PARAMETERS - - IN - wdiDelSTARsp: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp, - void* pUserData); - - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set BSS Key response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Remove BSS Key - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set STA Key response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Remove STA Key - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus, - void* pUserData); - - -#ifdef FEATURE_WLAN_ESE -/*--------------------------------------------------------------------------- - WDI_TsmRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a TSM Stats response from the underlying device. - - PARAMETERS - - IN - pTSMStats: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats, - void* pUserData); -#endif - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Add TS response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Del TS response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received an Update EDCA Params - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Add BA response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_AddBASessionRspCb)( - WDI_AddBASessionRspParamsType* wdiAddBASessionRsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Del BA response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Switch Ch response - from the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Config STA response - from the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ConfigSTARspCb)( - WDI_ConfigSTARspParamsType* pwdiConfigSTARsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set Link State - response from the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Get Stats response - from the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp, - void* pUserData); - -#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR) -/*--------------------------------------------------------------------------- - WDI_GetRoamRssiRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Get Roam Rssi response - from the underlying device. - - PARAMETERS - - IN - wdiRspParams: response parameters received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp, - void* pUserData); -#endif - - -/*--------------------------------------------------------------------------- - WDI_StartRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Update Cfg response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_AddBARspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a ADD BA response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_TriggerBARspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a ADD BA response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_UpdateBeaconParamsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Update Beacon Params response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SendBeaconParamsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Send Beacon Params response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDA_SetMaxTxPowerRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a set max Tx Power response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDA_SetMaxTxPowerPerBandRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a - set max Tx Power Per Band response from the underlying device. - - PARAMETERS - - IN - wdiSetMaxTxPowerPerBandRsp: response status received from HAL - pUserData: user data - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg - *wdiSetMaxTxPowerPerBandRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDA_SetTxPowerRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a set max Tx Power response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_UpdateProbeRspTemplateRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Probe RSP Template - Update response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetP2PGONOAReqParamsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a P2P GO NOA Params response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetTDLSLinkEstablishReqParamsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a TDLS Link Establish Req response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp * - wdiSetTdlsLinkEstablishReqRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetPwrSaveCfgCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a set Power Save CFG - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetUapsdAcParamsCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a set UAPSD params - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_EnterImpsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Enter IMPS response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ExitImpsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Exit IMPS response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_EnterBmpsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a enter BMPS response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ExitBmpsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a exit BMPS response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_EnterUapsdRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a enter UAPSD response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ExitUapsdRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a exit UAPSD response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_UpdateUapsdParamsCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a update UAPSD params - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ConfigureRxpFilterCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a config RXP filter - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetBeaconFilterCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a set beacon filter - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_RemBeaconFilterCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a remove beacon filter - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetRSSIThresholdsCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a set RSSI thresholds - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_HostOffloadCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a host offload - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_KeepAliveCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Keep Alive - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_WowlAddBcPtrnCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Wowl add Bcast ptrn - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_WowlDelBcPtrnCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_WowlEnterReqCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Wowl enter - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_WowlExitReqCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Wowl exit - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ConfigureAppsCpuWakeupStateCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a config Apps Cpu Wakeup - State response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus, - void* pUserData); -/*--------------------------------------------------------------------------- - WDI_NvDownloadRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a NV Download response - from the underlying device. - - PARAMETERS - - IN - wdiStatus:response status received from HAL - pUserData:user data - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp, - void* pUserData); -/*--------------------------------------------------------------------------- - WDI_FlushAcRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Flush AC response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_BtAmpEventRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Bt AMP event response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus, - void* pUserData); - -#ifdef FEATURE_OEM_DATA_SUPPORT -/*--------------------------------------------------------------------------- - WDI_oemDataRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Start oem data response from - the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams, - void* pUserData); - -#endif - -/*--------------------------------------------------------------------------- - WDI_HostResumeEventRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Bt AMP event response - from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_HostResumeEventRspCb)( - WDI_SuspendResumeRspParamsType *resumeRspParams, - void* pUserData); - - -#ifdef WLAN_FEATURE_VOWIFI_11R -/*--------------------------------------------------------------------------- - WDI_AggrAddTsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Aggregated Add TS - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus, - void* pUserData); -#endif /* WLAN_FEATURE_VOWIFI_11R */ - -/*--------------------------------------------------------------------------- - WDI_FTMCommandRspCb - - DESCRIPTION - - FTM Command response CB - - PARAMETERS - - IN - ftmCMDRspdata: FTM response data from HAL - pUserData: user data - - - RETURN VALUE - NONE ----------------------------------------------------------------------------*/ -typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata, - void *pUserData); - -/*--------------------------------------------------------------------------- - WDI_AddSTASelfParamsRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Add Sta Self Params - response from the underlying device. - - PARAMETERS - - IN - wdiAddSelfSTARsp: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_AddSTASelfParamsRspCb)( - WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp, - void* pUserData); - - -/*--------------------------------------------------------------------------- - WDI_DelSTASelfRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a host offload - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_DelSTASelfRspCb) -( -WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams, -void* pUserData -); - -#ifdef FEATURE_WLAN_SCAN_PNO -/*--------------------------------------------------------------------------- - WDI_PNOScanCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set PNO - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_PNOScanCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set PNO - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_UpdateScanParamsCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Update Scan Params - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus, - void* pUserData); -#endif // FEATURE_WLAN_SCAN_PNO - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -/*--------------------------------------------------------------------------- - WDI_RoamOffloadScanCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus, - void* pUserData); - -#endif -/*--------------------------------------------------------------------------- - WDI_SetTxPerTrackingRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Tx PER Tracking - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus, - void* pUserData); - -#ifdef WLAN_FEATURE_PACKET_FILTERING -/*--------------------------------------------------------------------------- - WDI_8023MulticastListCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a 8023 Multicast List - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_8023MulticastListCb)( - WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ReceiveFilterSetFilterCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Receive Filter Set Filter - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ReceiveFilterSetFilterCb)( - WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_FilterMatchCountCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Do PC Filter Match Count - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_FilterMatchCountCb)( - WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_ReceiveFilterClearFilterCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Receive Filter Clear Filter - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_ReceiveFilterClearFilterCb)( - WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType, - void* pUserData); -#endif // WLAN_FEATURE_PACKET_FILTERING - -/*--------------------------------------------------------------------------- - WDI_HALDumpCmdRspCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a HAL DUMP Command -response from - the HAL layer. - - PARAMETERS - - IN - wdiHalDumpCmdRsp: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_SetPowerParamsCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set Power Param - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus, - void* pUserData); - -#ifdef WLAN_FEATURE_GTK_OFFLOAD -/*--------------------------------------------------------------------------- - WDI_GtkOffloadCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a GTK offload - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_GtkOffloadGetInfoCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a GTK offload - information response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams, - void* pUserData); -#endif // WLAN_FEATURE_GTK_OFFLOAD - -/*--------------------------------------------------------------------------- - WDI_SetTmLevelCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a Set New TM Level - done response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus, - void* pUserData); - -/*--------------------------------------------------------------------------- - WDI_featureCapsExchangeCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a HAL Feature Capbility - Exchange Response the HAL layer. This callback is put to mantain code - similarity and is not being used right now. - - PARAMETERS - - IN - wdiFeatCapRspParams: response parameters received from HAL - pUserData: user data - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams, - void* pUserData); - -#ifdef WLAN_FEATURE_11AC -typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus, - void* pUserData); -#endif - -#ifdef FEATURE_WLAN_LPHB -typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus, - void* pUserData); -#endif /* FEATURE_WLAN_LPHB */ - -#ifdef FEATURE_WLAN_BATCH_SCAN -/*--------------------------------------------------------------------------- - WDI_SetBatchScanCb - - DESCRIPTION - - This callback is invoked by DAL when it has received a get batch scan - response from the underlying device. - - PARAMETERS - - IN - wdiStatus: response status received from HAL - pUserData: user data - - - - RETURN VALUE - The result code associated with performing the operation ----------------------------------------------------------------------------*/ -typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp); - -#endif - - - -/*======================================================================== - * Function Declarations and Documentation - ==========================================================================*/ - -/*======================================================================== - - INITIALIZATION APIs - -==========================================================================*/ - -/** - @brief WDI_Init is used to initialize the DAL. - - DAL will allocate all the resources it needs. It will open PAL, it will also - open both the data and the control transport which in their turn will open - DXE/SMD or any other drivers that they need. - - @param pOSContext: pointer to the OS context provided by the UMAC - will be passed on to PAL on Open - ppWDIGlobalCtx: output pointer of Global Context - pWdiDevCapability: output pointer of device capability - - @return Result of the function call -*/ -WDI_Status -WDI_Init -( - void* pOSContext, - void** ppWDIGlobalCtx, - WDI_DeviceCapabilityType* pWdiDevCapability, - unsigned int driverType -); - -/** - @brief WDI_Start will be called when the upper MAC is ready to - commence operation with the WLAN Device. Upon the call - of this API the WLAN DAL will pack and send a HAL Start - message to the lower RIVA sub-system if the SMD channel - has been fully opened and the RIVA subsystem is up. - - If the RIVA sub-system is not yet up and running DAL - will queue the request for Open and will wait for the - SMD notification before attempting to send down the - message to HAL. - - WDI_Init must have been called. - - @param wdiStartParams: the start parameters as specified by - the Device Interface - - wdiStartRspCb: callback for passing back the response of - the start operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_Start -( - WDI_StartReqParamsType* pwdiStartParams, - WDI_StartRspCb wdiStartRspCb, - void* pUserData -); - - -/** - @brief WDI_Stop will be called when the upper MAC is ready to - stop any operation with the WLAN Device. Upon the call - of this API the WLAN DAL will pack and send a HAL Stop - message to the lower RIVA sub-system if the DAL Core is - in started state. - - In state BUSY this request will be queued. - - Request will not be accepted in any other state. - - WDI_Start must have been called. - - @param wdiStopParams: the stop parameters as specified by - the Device Interface - - wdiStopRspCb: callback for passing back the response of - the stop operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_Stop -( - WDI_StopReqParamsType* pwdiStopParams, - WDI_StopRspCb wdiStopRspCb, - void* pUserData -); - -/** - @brief WDI_Close will be called when the upper MAC no longer - needs to interract with DAL. DAL will free its control - block. - - It is only accepted in state STOPPED. - - WDI_Stop must have been called. - - @param none - - @see WDI_Stop - @return Result of the function call -*/ -WDI_Status -WDI_Close -( - void -); - - -/** - @brief WDI_Shutdown will be called during 'SSR shutdown' operation. - This will do most of the WDI stop & close - operations without doing any handshake with Riva - - This will also make sure that the control transport - will NOT be closed. - - This request will not be queued. - - - WDI_Start must have been called. - - @param closeTransport: Close control channel if this is set - - @return Result of the function call -*/ -WDI_Status -WDI_Shutdown -( - wpt_boolean closeTransport -); - -/*======================================================================== - - SCAN APIs - -==========================================================================*/ - -/** - @brief WDI_InitScanReq will be called when the upper MAC wants - the WLAN Device to get ready for a scan procedure. Upon - the call of this API the WLAN DAL will pack and send a - HAL Init Scan request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiInitScanParams: the init scan parameters as specified - by the Device Interface - - wdiInitScanRspCb: callback for passing back the response - of the init scan operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_InitScanReq -( - WDI_InitScanReqParamsType* pwdiInitScanParams, - WDI_InitScanRspCb wdiInitScanRspCb, - void* pUserData -); - -/** - @brief WDI_StartScanReq will be called when the upper MAC - wishes to change the Scan channel on the WLAN Device. - Upon the call of this API the WLAN DAL will pack and - send a HAL Start Scan request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_InitScanReq must have been called. - - @param wdiStartScanParams: the start scan parameters as - specified by the Device Interface - - wdiStartScanRspCb: callback for passing back the - response of the start scan operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_InitScanReq - @return Result of the function call -*/ -WDI_Status -WDI_StartScanReq -( - WDI_StartScanReqParamsType* pwdiStartScanParams, - WDI_StartScanRspCb wdiStartScanRspCb, - void* pUserData -); - - -/** - @brief WDI_EndScanReq will be called when the upper MAC is - wants to end scanning for a particular channel that it - had set before by calling Scan Start on the WLAN Device. - Upon the call of this API the WLAN DAL will pack and - send a HAL End Scan request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_StartScanReq must have been called. - - @param wdiEndScanParams: the end scan parameters as specified - by the Device Interface - - wdiEndScanRspCb: callback for passing back the response - of the end scan operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_StartScanReq - @return Result of the function call -*/ -WDI_Status -WDI_EndScanReq -( - WDI_EndScanReqParamsType* pwdiEndScanParams, - WDI_EndScanRspCb wdiEndScanRspCb, - void* pUserData -); - - -/** - @brief WDI_FinishScanReq will be called when the upper MAC has - completed the scan process on the WLAN Device. Upon the - call of this API the WLAN DAL will pack and send a HAL - Finish Scan Request request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_InitScanReq must have been called. - - @param wdiFinishScanParams: the finish scan parameters as - specified by the Device Interface - - wdiFinishScanRspCb: callback for passing back the - response of the finish scan operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_InitScanReq - @return Result of the function call -*/ -WDI_Status -WDI_FinishScanReq -( - WDI_FinishScanReqParamsType* pwdiFinishScanParams, - WDI_FinishScanRspCb wdiFinishScanRspCb, - void* pUserData -); - -/*======================================================================== - - ASSOCIATION APIs - -==========================================================================*/ - -/** - @brief WDI_JoinReq will be called when the upper MAC is ready - to start an association procedure to a BSS. Upon the - call of this API the WLAN DAL will pack and send a HAL - Join request message to the lower RIVA sub-system if - DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiJoinParams: the join parameters as specified by - the Device Interface - - wdiJoinRspCb: callback for passing back the response of - the join operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_JoinReq -( - WDI_JoinReqParamsType* pwdiJoinParams, - WDI_JoinRspCb wdiJoinRspCb, - void* pUserData -); - -/** - @brief WDI_ConfigBSSReq will be called when the upper MAC - wishes to configure the newly acquired or in process of - being acquired BSS to the HW . Upon the call of this API - the WLAN DAL will pack and send a HAL Config BSS request - message to the lower RIVA sub-system if DAL is in state - STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_JoinReq must have been called. - - @param wdiConfigBSSParams: the config BSS parameters as - specified by the Device Interface - - wdiConfigBSSRspCb: callback for passing back the - response of the config BSS operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_JoinReq - @return Result of the function call -*/ -WDI_Status -WDI_ConfigBSSReq -( - WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams, - WDI_ConfigBSSRspCb wdiConfigBSSRspCb, - void* pUserData -); - -/** - @brief WDI_DelBSSReq will be called when the upper MAC is - dissasociating from the BSS and wishes to notify HW. - Upon the call of this API the WLAN DAL will pack and - send a HAL Del BSS request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_ConfigBSSReq or WDI_PostAssocReq must have been called. - - @param wdiDelBSSParams: the del BSS parameters as specified by - the Device Interface - - wdiDelBSSRspCb: callback for passing back the response - of the del bss operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_ConfigBSSReq, WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_DelBSSReq -( - WDI_DelBSSReqParamsType* pwdiDelBSSParams, - WDI_DelBSSRspCb wdiDelBSSRspCb, - void* pUserData -); - -/** - @brief WDI_PostAssocReq will be called when the upper MAC has - associated to a BSS and wishes to configure HW for - associated state. Upon the call of this API the WLAN DAL - will pack and send a HAL Post Assoc request message to - the lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_JoinReq must have been called. - - @param wdiPostAssocReqParams: the assoc parameters as specified - by the Device Interface - - wdiPostAssocRspCb: callback for passing back the - response of the post assoc operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_JoinReq - @return Result of the function call -*/ -WDI_Status -WDI_PostAssocReq -( - WDI_PostAssocReqParamsType* pwdiPostAssocReqParams, - WDI_PostAssocRspCb wdiPostAssocRspCb, - void* pUserData -); - -/** - @brief WDI_DelSTAReq will be called when the upper MAC when an - association with another STA has ended and the station - must be deleted from HW. Upon the call of this API the - WLAN DAL will pack and send a HAL Del STA request - message to the lower RIVA sub-system if DAL is in state - STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiDelSTAParams: the Del STA parameters as specified by - the Device Interface - - wdiDelSTARspCb: callback for passing back the response - of the del STA operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_DelSTAReq -( - WDI_DelSTAReqParamsType* pwdiDelSTAParams, - WDI_DelSTARspCb wdiDelSTARspCb, - void* pUserData -); - -/*======================================================================== - - SECURITY APIs - -==========================================================================*/ - -/** - @brief WDI_SetBSSKeyReq will be called when the upper MAC ito - install a BSS encryption key on the HW. Upon the call of - this API the WLAN DAL will pack and send a HAL Start - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiSetBSSKeyParams: the BSS Key set parameters as - specified by the Device Interface - - wdiSetBSSKeyRspCb: callback for passing back the - response of the set BSS Key operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetBSSKeyReq -( - WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams, - WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb, - void* pUserData -); - - -/** - @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to - uninstall a BSS key from HW. Upon the call of this API - the WLAN DAL will pack and send a HAL Remove BSS Key - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_SetBSSKeyReq must have been called. - - @param wdiRemoveBSSKeyParams: the remove BSS key parameters as - specified by the Device Interface - - wdiRemoveBSSKeyRspCb: callback for passing back the - response of the remove BSS key operation received from - the device - - pUserData: user data will be passed back with the - callback - - @see WDI_SetBSSKeyReq - @return Result of the function call -*/ -WDI_Status -WDI_RemoveBSSKeyReq -( - WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams, - WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb, - void* pUserData -); - - -/** - @brief WDI_SetSTAKeyReq will be called when the upper MAC is - ready to install a STA(ast) encryption key in HW. Upon - the call of this API the WLAN DAL will pack and send a - HAL Set STA Key request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiSetSTAKeyParams: the set STA key parameters as - specified by the Device Interface - - wdiSetSTAKeyRspCb: callback for passing back the - response of the set STA key operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetSTAKeyReq -( - WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams, - WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb, - void* pUserData -); - - -/** - @brief WDI_RemoveSTAKeyReq will be called when the upper MAC - wants to unistall a previously set STA key in HW. Upon - the call of this API the WLAN DAL will pack and send a - HAL Remove STA Key request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_SetSTAKeyReq must have been called. - - @param wdiRemoveSTAKeyParams: the remove STA key parameters as - specified by the Device Interface - - wdiRemoveSTAKeyRspCb: callback for passing back the - response of the remove STA key operation received from - the device - - pUserData: user data will be passed back with the - callback - - @see WDI_SetSTAKeyReq - @return Result of the function call -*/ -WDI_Status -WDI_RemoveSTAKeyReq -( - WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams, - WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb, - void* pUserData -); - -/** - @brief WDI_SetSTABcastKeyReq will be called when the upper MAC - wants to install a STA Bcast encryption key on the HW. - Upon the call of this API the WLAN DAL will pack and - send a HAL Start request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as - specified by the Device Interface - - wdiSetSTABcastKeyRspCb: callback for passing back the - response of the set BSS Key operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetSTABcastKeyReq -( - WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams, - WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb, - void* pUserData -); - - -/** - @brief WDI_RemoveSTABcastKeyReq will be called when the upper - MAC to uninstall a STA Bcast key from HW. Upon the call - of this API the WLAN DAL will pack and send a HAL Remove - STA Bcast Key request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_SetSTABcastKeyReq must have been called. - - @param pwdiRemoveSTABcastKeyParams: the remove BSS key - parameters as specified by the Device - Interface - - wdiRemoveSTABcastKeyRspCb: callback for passing back the - response of the remove STA Bcast key operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_SetSTABcastKeyReq - @return Result of the function call -*/ -WDI_Status -WDI_RemoveSTABcastKeyReq -( - WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams, - WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb, - void* pUserData -); - - -/** - @brief WDI_SetTxPowerReq will be called when the upper - MAC wants to set Tx Power to HW. - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiSetTxPowerParams: set TS Power parameters - BSSID and target TX Power with dbm included - - wdiReqStatusCb: callback for passing back the response - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_SetTxPowerReq -( - WDI_SetTxPowerParamsType* pwdiSetTxPowerParams, - WDA_SetTxPowerRspCb wdiReqStatusCb, - void* pUserData -); - -/** - @brief WDI_SetMaxTxPowerReq will be called when the upper - MAC wants to set Max Tx Power to HW. Upon the - call of this API the WLAN DAL will pack and send a HAL - Remove STA Bcast Key request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_SetSTABcastKeyReq must have been called. - - @param pwdiRemoveSTABcastKeyParams: the remove BSS key - parameters as specified by the Device - Interface - - wdiRemoveSTABcastKeyRspCb: callback for passing back the - response of the remove STA Bcast key operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_SetMaxTxPowerReq - @return Result of the function call -*/ -WDI_Status -WDI_SetMaxTxPowerReq -( - WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams, - WDA_SetMaxTxPowerRspCb wdiReqStatusCb, - void* pUserData -); - -/** - @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper - MAC wants to set Max Tx Power to HW for specific band. Upon the - call of this API the WLAN DAL will pack and send a HAL - Set Max Tx Power Per Band request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info - - WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL - when it has received a set max Tx Power Per Band response from - the underlying device. - - pUserData: user data will be passed back with the - callback - - @see WDI_SetMaxTxPowerPerBandReq - @return Result of the function call -*/ -WDI_Status -WDI_SetMaxTxPowerPerBandReq -( - WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams, - WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb, - void* pUserData -); - -#ifdef FEATURE_WLAN_ESE -/** - @brief WDI_TSMStatsReq will be called by the upper MAC to fetch - Traffic Stream metrics. - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - @param wdiAddTsReqParams: the add TS parameters as specified by - the Device Interface - - wdiAddTsRspCb: callback for passing back the response of - the add TS operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_TSMStatsReq -( - WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams, - WDI_TsmRspCb wdiTsmStatsRspCb, - void* pUserData -); - - -#endif - -/*======================================================================== - - QoS and BA APIs - -==========================================================================*/ - -/** - @brief WDI_AddTSReq will be called when the upper MAC to inform - the device of a successful add TSpec negotiation. HW - needs to receive the TSpec Info from the UMAC in order - to configure properly the QoS data traffic. Upon the - call of this API the WLAN DAL will pack and send a HAL - Add TS request message to the lower RIVA sub-system if - DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiAddTsReqParams: the add TS parameters as specified by - the Device Interface - - wdiAddTsRspCb: callback for passing back the response of - the add TS operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_AddTSReq -( - WDI_AddTSReqParamsType* pwdiAddTsReqParams, - WDI_AddTsRspCb wdiAddTsRspCb, - void* pUserData -); - - - -/** - @brief WDI_DelTSReq will be called when the upper MAC has ended - admission on a specific AC. This is to inform HW that - QoS traffic parameters must be rest. Upon the call of - this API the WLAN DAL will pack and send a HAL Del TS - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_AddTSReq must have been called. - - @param wdiDelTsReqParams: the del TS parameters as specified by - the Device Interface - - wdiDelTsRspCb: callback for passing back the response of - the del TS operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_AddTSReq - @return Result of the function call -*/ -WDI_Status -WDI_DelTSReq -( - WDI_DelTSReqParamsType* pwdiDelTsReqParams, - WDI_DelTsRspCb wdiDelTsRspCb, - void* pUserData -); - - - -/** - @brief WDI_UpdateEDCAParams will be called when the upper MAC - wishes to update the EDCA parameters used by HW for QoS - data traffic. Upon the call of this API the WLAN DAL - will pack and send a HAL Update EDCA Params request - message to the lower RIVA sub-system if DAL is in state - STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiUpdateEDCAParams: the start parameters as specified - by the Device Interface - - wdiUpdateEDCAParamsRspCb: callback for passing back the - response of the start operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_UpdateEDCAParams -( - WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams, - WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb, - void* pUserData -); - - - -/** - @brief WDI_AddBASessionReq will be called when the upper MAC has setup - successfully a BA session and needs to notify the HW for - the appropriate settings to take place. Upon the call of - this API the WLAN DAL will pack and send a HAL Add BA - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiAddBAReqParams: the add BA parameters as specified by - the Device Interface - - wdiAddBARspCb: callback for passing back the response of - the add BA operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_AddBASessionReq -( - WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams, - WDI_AddBASessionRspCb wdiAddBASessionRspCb, - void* pUserData -); - - -/** - @brief WDI_DelBAReq will be called when the upper MAC wants to - inform HW that it has deleted a previously created BA - session. Upon the call of this API the WLAN DAL will - pack and send a HAL Del BA request message to the lower - RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_AddBAReq must have been called. - - @param wdiDelBAReqParams: the del BA parameters as specified by - the Device Interface - - wdiDelBARspCb: callback for passing back the response of - the del BA operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_AddBAReq - @return Result of the function call -*/ -WDI_Status -WDI_DelBAReq -( - WDI_DelBAReqParamsType* pwdiDelBAReqParams, - WDI_DelBARspCb wdiDelBARspCb, - void* pUserData -); - -/** - @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to - inform HW that there is a change in the beacon parameters - Upon the call of this API the WLAN DAL will - pack and send a UpdateBeacon Params message to the lower - RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_UpdateBeaconParamsReq must have been called. - - @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by - the Device Interface - - WDI_UpdateBeaconParamsRspCb: callback for passing back the response of - the Update Beacon Params operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_AddBAReq - @return Result of the function call -*/ - -WDI_Status -WDI_UpdateBeaconParamsReq -( - WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams, - WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb, - void* pUserData -); - - -/** - @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to - update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP - Upon the call of this API the WLAN DAL will - pack and send the beacon Template message to the lower - RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_SendBeaconParamsReq must have been called. - - @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by - the Device Interface - - WDI_SendBeaconParamsRspCb: callback for passing back the response of - the Send Beacon Params operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_AddBAReq - @return Result of the function call -*/ - -WDI_Status -WDI_SendBeaconParamsReq -( - WDI_SendBeaconParamsType* pwdiSendBeaconParams, - WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb, - void* pUserData -); - - -/** - @brief WDI_UpdateProbeRspTemplateReq will be called when the - upper MAC wants to update the probe response template to - be transmitted as Soft AP - Upon the call of this API the WLAN DAL will - pack and send the probe rsp template message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiUpdateProbeRspParams: the Update Beacon parameters as - specified by the Device Interface - - wdiSendBeaconParamsRspCb: callback for passing back the - response of the Send Beacon Params operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_AddBAReq - @return Result of the function call -*/ - -WDI_Status -WDI_UpdateProbeRspTemplateReq -( - WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams, - WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb, - void* pUserData -); - -/** - @brief WDI_SetP2PGONOAReq will be called when the - upper MAC wants to send Notice of Absence - Upon the call of this API the WLAN DAL will - pack and send the probe rsp template message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiUpdateProbeRspParams: the Update Beacon parameters as - specified by the Device Interface - - wdiSendBeaconParamsRspCb: callback for passing back the - response of the Send Beacon Params operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_AddBAReq - @return Result of the function call -*/ -WDI_Status -WDI_SetP2PGONOAReq -( - WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams, - WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb, - void* pUserData -); - -/** - @brief WDI_SetTDLSLinkEstablishReq will be called when the - upper MAC wants to send TDLS Link Establish Request Parameters - Upon the call of this API the WLAN DAL will - pack and send the TDLS Link Establish Request message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters - for Link Establishment (Used for PUAPSD , TDLS Off Channel ...) - - wdiTDLSLinkEstablishReqRspCb: callback for passing back the - response of the TDLS Link Establish request received - from the device - - pUserData: user data will be passed back with the - callback - - @see - @return Result of the function call -*/ -WDI_Status -WDI_SetTDLSLinkEstablishReq -( - WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams, - WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb, - void* pUserData -); - -/*======================================================================== - - Power Save APIs - -==========================================================================*/ - -/** - @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC - wants to set the power save related configurations of - the WLAN Device. Upon the call of this API the WLAN DAL - will pack and send a HAL Update CFG request message to - the lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param pwdiPowerSaveCfg: the power save cfg parameters as - specified by the Device Interface - - wdiSetPwrSaveCfgCb: callback for passing back the - response of the set power save cfg operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_SetPwrSaveCfgReq -( - WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg, - WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb, - void* pUserData -); - -/** - @brief WDI_EnterImpsReq will be called when the upper MAC to - request the device to get into IMPS power state. Upon - the call of this API the WLAN DAL will send a HAL Enter - IMPS request message to the lower RIVA sub-system if DAL - is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param wdiEnterImpsRspCb: callback for passing back the - response of the Enter IMPS operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_EnterImpsReq -( - WDI_EnterImpsRspCb wdiEnterImpsRspCb, - void* pUserData -); - -/** - @brief WDI_ExitImpsReq will be called when the upper MAC to - request the device to get out of IMPS power state. Upon - the call of this API the WLAN DAL will send a HAL Exit - IMPS request message to the lower RIVA sub-system if DAL - is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - - @param wdiExitImpsRspCb: callback for passing back the response - of the Exit IMPS operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_ExitImpsReq -( - WDI_ExitImpsRspCb wdiExitImpsRspCb, - void* pUserData -); - -/** - @brief WDI_EnterBmpsReq will be called when the upper MAC to - request the device to get into BMPS power state. Upon - the call of this API the WLAN DAL will pack and send a - HAL Enter BMPS request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as - specified by the Device Interface - - wdiEnterBmpsRspCb: callback for passing back the - response of the Enter BMPS operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_EnterBmpsReq -( - WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams, - WDI_EnterBmpsRspCb wdiEnterBmpsRspCb, - void* pUserData -); - -/** - @brief WDI_ExitBmpsReq will be called when the upper MAC to - request the device to get out of BMPS power state. Upon - the call of this API the WLAN DAL will pack and send a - HAL Exit BMPS request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiExitBmpsReqParams: the Exit BMPS parameters as - specified by the Device Interface - - wdiExitBmpsRspCb: callback for passing back the response - of the Exit BMPS operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_ExitBmpsReq -( - WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams, - WDI_ExitBmpsRspCb wdiExitBmpsRspCb, - void* pUserData -); - -/** - @brief WDI_EnterUapsdReq will be called when the upper MAC to - request the device to get into UAPSD power state. Upon - the call of this API the WLAN DAL will pack and send a - HAL Enter UAPSD request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - WDI_SetUapsdAcParamsReq must have been called. - - @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as - specified by the Device Interface - - wdiEnterUapsdRspCb: callback for passing back the - response of the Enter UAPSD operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq - @return Result of the function call -*/ -WDI_Status -WDI_EnterUapsdReq -( - WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams, - WDI_EnterUapsdRspCb wdiEnterUapsdRspCb, - void* pUserData -); - -/** - @brief WDI_ExitUapsdReq will be called when the upper MAC to - request the device to get out of UAPSD power state. Upon - the call of this API the WLAN DAL will send a HAL Exit - UAPSD request message to the lower RIVA sub-system if - DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiExitUapsdRspCb: callback for passing back the - response of the Exit UAPSD operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_ExitUapsdReq -( - WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams, - WDI_ExitUapsdRspCb wdiExitUapsdRspCb, - void* pUserData -); - -/** - @brief WDI_UpdateUapsdParamsReq will be called when the upper - MAC wants to set the UAPSD related configurations - of an associated STA (while acting as an AP) to the WLAN - Device. Upon the call of this API the WLAN DAL will pack - and send a HAL Update UAPSD params request message to - the lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_ConfigBSSReq must have been called. - - @param pwdiUpdateUapsdReqParams: the UAPSD parameters - as specified by the Device Interface - - wdiUpdateUapsdParamsCb: callback for passing back the - response of the update UAPSD params operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_ConfigBSSReq - @return Result of the function call -*/ -WDI_Status -WDI_UpdateUapsdParamsReq -( - WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams, - WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb, - void* pUserData -); - -/** - @brief WDI_SetUapsdAcParamsReq will be called when the upper - MAC wants to set the UAPSD related configurations before - requesting for enter UAPSD power state to the WLAN - Device. Upon the call of this API the WLAN DAL will pack - and send a HAL Set UAPSD params request message to - the lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiUapsdInfo: the UAPSD parameters as specified by - the Device Interface - - wdiSetUapsdAcParamsCb: callback for passing back the - response of the set UAPSD params operation received from - the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetUapsdAcParamsReq -( - WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg, - WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb, - void* pUserData -); - -/** - @brief WDI_ConfigureRxpFilterReq will be called when the upper - MAC wants to set/reset the RXP filters for received pkts - (MC, BC etc.). Upon the call of this API the WLAN DAL will pack - and send a HAL configure RXP filter request message to - the lower RIVA sub-system. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiConfigureRxpFilterReqParams: the RXP - filter as specified by the Device - Interface - - wdiConfigureRxpFilterCb: callback for passing back the - response of the configure RXP filter operation received - from the device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_ConfigureRxpFilterReq -( - WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams, - WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb, - void* pUserData -); - -/** - @brief WDI_SetBeaconFilterReq will be called when the upper MAC - wants to set the beacon filters while in power save. - Upon the call of this API the WLAN DAL will pack and - send a Beacon filter request message to the - lower RIVA sub-system. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiBeaconFilterReqParams: the beacon - filter as specified by the Device - Interface - - wdiBeaconFilterCb: callback for passing back the - response of the set beacon filter operation received - from the device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_SetBeaconFilterReq -( - WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams, - WDI_SetBeaconFilterCb wdiBeaconFilterCb, - void* pUserData -); - -/** - @brief WDI_RemBeaconFilterReq will be called when the upper MAC - wants to remove the beacon filter for perticular IE - while in power save. Upon the call of this API the WLAN - DAL will pack and send a remove Beacon filter request - message to the lower RIVA sub-system. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiBeaconFilterReqParams: the beacon - filter as specified by the Device - Interface - - wdiBeaconFilterCb: callback for passing back the - response of the remove beacon filter operation received - from the device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_RemBeaconFilterReq -( - WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams, - WDI_RemBeaconFilterCb wdiBeaconFilterCb, - void* pUserData -); - -/** - @brief WDI_SetRSSIThresholdsReq will be called when the upper - MAC wants to set the RSSI thresholds related - configurations while in power save. Upon the call of - this API the WLAN DAL will pack and send a HAL Set RSSI - thresholds request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiUapsdInfo: the UAPSD parameters as specified by - the Device Interface - - wdiSetUapsdAcParamsCb: callback for passing back the - response of the set UAPSD params operation received from - the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetRSSIThresholdsReq -( - WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams, - WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb, - void* pUserData -); - -/** - @brief WDI_HostOffloadReq will be called when the upper MAC - wants to set the filter to minimize unnecessary host - wakeup due to broadcast traffic while in power save. - Upon the call of this API the WLAN DAL will pack and - send a HAL host offload request message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiHostOffloadParams: the host offload as specified - by the Device Interface - - wdiHostOffloadCb: callback for passing back the response - of the host offload operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_HostOffloadReq -( - WDI_HostOffloadReqParamsType* pwdiHostOffloadParams, - WDI_HostOffloadCb wdiHostOffloadCb, - void* pUserData -); - -/** - @brief WDI_KeepAliveReq will be called when the upper MAC - wants to set the filter to send NULL or unsolicited ARP responses - and minimize unnecessary host wakeups due to while in power save. - Upon the call of this API the WLAN DAL will pack and - send a HAL Keep Alive request message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiKeepAliveParams: the Keep Alive as specified - by the Device Interface - - wdiKeepAliveCb: callback for passing back the response - of the Keep Alive operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_KeepAliveReq -( - WDI_KeepAliveReqParamsType* pwdiKeepAliveParams, - WDI_KeepAliveCb wdiKeepAliveCb, - void* pUserData -); - -/** - @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC - wants to set the Wowl Bcast ptrn to minimize unnecessary - host wakeup due to broadcast traffic while in power - save. Upon the call of this API the WLAN DAL will pack - and send a HAL Wowl Bcast ptrn request message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as - specified by the Device Interface - - wdiWowlAddBcPtrnCb: callback for passing back the - response of the add Wowl bcast ptrn operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_WowlAddBcPtrnReq -( - WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams, - WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb, - void* pUserData -); - -/** - @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC - wants to clear the Wowl Bcast ptrn. Upon the call of - this API the WLAN DAL will pack and send a HAL delete - Wowl Bcast ptrn request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_WowlAddBcPtrnReq must have been called. - - @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as - specified by the Device Interface - - wdiWowlDelBcPtrnCb: callback for passing back the - response of the del Wowl bcast ptrn operation received - from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_WowlAddBcPtrnReq - @return Result of the function call -*/ -WDI_Status -WDI_WowlDelBcPtrnReq -( - WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams, - WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb, - void* pUserData -); - -/** - @brief WDI_WowlEnterReq will be called when the upper MAC - wants to enter the Wowl state to minimize unnecessary - host wakeup while in power save. Upon the call of this - API the WLAN DAL will pack and send a HAL Wowl enter - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiWowlEnterReqParams: the Wowl enter info as - specified by the Device Interface - - wdiWowlEnterReqCb: callback for passing back the - response of the enter Wowl operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_WowlEnterReq -( - WDI_WowlEnterReqParamsType* pwdiWowlEnterParams, - WDI_WowlEnterReqCb wdiWowlEnterCb, - void* pUserData -); - -/** - @brief WDI_WowlExitReq will be called when the upper MAC - wants to exit the Wowl state. Upon the call of this API - the WLAN DAL will pack and send a HAL Wowl exit request - message to the lower RIVA sub-system if DAL is in state - STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_WowlEnterReq must have been called. - - @param pwdiWowlExitReqParams: the Wowl exit info as - specified by the Device Interface - - wdiWowlExitReqCb: callback for passing back the response - of the exit Wowl operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_WowlEnterReq - @return Result of the function call -*/ -WDI_Status -WDI_WowlExitReq -( - WDI_WowlExitReqParamsType* pwdiWowlExitParams, - WDI_WowlExitReqCb wdiWowlExitCb, - void* pUserData -); - -/** - @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when - the upper MAC wants to dynamically adjusts the listen - interval based on the WLAN/MSM activity. Upon the call - of this API the WLAN DAL will pack and send a HAL - configure Apps Cpu Wakeup State request message to the - lower RIVA sub-system. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiConfigureAppsCpuWakeupStateReqParams: the - Apps Cpu Wakeup State as specified by the - Device Interface - - wdiConfigureAppsCpuWakeupStateCb: callback for passing - back the response of the configure Apps Cpu Wakeup State - operation received from the device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_ConfigureAppsCpuWakeupStateReq -( - WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams, - WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb, - void* pUserData -); -/** - @brief WDI_FlushAcReq will be called when the upper MAC wants - to to perform a flush operation on a given AC. Upon the - call of this API the WLAN DAL will pack and send a HAL - Flush AC request message to the lower RIVA sub-system if - DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiFlushAcReqParams: the Flush AC parameters as - specified by the Device Interface - - wdiFlushAcRspCb: callback for passing back the response - of the Flush AC operation received from the device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_FlushAcReq -( - WDI_FlushAcReqParamsType* pwdiFlushAcReqParams, - WDI_FlushAcRspCb wdiFlushAcRspCb, - void* pUserData -); - -/** - @brief WDI_BtAmpEventReq will be called when the upper MAC - wants to notify the lower mac on a BT AMP event. This is - to inform BTC-SLM that some BT AMP event occurred. Upon - the call of this API the WLAN DAL will pack and send a - HAL BT AMP event request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param wdiBtAmpEventReqParams: the BT AMP event parameters as - specified by the Device Interface - - wdiBtAmpEventRspCb: callback for passing back the - response of the BT AMP event operation received from the - device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_BtAmpEventReq -( - WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams, - WDI_BtAmpEventRspCb wdiBtAmpEventRspCb, - void* pUserData -); - -#ifdef FEATURE_OEM_DATA_SUPPORT -/** - @brief WDI_Start oem data Req will be called when the upper MAC - wants to notify the lower mac on a oem data Req event.Upon - the call of this API the WLAN DAL will pack and send a - HAL OEM Data Req event request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pWdiOemDataReqParams: the oem data req parameters as - specified by the Device Interface - - wdiStartOemDataRspCb: callback for passing back the - response of the Oem Data Req received from the - device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_StartOemDataReq -( - WDI_oemDataReqParamsType* pWdiOemDataReqParams, - WDI_oemDataRspCb wdiOemDataRspCb, - void* pUserData -); -#endif - -/*======================================================================== - - CONTROL APIs - -==========================================================================*/ -/** - @brief WDI_SwitchChReq will be called when the upper MAC wants - the WLAN HW to change the current channel of operation. - Upon the call of this API the WLAN DAL will pack and - send a HAL Start request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiSwitchChReqParams: the switch ch parameters as - specified by the Device Interface - - wdiSwitchChRspCb: callback for passing back the response - of the switch ch operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_SwitchChReq -( - WDI_SwitchChReqParamsType* pwdiSwitchChReqParams, - WDI_SwitchChRspCb wdiSwitchChRspCb, - void* pUserData -); - - - -/** - @brief WDI_ConfigSTAReq will be called when the upper MAC - wishes to add or update a STA in HW. Upon the call of - this API the WLAN DAL will pack and send a HAL Start - message request message to the lower RIVA sub-system if - DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiConfigSTAReqParams: the config STA parameters as - specified by the Device Interface - - wdiConfigSTARspCb: callback for passing back the - response of the config STA operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_ConfigSTAReq -( - WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams, - WDI_ConfigSTARspCb wdiConfigSTARspCb, - void* pUserData -); - -/** - @brief WDI_SetLinkStateReq will be called when the upper MAC - wants to change the state of an ongoing link. Upon the - call of this API the WLAN DAL will pack and send a HAL - Start message request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_JoinReq must have been called. - - @param wdiSetLinkStateReqParams: the set link state parameters - as specified by the Device Interface - - wdiSetLinkStateRspCb: callback for passing back the - response of the set link state operation received from - the device - - pUserData: user data will be passed back with the - callback - - @see WDI_JoinStartReq - @return Result of the function call -*/ -WDI_Status -WDI_SetLinkStateReq -( - WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams, - WDI_SetLinkStateRspCb wdiSetLinkStateRspCb, - void* pUserData -); - - -/** - @brief WDI_GetStatsReq will be called when the upper MAC wants - to get statistics (MIB counters) from the device. Upon - the call of this API the WLAN DAL will pack and send a - HAL Start request message to the lower RIVA sub-system - if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiGetStatsReqParams: the stats parameters to get as - specified by the Device Interface - - wdiGetStatsRspCb: callback for passing back the response - of the get stats operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_GetStatsReq -( - WDI_GetStatsReqParamsType* pwdiGetStatsReqParams, - WDI_GetStatsRspCb wdiGetStatsRspCb, - void* pUserData -); - -#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR) -/** - @brief WDI_GetRoamRssiReq will be called when the upper MAC wants - to get roam rssi from the device. Upon - the call of this API the WLAN DAL will pack and send a - HAL Start request message to the lower RIVA sub-system - if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiGetRoamRssiReqParams: the stats parameters to get as - specified by the Device Interface - - wdiGetRoamRssispCb: callback for passing back the response - of the get stats operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_GetRoamRssiReq -( - WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams, - WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb, - void* pUserData -); -#endif - -/** - @brief WDI_UpdateCfgReq will be called when the upper MAC when - it wishes to change the configuration of the WLAN - Device. Upon the call of this API the WLAN DAL will pack - and send a HAL Update CFG request message to the lower - RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_Start must have been called. - - @param wdiUpdateCfgReqParams: the update cfg parameters as - specified by the Device Interface - - wdiUpdateCfgsRspCb: callback for passing back the - response of the update cfg operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_UpdateCfgReq -( - WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams, - WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb, - void* pUserData -); - -/** - @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob - to the NV memory. - - @param wdiNvDownloadReqParams: the NV Download parameters as specified by - the Device Interface - - wdiNvDownloadRspCb: callback for passing back the response of - the NV Download operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_NvDownloadReq -( - WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams, - WDI_NvDownloadRspCb wdiNvDownloadRspCb, - void* pUserData -); -/** - @brief WDI_AddBAReq will be called when the upper MAC has setup - successfully a BA session and needs to notify the HW for - the appropriate settings to take place. Upon the call of - this API the WLAN DAL will pack and send a HAL Add BA - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiAddBAReqParams: the add BA parameters as specified by - the Device Interface - - wdiAddBARspCb: callback for passing back the response of - the add BA operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_AddBAReq -( - WDI_AddBAReqParamsType* pwdiAddBAReqParams, - WDI_AddBARspCb wdiAddBARspCb, - void* pUserData -); - -/** - @brief WDI_TriggerBAReq will be called when the upper MAC has setup - successfully a BA session and needs to notify the HW for - the appropriate settings to take place. Upon the call of - this API the WLAN DAL will pack and send a HAL Add BA - request message to the lower RIVA sub-system if DAL is - in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiAddBAReqParams: the add BA parameters as specified by - the Device Interface - - wdiAddBARspCb: callback for passing back the response of - the add BA operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_TriggerBAReq -( - WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams, - WDI_TriggerBARspCb wdiTriggerBARspCb, - void* pUserData -); - - -/** - @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW - frame xtl is enabled for a particular STA. - - WDI_PostAssocReq must have been called. - - @param uSTAIdx: STA index - - @see WDI_PostAssocReq - @return Result of the function call -*/ -wpt_boolean WDI_IsHwFrameTxTranslationCapable -( - wpt_uint8 uSTAIdx -); - -#ifdef WLAN_FEATURE_VOWIFI_11R -/** - @brief WDI_AggrAddTSReq will be called when the upper MAC to inform - the device of a successful add TSpec negotiation for 11r. HW - needs to receive the TSpec Info from the UMAC in order - to configure properly the QoS data traffic. Upon the - call of this API the WLAN DAL will pack and send a HAL - Aggregated Add TS request message to the lower RIVA sub-system if - DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param wdiAggrAddTsReqParams: the add TS parameters as specified by - the Device Interface - - wdiAggrAddTsRspCb: callback for passing back the response of - the add TS operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_AggrAddTSReq -( - WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams, - WDI_AggrAddTsRspCb wdiAggrAddTsRspCb, - void* pUserData -); -#endif /* WLAN_FEATURE_VOWIFI_11R */ -/** - @brief WDI_STATableInit - Initializes the STA tables. - Allocates the necesary memory. - - - @param pWDICtx: pointer to the WLAN DAL context - - @see - @return Result of the function call -*/ - -WDI_Status WDI_StubRunTest -( - wpt_uint8 ucTestNo -); - -/** - @brief WDI_FTMCommandReq - - Route FTMRequest Command to HAL - - @param ftmCommandReq: FTM request command body - @param ftmCommandRspCb: Response CB - @param pUserData: User data will be included with CB - - @return Result of the function call -*/ -WDI_Status WDI_FTMCommandReq -( - WDI_FTMCommandReqType *ftmCommandReq, - WDI_FTMCommandRspCb ftmCommandRspCb, - void *pUserData -); - -/** - @brief WDI_HostResumeReq will be called - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiResumeReqParams: as specified by - the Device Interface - - wdiResumeReqRspCb: callback for passing back the response of - the Resume Req received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_HostResumeReq -( - WDI_ResumeParamsType* pwdiResumeReqParams, - WDI_HostResumeEventRspCb wdiResumeReqRspCb, - void* pUserData -); - -/** - @brief WDI_GetAvailableResCount - Function to get the available resource - for data and managemnt frames. - - @param pContext: pointer to the WDI context - @param wdiResPool: type of resource pool requesting - @see - @return Result of the function call -*/ - -wpt_uint32 WDI_GetAvailableResCount -( - void *pContext, - WDI_ResPoolType wdiResPool -); - -/** - @brief WDI_SetAddSTASelfReq will be called when the - UMAC wanted to add self STA while opening any new session - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param pwdiAddSTASelfParams: the add self sta parameters as - specified by the Device Interface - - pUserData: user data will be passed back with the - callback - - @see - @return Result of the function call -*/ -WDI_Status -WDI_AddSTASelfReq -( - WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams, - WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb, - void* pUserData -); - - -/** - @brief WDI_DelSTASelfReq will be called . - - @param WDI_DelSTASelfReqParamsType - - WDI_DelSTASelfRspCb: callback for passing back the - response of the del sta self operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_DelSTASelfReq -( - WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams, - WDI_DelSTASelfRspCb wdiDelStaSelfRspCb, - void* pUserData -); - -/** - @brief WDI_HostSuspendInd - - Suspend Indication from the upper layer will be sent - down to HAL - - @param WDI_SuspendParamsType - - @see - - @return Status of the request -*/ -WDI_Status -WDI_HostSuspendInd -( - WDI_SuspendParamsType* pwdiSuspendIndParams -); - -/** - @brief WDI_TrafficStatsInd - - Traffic Stats from the upper layer will be sent - down to HAL - - @param WDI_TrafficStatsIndType - - @see - - @return Status of the request -*/ -WDI_Status -WDI_TrafficStatsInd -( - WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams -); - -#ifdef WLAN_FEATURE_11W -/** - @brief WDI_ExcludeUnencryptedInd - Register with HAL to receive/drop unencrypted frames - - @param WDI_ExcludeUnencryptIndType - - @see - - @return Status of the request -*/ -WDI_Status -WDI_ExcludeUnencryptedInd -( - WDI_ExcludeUnencryptIndType *pWdiExcUnencParams -); -#endif - -/** - @brief WDI_AddPeriodicTxPtrnInd - - @param WDI_AddPeriodicTxPtrnParamsType - - @see - - @return Status of the request -*/ -WDI_Status -WDI_AddPeriodicTxPtrnInd -( - WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams -); - -/** - @brief WDI_DelPeriodicTxPtrnInd - - @param WDI_DelPeriodicTxPtrnParamsType - - @see - - @return Status of the request -*/ -WDI_Status -WDI_DelPeriodicTxPtrnInd -( - WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams -); - -#ifdef FEATURE_WLAN_SCAN_PNO -/** - @brief WDI_SetPreferredNetworkList - - @param pwdiPNOScanReqParams: the Set PNO as specified - by the Device Interface - - wdiPNOScanCb: callback for passing back the response - of the Set PNO operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetPreferredNetworkReq -( - WDI_PNOScanReqParamsType* pwdiPNOScanReqParams, - WDI_PNOScanCb wdiPNOScanCb, - void* pUserData -); - -/** - @brief WDI_SetRssiFilterReq - - @param pwdiRssiFilterReqParams: the Set RSSI Filter as - specified by the Device Interface - - wdiRssiFilterCb: callback for passing back the response - of the Set RSSI Filter operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_SetRssiFilterReq -( - WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams, - WDI_RssiFilterCb wdiRssiFilterCb, - void* pUserData -); - -/** - @brief WDI_UpdateScanParams - - @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified - by the Device Interface - - wdiUpdateScanParamsCb: callback for passing back the response - of the Set PNO operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_UpdateScanParamsReq -( - WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType, - WDI_UpdateScanParamsCb wdiUpdateScanParamsCb, - void* pUserData -); -#endif // FEATURE_WLAN_SCAN_PNO - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -/** - @brief WDI_RoamScanOffloadReq - - @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified - by the Device Interface - - wdiRoamOffloadScanCb: callback for passing back the response - of the Start Roam Candidate Lookup operation received from the - device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_RoamScanOffloadReq -( - WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams, - WDI_RoamOffloadScanCb wdiRoamOffloadScancb, - void* pUserData -); -#endif - -/** - @brief WDI_SetTxPerTrackingReq will be called when the upper MAC - wants to set the Tx Per Tracking configurations. - Upon the call of this API the WLAN DAL will pack - and send a HAL Set Tx Per Tracking request message to the - lower RIVA sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as - specified by the Device Interface - - wdiSetTxPerTrackingCb: callback for passing back the - response of the set Tx PER Tracking configurations operation received - from the device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_SetTxPerTrackingReq -( - WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams, - WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb, - void* pUserData -); - -/** - @brief WDI_SetTmLevelReq - If HW Thermal condition changed, driver should react based on new - HW thermal condition. - - @param pwdiSetTmLevelReq: New thermal condition information - - pwdiSetTmLevelRspCb: callback - - usrData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_SetTmLevelReq -( - WDI_SetTmLevelReqType *pwdiSetTmLevelReq, - WDI_SetTmLevelCb pwdiSetTmLevelRspCb, - void *usrData -); - -#ifdef WLAN_FEATURE_PACKET_FILTERING -/** - @brief WDI_8023MulticastListReq - - @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast - List as specified by the Device Interface - - wdi8023MulticastListCallback: callback for passing back - the response of the Set 8023 Multicast List operation - received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_8023MulticastListReq -( - WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo, - WDI_8023MulticastListCb wdi8023MulticastListCallback, - void* pUserData -); - -/** - @brief WDI_ReceiveFilterSetFilterReq - - @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as - specified by the Device Interface - - wdiReceiveFilterSetFilterReqCallback: callback for - passing back the response of the Set Receive Filter - operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_ReceiveFilterSetFilterReq -( - WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo, - WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback, - void* pUserData -); - -/** - @brief WDI_PCFilterMatchCountReq - - @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match - Count - - wdiPCFilterMatchCountCallback: callback for passing back - the response of the D0 PC Filter Match Count operation - received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_FilterMatchCountReq -( - WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo, - WDI_FilterMatchCountCb wdiFilterMatchCountCallback, - void* pUserData -); - -/** - @brief WDI_ReceiveFilterClearFilterReq - - @param pwdiRcvFltPktClearReqInfo: the Clear Filter as - specified by the Device Interface - - wdiReceiveFilterClearFilterCallback: callback for - passing back the response of the Clear Filter - operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_ReceiveFilterClearFilterReq -( - WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo, - WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback, - void* pUserData -); -#endif // WLAN_FEATURE_PACKET_FILTERING - -/** - @brief WDI_HALDumpCmdReq - Post HAL DUMP Command Event - - @param halDumpCmdReqParams: Hal Dump Command Body - @param halDumpCmdRspCb: callback for passing back the - response - @param pUserData: Client Data - - @see - @return Result of the function call -*/ -WDI_Status WDI_HALDumpCmdReq( - WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams, - WDI_HALDumpCmdRspCb halDumpCmdRspCb, - void *pUserData -); - - -/** - @brief WDI_SetPowerParamsReq - - @param pwdiPowerParamsReqParams: the Set Power Params as - specified by the Device Interface - - wdiPowerParamsCb: callback for passing back the response - of the Set Power Params operation received from the - device - - pUserData: user data will be passed back with the - callback - - @return Result of the function call -*/ -WDI_Status -WDI_SetPowerParamsReq -( - WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams, - WDI_SetPowerParamsCb wdiPowerParamsCb, - void* pUserData -); -/** - @brief WDI_dhcpStartInd - Forward the DHCP Start event - - @param - - wdiDHCPInd: device mode and MAC address is passed - - @see - @return Result of the function call -*/ - -WDI_Status -WDI_dhcpStartInd -( - WDI_DHCPInd *wdiDHCPInd -); -/** - @brief WDI_dhcpStopReq - Forward the DHCP Stop event - - @param - - wdiDHCPInd: device mode and MAC address is passed - - @see - @return Result of the function call -*/ - -WDI_Status -WDI_dhcpStopInd -( - WDI_DHCPInd *wdiDHCPInd -); - -/** - @brief WDI_RateUpdateInd will be called when the upper MAC - requests the device to update rates. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - - @param wdiRateUpdateIndParams - - - @see WDI_Start - @return Result of the function call -*/ -WDI_Status -WDI_RateUpdateInd -( - WDI_RateUpdateIndParams *wdiRateUpdateIndParams -); - -#ifdef WLAN_FEATURE_GTK_OFFLOAD -/** - @brief WDI_GTKOffloadReq will be called when the upper MAC - wants to set GTK Rekey Counter while in power save. Upon - the call of this API the WLAN DAL will pack and send a - HAL GTK offload request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiGtkOffloadParams: the GTK offload as specified - by the Device Interface - - wdiGtkOffloadCb: callback for passing back the response - of the GTK offload operation received from the device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_GTKOffloadReq -( - WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg, - WDI_GtkOffloadCb wdiGtkOffloadCb, - void* pUserData -); - -/** - @brief WDI_GTKOffloadGetInfoReq will be called when the upper - MAC wants to get GTK Rekey Counter while in power save. - Upon the call of this API the WLAN DAL will pack and - send a HAL GTK offload request message to the lower RIVA - sub-system if DAL is in state STARTED. - - In state BUSY this request will be queued. Request won't - be allowed in any other state. - - WDI_PostAssocReq must have been called. - - @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload - Information Message as specified by the - Device Interface - - wdiGtkOffloadGetInfoCb: callback for passing back the - response of the GTK offload operation received from the - device - - pUserData: user data will be passed back with the - callback - - @see WDI_PostAssocReq - @return Result of the function call -*/ -WDI_Status -WDI_GTKOffloadGetInfoReq -( - WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg, - WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb, - void* pUserData -); -#endif // WLAN_FEATURE_GTK_OFFLOAD - -/** - @brief WDI_featureCapsExchangeReq - Post feature capability bitmap exchange event. - Host will send its own capability to FW in this req and - expect FW to send its capability back as a bitmap in Response - - @param - - wdiFeatCapsExcRspCb: callback called on getting the response. - It is kept to mantain similarity between WDI reqs and if needed, can - be used in future. Currently, It is set to NULL - - pUserData: user data will be passed back with the - callback - - @see - @return Result of the function call -*/ -WDI_Status -WDI_featureCapsExchangeReq -( - WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb, - void* pUserData -); - -/** - @brief Disable Active mode offload in Host - - @param void - @see - @return void -*/ -void -WDI_disableCapablityFeature(wpt_uint8 feature_index); - - -/** - @brief WDI_getHostWlanFeatCaps - WDI API that returns whether the feature passed to it as enum value in - "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global - variable storing host capability bitmap to find this. This can be used by - other moduels to decide certain things like call different APIs based on - whether a particular feature is supported. - - @param - - feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h. - - @see - @return - 0 - if the feature is NOT supported in host - any non-zero value - if the feature is SUPPORTED in host. -*/ -wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value); - -/** - @brief WDI_getFwWlanFeatCaps - WDI API that returns whether the feature passed to it as enum value in - "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global - variable storing host capability bitmap to find this. This can be used by - other moduels to decide certain things like call different APIs based on - whether a particular feature is supported. - - @param - - feat_enum_value: enum value for the feature as in placeHolderInCapBitmap - in wlan_hal_msg.h. - - @see - @return - 0 - if the feature is NOT supported in FW - any non-zero value - if the feature is SUPPORTED in FW. -*/ -static inline wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value) -{ - return 1; -} - -/** - @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled - api version - - @param WDI_WlanVersionType: Wlan version structure - @see - @return none -*/ - -void WDI_GetWcnssCompiledApiVersion -( - WDI_WlanVersionType *pWcnssApiVersion -); - -#ifdef WLAN_FEATURE_11AC -WDI_Status -WDI_UpdateVHTOpModeReq -( - WDI_UpdateVHTOpMode *pData, - WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb, - void* pUserData -); - -#endif - -/** - @brief WDI_TransportChannelDebug - - Display DXE Channel debugging information - User may request to display DXE channel snapshot - Or if host driver detects any abnormal stcuk may display - - @param displaySnapshot : Display DXE snapshot option - @param enableStallDetect : Enable stall detect feature - This feature will take effect to data performance - Not integrate till fully verification - @see - @return none -*/ -void WDI_TransportChannelDebug -( - wpt_boolean displaySnapshot, - wpt_boolean toggleStallDetect -); - -/** - @brief WDI_SsrTimerCB - Callback function for SSR timer, if this is called then the graceful - shutdown for Riva did not happen. - - @param pUserData : user data to timer - - @see - @return none -*/ -void -WDI_SsrTimerCB -( - void *pUserData -); - -/** - @brief WDI_SetEnableSSR - - This API is called to enable/disable SSR on WDI timeout. - - @param enableSSR : enable/disable SSR - - @see - @return none -*/ -void WDI_SetEnableSSR(wpt_boolean enableSSR); - -#ifdef FEATURE_WLAN_LPHB -/** - @brief WDI_LPHBConfReq - This API is called to config FW LPHB rule - - @param lphbconfParam : LPHB rule should config to FW - usrData : Client context - lphbCfgCb : Configuration status callback - @see - @return SUCCESS or FAIL -*/ -WDI_Status WDI_LPHBConfReq -( - void *lphbconfParam, - void *usrData, - WDI_LphbCfgCb lphbCfgCb -); -#endif /* FEATURE_WLAN_LPHB */ - -#ifdef FEATURE_WLAN_BATCH_SCAN -/** - @brief WDI_SetBatchScanReq - This API is called to set batch scan request in FW - - @param pBatchScanReqParam : pointer to set batch scan re param - usrData : Client context - setBatchScanRspCb : set batch scan resp callback - @see - @return SUCCESS or FAIL -*/ -WDI_Status WDI_SetBatchScanReq -( - void *pBatchScanReqParam, - void *usrData, - WDI_SetBatchScanCb setBatchScanRspCb -); - -/** - @brief WDI_StopBatchScanInd - - @param none - - @see - - @return Status of the request -*/ -WDI_Status -WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq); - -/** - @brief WDI_TriggerBatchScanResultInd - This API is called to pull batch scan result from FW - - @param pBatchScanReqParam : pointer to trigger batch scan ind param - usrData : Client context - setBatchScanRspCb : get batch scan resp callback - @see - @return SUCCESS or FAIL -*/ -WDI_Status -WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq); - - -#endif /*FEATURE_WLAN_BATCH_SCAN*/ - -#ifdef __cplusplus - } -#endif - - -#endif /* #ifndef WLAN_QCT_WDI_H */ diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_bd.h b/CORE/WDI/CP/inc/wlan_qct_wdi_bd.h deleted file mode 100644 index 400e3a1a31d1..000000000000 --- a/CORE/WDI/CP/inc/wlan_qct_wdi_bd.h +++ /dev/null @@ -1,1291 +0,0 @@ -/* - * Copyright (c) 2014 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_QCT_WDI_BD_H -#define WLAN_QCT_WDI_BD_H - -/*=========================================================================== - - W L A N D E V I C E A B S T R A C T I O N L A Y E R - I N T E R N A L A P I F O R T H E - B D H E A D E R D E F I N I T I O N - - -DESCRIPTION - This file contains the internal BD definition exposed by the DAL Control - Path Core module to be used by the DAL Data Path Core. -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -08/19/10 lti Created module. - -===========================================================================*/ - -#include "wlan_qct_pal_type.h" - - -/*========================================================================= - BD STRUCTURE Defines - =========================================================================*/ -/*--------------------------------------------------------------------------- - WDI_RxBdType - The format of the RX BD ----------------------------------------------------------------------------*/ -typedef struct -{ - /* 0x00 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** (Only used by the DPU) - This routing flag indicates the WQ number to which the DPU will push the - frame after it finished processing it. */ - wpt_uint32 dpuRF:8; - - /** This is DPU sig inserted by RXP. Signature on RA's DPU descriptor */ - wpt_uint32 dpuSignature:3; - - /** When set Sta is authenticated. SW needs to set bit - addr2_auth_extract_enable in rxp_config2 register. Then RXP will use bit 3 - in DPU sig to say whether STA is authenticated or not. In this case only - lower 2bits of DPU Sig is valid */ - wpt_uint32 stAuF:1; - - /** When set address2 is not valid */ - wpt_uint32 A2HF:1; - - /** When set it indicates TPE has sent the Beacon frame */ - wpt_uint32 bsf:1; - - /** This bit filled by rxp when set indicates if the current tsf is smaller - than received tsf */ - wpt_uint32 rtsf:1; - -#ifdef WCN_PRONTO_CSU - /** No valid header found during parsing. Therefore no checksum was validated */ - wpt_uint32 csuNoValHd:1; - - /** 0 = CSU did not verify TCP/UDP (Transport Layer TL) checksum; 1 = CSU verified TCP/UDP checksum */ - wpt_uint32 csuVerifiedTLChksum:1; - - /** 0 = CSU did not verify IP checksum; 1 = CSU verified IP checksum */ - wpt_uint32 csuVerifiedIPChksum:1; - - /** 0 = BD field checksum is not valid; 1 = BD field checksum is valid */ - wpt_uint32 csuChksumValid:1; - - /** 0 = No TCP/UDP checksum error; 1 = Has TCP/UDP checksum error */ - wpt_uint32 csuTLChksumError:1; - - /** 0 = No IPv4/IPv6 checksum error; 1 = Has IPv4/IPv6 checksum error */ - wpt_uint32 csuIPChksumError:1; -#else /*WCN_PRONTO*/ - /** These two fields are used by SW to carry the Rx Channel number and SCAN bit in RxBD*/ - wpt_uint32 rxChannel:4; - wpt_uint32 scanLearn:1; - wpt_uint32 reserved0:1; -#endif /*WCN_PRONTO*/ - - /** LLC Removed - This bit is only used in Libra rsvd for Virgo1.0/Virgo2.0 - Filled by ADU when it is set LLC is removed from packet */ - wpt_uint32 llcr:1; - - wpt_uint32 umaByPass:1; - - /** This bit is only available in Virgo2.0/libra it is reserved in Virgo1.0 - Robust Management frame. This bit indicates to DPU that the packet is a - robust management frame which requires decryption(this bit is only valid for - management unicast encrypted frames) - 1 - Needs decryption - 0 - No decryption required */ - wpt_uint32 rmf:1; - - /** - This bit is only in Virgo2.0/libra it is reserved in Virgo 1.0 - This 1-bit field indicates to DPU Unicast/BC/MC packet - 0 - Unicast packet - 1 - Broadcast/Multicast packet - This bit is only valid when RMF bit is 1 */ - wpt_uint32 ub:1; - - /** This is the KEY ID extracted from WEP packets and is used for determine - the RX Key Index to use in the DPU Descriptror. - This field is 2bits for virgo 1.0 - And 3 bits in virgo2.0 and Libra - In virgo2.0/libra it is 3bits for the BC/MC packets */ - wpt_uint32 rxKeyId:3; - - /** (Only used by the DPU) - No encryption/decryption - 0: No action - 1: DPU will not encrypt/decrypt the frame, and discard any encryption - related settings in the PDU descriptor. */ - wpt_uint32 dpuNE:1; - - /** - This is only available in libra/virgo2.0 it is reserved for virgo1.0 - This bit is filled by RXP and modified by ADU - This bit indicates to ADU/UMA module that the packet requires 802.11n to - 802.3 frame translation. Once ADU/UMA is done with translation they - overwrite it with 1'b0/1'b1 depending on how the translation resulted - When used by ADU - 0 - No frame translation required - 1 - Frame Translation required - When used by SW - 0 - Frame translation not done, MPDU header offset points to 802.11 header.. - 1 - Frame translation done ; hence MPDU header offset will point to a - 802.3 header */ - wpt_uint32 ft:1; - - /** (Only used by the DPU) - BD Type - 00: 'Generic BD', as indicted above - 01: De-fragmentation format - 10-11: Reserved for future use. */ - wpt_uint32 bdt:2; - -#else - wpt_uint32 bdt:2; - wpt_uint32 ft:1; - wpt_uint32 dpuNE:1; - wpt_uint32 rxKeyId:3; - wpt_uint32 ub:1; - wpt_uint32 rmf:1; - wpt_uint32 umaByPass:1; - wpt_uint32 llcr:1; - -#ifdef WCN_PRONTO_CSU - wpt_uint32 csuIPChksumError:1; - wpt_uint32 csuTLChksumError:1; - wpt_uint32 csuChksumValid:1; - wpt_uint32 csuVerifiedIPChksum:1; - wpt_uint32 csuVerifiedTLChksum:1; - wpt_uint32 csuNoValHd:1; -#else /*WCN_PRONTO*/ - wpt_uint32 reserved0:1; - wpt_uint32 scanLearn:1; - wpt_uint32 rxChannel:4; -#endif /*WCN_PRONTO*/ - - wpt_uint32 rtsf:1; - wpt_uint32 bsf:1; - wpt_uint32 A2HF:1; - wpt_uint32 stAuF:1; - wpt_uint32 dpuSignature:3; - wpt_uint32 dpuRF:8; -#endif - - /* 0x04 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** This is used for AMSDU this is the PDU index of the PDU which is the - one before last PDU; for all non AMSDU frames, this field SHALL be 0. - Used in ADU (for AMSDU deaggregation) */ - wpt_uint32 penultimatePduIdx:16; - -#ifdef WCN_PRONTO - wpt_uint32 aduFeedback:7; - wpt_uint32 dpuMagicPacket: 1; -#else - wpt_uint32 aduFeedback:8; -#endif //WCN_PRONTO - - /** DPU feedback */ - wpt_uint32 dpuFeedback:8; - -#else - wpt_uint32 dpuFeedback:8; -#ifdef WCN_PRONTO - wpt_uint32 dpuMagicPacket: 1; - wpt_uint32 aduFeedback:7; -#else - wpt_uint32 aduFeedback:8; -#endif //WCN_PRONTO - wpt_uint32 penultimatePduIdx:16; -#endif - - /* 0x08 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** In case PDUs are linked to the BD, this field indicates the index of - the first PDU linked to the BD. When PDU count is zero, this field has an - undefined value. */ - wpt_uint32 headPduIdx:16; - - /** In case PDUs are linked to the BD, this field indicates the index of - the last PDU. When PDU count is zero, this field has an undefined value.*/ - wpt_uint32 tailPduIdx:16; - -#else - wpt_uint32 tailPduIdx:16; - wpt_uint32 headPduIdx:16; -#endif - - /* 0x0c */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** The length (in number of bytes) of the MPDU header. - Limitation: The MPDU header offset + MPDU header length can never go beyond - the end of the first PDU */ - wpt_uint32 mpduHeaderLength:8; - - /** The start byte number of the MPDU header. - The byte numbering is done in the BE format. Word 0x0, bits [31:24] has - byte index 0. */ - wpt_uint32 mpduHeaderOffset:8; - - /** The start byte number of the MPDU data. - The byte numbering is done in the BE format. Word 0x0, bits [31:24] has - byte index 0. Note that this offset can point all the way into the first - linked PDU. - Limitation: MPDU DATA OFFSET can not point into the 2nd linked PDU */ - wpt_uint32 mpduDataOffset:9; - - /** The number of PDUs linked to the BD. - This field should always indicate the correct amount. */ - wpt_uint32 pduCount:7; -#else - - wpt_uint32 pduCount:7; - wpt_uint32 mpduDataOffset:9; - wpt_uint32 mpduHeaderOffset:8; - wpt_uint32 mpduHeaderLength:8; -#endif - - /* 0x10 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** This is the length (in number of bytes) of the entire MPDU - (header and data). Note that the length does not include FCS field. */ - wpt_uint32 mpduLength:16; - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD - wpt_uint32 offloadScanLearn:1; - wpt_uint32 roamCandidateInd:1; -#else - wpt_uint32 reserved22:2; -#endif - -#ifdef WCN_PRONTO - wpt_uint32 reserved3: 1; - wpt_uint32 rxDXEPriorityRouting:1; -#else - wpt_uint32 reserved3:2; -#endif //WCN_PRONTO - - - /** Traffic Identifier - Indicates the traffic class the frame belongs to. For non QoS frames, - this field is set to zero. */ - wpt_uint32 tid:4; - - wpt_uint32 reserved4:8; -#else - wpt_uint32 reserved4:8; - wpt_uint32 tid:4; -#ifdef WCN_PRONTO - wpt_uint32 rxDXEPriorityRouting:1; - wpt_uint32 reserved3: 1; -#else - wpt_uint32 reserved3:2; -#endif //WCN_PRONTO -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD - wpt_uint32 roamCandidateInd:1; - wpt_uint32 offloadScanLearn:1; -#else - wpt_uint32 reserved22:2; -#endif - - wpt_uint32 mpduLength:16; -#endif - - /* 0x14 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** (Only used by the DPU) - The DPU descriptor index is used to calculate where in memory the DPU can - find the DPU descriptor related to this frame. The DPU calculates the - address by multiplying this index with the DPU descriptor size and adding - the DPU descriptors base address. The DPU descriptor contains information - specifying the encryption and compression type and contains references to - where encryption keys can be found. */ - wpt_uint32 dpuDescIdx:8; - - /** The result from the binary address search on the ADDR1 of the incoming - frame. See chapter: RXP filter for encoding of this field. */ - wpt_uint32 addr1Index:8; - - /** The result from the binary address search on the ADDR2 of the incoming - frame. See chapter: RXP filter for encoding of this field. */ - wpt_uint32 addr2Index:8; - - /** The result from the binary address search on the ADDR3 of the incoming - frame. See chapter: RXP filter for encoding of this field. */ - wpt_uint32 addr3Index:8; -#else - wpt_uint32 addr3Index:8; - wpt_uint32 addr2Index:8; - wpt_uint32 addr1Index:8; - wpt_uint32 dpuDescIdx:8; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - - /** Indicates Rate Index of packet received */ - wpt_uint32 rateIndex:9; - - /** An overview of RXP status information related to receiving the frame.*/ - wpt_uint32 rxpFlags:23; - -#else - - wpt_uint32 rxpFlags:23; /* RxP flags*/ - wpt_uint32 rateIndex:9; - -#endif - /* 0x1c, 20 */ - /** The PHY can be programmed to put all the PHY STATS received from the - PHY when receiving a frame in the BD. */ - wpt_uint32 phyStats0; /* PHY status word 0*/ - wpt_uint32 phyStats1; /* PHY status word 1*/ - - /* 0x24 */ - /** The value of the TSF[31:0] bits at the moment that the RXP start - receiving a frame from the PHY RX. */ - wpt_uint32 mclkRxTimestamp; /* Rx timestamp, microsecond based*/ - - /* 0x28~0x38 */ - /** The bits from the PMI command as received from the PHY RX. */ - wpt_uint32 pmiCmd4to23[5]; /* PMI cmd rcvd from RxP */ - - /* 0x3c */ -#ifdef WCN_PRONTO -#ifdef WPT_BIG_BYTE_ENDIAN - /** The bits from the PMI command as received from the PHY RX. */ - wpt_uint32 pmiCmd24to25:16; - - /* 16-bit CSU Checksum value for the fragmented receive frames */ - wpt_uint32 csuChecksum:16; -#else - wpt_uint32 csuChecksum:16; - wpt_uint32 pmiCmd24to25:16; -#endif -#else /*WCN_PRONTO*/ - /** The bits from the PMI command as received from the PHY RX. */ - wpt_uint32 pmiCmd24to25; -#endif /*WCN_PRONTO*/ - - /* 0x40 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** Gives commands to software upon which host will perform some commands. - Please refer to following RPE document for description of all different - values for this field. */ - wpt_uint32 reorderOpcode:4; - - wpt_uint32 reserved6:12; - - /** Filled by RPE to Indicate to the host up to which slot the host needs - to forward the packets to upper Mac layer. This field mostly used for AMDPU - packets */ - wpt_uint32 reorderFwdIdx:6; - - /** Filled by RPE which indicates to the host which one of slots in the - available 64 slots should the host Queue the packet. This field only - applied to AMPDU packets. */ - wpt_uint32 reorderSlotIdx:6; - -#ifdef WCN_PRONTO - wpt_uint32 reserved7: 2; - wpt_uint32 outOfOrderForward: 1; - wpt_uint32 reorderEnable: 1; -#else - wpt_uint32 reserved7:4; -#endif //WCN_PRONTO - -#else - -#ifdef WCN_PRONTO - wpt_uint32 reorderEnable: 1; - wpt_uint32 outOfOrderForward: 1; - wpt_uint32 reserved7: 2; -#else - wpt_uint32 reserved7:4; -#endif //WCN_PRONTO - wpt_uint32 reorderSlotIdx:6; - wpt_uint32 reorderFwdIdx:6; - wpt_uint32 reserved6:12; - wpt_uint32 reorderOpcode:4; -#endif - - /* 0x44 */ -#ifdef WPT_BIG_BYTE_ENDIAN - /** reserved8 from a hardware perspective. - Used by SW to propogate frame type/subtype information */ - wpt_uint32 frameTypeSubtype:6; - wpt_uint32 rfBand:2; - - /** Filled RPE gives the current sequence number in bitmap */ - wpt_uint32 currentPktSeqNo:12; - - /** Filled by RPE which gives the sequence number of next expected packet - in bitmap */ - wpt_uint32 expectedPktSeqNo:12; -#else - wpt_uint32 expectedPktSeqNo:12; - wpt_uint32 currentPktSeqNo:12; - wpt_uint32 rfBand:2; - wpt_uint32 frameTypeSubtype:6; -#endif - - /* 0x48 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** When set it is the AMSDU subframe */ - wpt_uint32 asf:1; - - /** When set it is the First subframe of the AMSDU packet */ - wpt_uint32 esf:1; - - /** When set it is the last subframe of the AMSDU packet */ - wpt_uint32 lsf:1; - - /** When set it indicates an Errored AMSDU packet */ - wpt_uint32 aef:1; - - wpt_uint32 reserved9:4; - - /** It gives the order in which the AMSDU packet is processed - Basically this is a number which increments by one for every AMSDU frame - received. Mainly for debugging purpose. */ - wpt_uint32 processOrder:4; - - /** It is the order of the subframe of AMSDU that is processed by ADU. - This is reset to 0 when ADU deaggregates the first subframe from a new - AMSDU and increments by 1 for every new subframe deaggregated within the - AMSDU, after it reaches 4'hf it stops incrementing. That means host should - not rely on this field as index for subframe queuing. Theoretically there - can be way more than 16 subframes in an AMSDU. This is only used for debug - purpose, SW should use LSF and FSF bits to determine first and last - subframes. */ - wpt_uint32 sybFrameIdx:4; - - /** Filled by ADU this is the total AMSDU size */ - wpt_uint32 totalMsduSize:16; -#else - wpt_uint32 totalMsduSize:16; - wpt_uint32 sybFrameIdx:4; - wpt_uint32 processOrder:4; - wpt_uint32 reserved9:4; - wpt_uint32 aef:1; - wpt_uint32 lsf:1; - wpt_uint32 esf:1; - wpt_uint32 asf:1; -#endif - -} WDI_RxBdType; - -/*--------------------------------------------------------------------------- - WDI_RxFcBdType - The format of the RX special flow control BD ----------------------------------------------------------------------------*/ -typedef struct -{ - /* 0x00 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** (Only used by the DPU) - This routing flag indicates the WQ number to which the DPU will push the - frame after it finished processing it. */ - wpt_uint32 dpuRF:8; - - /** This is DPU sig inserted by RXP. Signature on RA's DPU descriptor */ - wpt_uint32 dpuSignature:3; - - /** When set Sta is authenticated. SW needs to set bit - addr2_auth_extract_enable in rxp_config2 register. Then RXP will use bit 3 - in DPU sig to say whether STA is authenticated or not. In this case only - lower 2bits of DPU Sig is valid */ - wpt_uint32 stAuF:1; - - /** When set address2 is not valid */ - wpt_uint32 A2HF:1; - - /** When set it indicates TPE has sent the Beacon frame */ - wpt_uint32 bsf:1; - - /** This bit filled by rxp when set indicates if the current tsf is smaller - than received tsf */ - wpt_uint32 rtsf:1; - - /** These two fields are used by SW to carry the Rx Channel number and SCAN bit in RxBD*/ - wpt_uint32 rxChannel:4; - wpt_uint32 scanLearn:1; - - wpt_uint32 reserved0:1; - - /** LLC Removed - This bit is only used in Libra rsvd for Virgo1.0/Virgo2.0 - Filled by ADU when it is set LLC is removed from packet */ - wpt_uint32 llcr:1; - - wpt_uint32 umaByPass:1; - - /** This bit is only available in Virgo2.0/libra it is reserved in Virgo1.0 - Robust Management frame. This bit indicates to DPU that the packet is a - robust management frame which requires decryption(this bit is only valid for - management unicast encrypted frames) - 1 - Needs decryption - 0 - No decryption required */ - wpt_uint32 rmf:1; - - /** - This bit is only in Virgo2.0/libra it is reserved in Virgo 1.0 - This 1-bit field indicates to DPU Unicast/BC/MC packet - 0 - Unicast packet - 1 - Broadcast/Multicast packet - This bit is only valid when RMF bit is 1 */ - wpt_uint32 ub:1; - - /** This is the KEY ID extracted from WEP packets and is used for determine - the RX Key Index to use in the DPU Descriptror. - This field is 2bits for virgo 1.0 - And 3 bits in virgo2.0 and Libra - In virgo2.0/libra it is 3bits for the BC/MC packets */ - wpt_uint32 rxKeyId:3; - - /** (Only used by the DPU) - No encryption/decryption - 0: No action - 1: DPU will not encrypt/decrypt the frame, and discard any encryption - related settings in the PDU descriptor. */ - wpt_uint32 dpuNE:1; - - /** - This is only available in libra/virgo2.0 it is reserved for virgo1.0 - This bit is filled by RXP and modified by ADU - This bit indicates to ADU/UMA module that the packet requires 802.11n to - 802.3 frame translation. Once ADU/UMA is done with translation they - overwrite it with 1'b0/1'b1 depending on how the translation resulted - When used by ADU - 0 - No frame translation required - 1 - Frame Translation required - When used by SW - 0 - Frame translation not done, MPDU header offset points to 802.11 header.. - 1 - Frame translation done ; hence MPDU header offset will point to a - 802.3 header */ - wpt_uint32 ft:1; - - /** (Only used by the DPU) - BD Type - 00: 'Generic BD', as indicted above - 01: De-fragmentation format - 10-11: Reserved for future use. */ - wpt_uint32 bdt:2; - -#else - wpt_uint32 bdt:2; - wpt_uint32 ft:1; - wpt_uint32 dpuNE:1; - wpt_uint32 rxKeyId:3; - wpt_uint32 ub:1; - wpt_uint32 rmf:1; - wpt_uint32 reserved1:1; - wpt_uint32 llc:1; - wpt_uint32 reserved0:1; - wpt_uint32 scanLearn:1; - wpt_uint32 rxChannel:4; - wpt_uint32 rtsf:1; - wpt_uint32 bsf:1; - wpt_uint32 A2HF:1; - wpt_uint32 stAuF:1; - wpt_uint32 dpuSignature:3; - wpt_uint32 dpuRF:8; -#endif - - /* 0x04 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** This is used for AMSDU this is the PDU index of the PDU which is the - one before last PDU; for all non AMSDU frames, this field SHALL be 0. - Used in ADU (for AMSDU deaggregation) */ - wpt_uint32 penultimatePduIdx:16; - - wpt_uint32 aduFeedback:8; - - /** DPU feedback */ - wpt_uint32 dpuFeedback:8; - -#else - wpt_uint32 dpuFeedback:8; - wpt_uint32 aduFeedback:8; - wpt_uint32 penultimatePduIdx:16; -#endif - - /* 0x08 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** In case PDUs are linked to the BD, this field indicates the index of - the first PDU linked to the BD. When PDU count is zero, this field has an - undefined value. */ - wpt_uint32 headPduIdx:16; - - /** In case PDUs are linked to the BD, this field indicates the index of - the last PDU. When PDU count is zero, this field has an undefined value.*/ - wpt_uint32 tailPduIdx:16; - -#else - wpt_uint32 tailPduIdx:16; - wpt_uint32 headPduIdx:16; -#endif - - /* 0x0c */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** The length (in number of bytes) of the MPDU header. - Limitation: The MPDU header offset + MPDU header length can never go beyond - the end of the first PDU */ - wpt_uint32 mpduHeaderLength:8; - - /** The start byte number of the MPDU header. - The byte numbering is done in the BE format. Word 0x0, bits [31:24] has - byte index 0. */ - wpt_uint32 mpduHeaderOffset:8; - - /** The start byte number of the MPDU data. - The byte numbering is done in the BE format. Word 0x0, bits [31:24] has - byte index 0. Note that this offset can point all the way into the first - linked PDU. - Limitation: MPDU DATA OFFSET can not point into the 2nd linked PDU */ - wpt_uint32 mpduDataOffset:9; - - /** The number of PDUs linked to the BD. - This field should always indicate the correct amount. */ - wpt_uint32 pduCount:7; -#else - - wpt_uint32 pduCount:7; - wpt_uint32 mpduDataOffset:9; - wpt_uint32 mpduHeaderOffset:8; - wpt_uint32 mpduHeaderLength:8; -#endif - - /* 0x10 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** This is the length (in number of bytes) of the entire MPDU - (header and data). Note that the length does not include FCS field. */ - wpt_uint32 mpduLength:16; - - wpt_uint32 reserved3:4; - - /** Traffic Identifier - Indicates the traffic class the frame belongs to. For non QoS frames, - this field is set to zero. */ - wpt_uint32 tid:4; - - wpt_uint32 reserved4:7; - wpt_uint32 fc:1; //if set then its special flow control BD. -#else - wpt_uint32 fc:1; //if set then its special flow control BD. - wpt_uint32 reserved4:7; - wpt_uint32 tid:4; - wpt_uint32 reserved3:4; - wpt_uint32 mpduLength:16; -#endif - - /* 0x14 */ -#ifdef WPT_BIG_BYTE_ENDIAN - - /** (Only used by the DPU) - The DPU descriptor index is used to calculate where in memory the DPU can - find the DPU descriptor related to this frame. The DPU calculates the - address by multiplying this index with the DPU descriptor size and adding - the DPU descriptors base address. The DPU descriptor contains information - specifying the encryption and compression type and contains references to - where encryption keys can be found. */ - wpt_uint32 dpuDescIdx:8; - - /** The result from the binary address search on the ADDR1 of the incoming - frame. See chapter: RXP filter for encoding of this field. */ - wpt_uint32 addr1Index:8; - - /** The result from the binary address search on the ADDR2 of the incoming - frame. See chapter: RXP filter for encoding of this field. */ - wpt_uint32 addr2Index:8; - - /** The result from the binary address search on the ADDR3 of the incoming - frame. See chapter: RXP filter for encoding of this field. */ - wpt_uint32 addr3Index:8; -#else - wpt_uint32 addr3Index:8; - wpt_uint32 addr2Index:8; - wpt_uint32 addr1Index:8; - wpt_uint32 dpuDescIdx:8; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - - /** Indicates Rate Index of packet received */ - wpt_uint32 rateIndex:9; - - /** An overview of RXP status information related to receiving the frame.*/ - wpt_uint32 rxpFlags:23; - -#else - - wpt_uint32 rxpFlags:23; /* RxP flags*/ - wpt_uint32 rateIndex:9; - -#endif - /* 0x1c, 20 */ - /** The PHY can be programmed to put all the PHY STATS received from the - PHY when receiving a frame in the BD. */ - wpt_uint32 phyStats0; /* PHY status word 0*/ - wpt_uint32 phyStats1; /* PHY status word 1*/ - - /* 0x24 */ - /** The value of the TSF[31:0] bits at the moment that the RXP start - receiving a frame from the PHY RX. */ - wpt_uint32 mclkRxTimestamp; /* Rx timestamp, microsecond based*/ - - /* 0x28 - 0x2c*/ -#ifdef WPT_BIG_BYTE_ENDIAN - /** One bit per STA. Bit X for STA id X, X=0~7. When set, corresponding STA is valid in FW's STA table.*/ - wpt_uint32 fcSTAValidMask:16; - /** One bit per STA. Bit X for STA id X, X=0~7. Valid only when corresponding bit in fcSTAValisMask is set.*/ - wpt_uint32 fcSTAPwrSaveStateMask:16; - /** One bit per STA. Bit X for STA id X, X=0~7. Valid only when corresponding bit in fcSTAValisMask is set. - When set, corresponding fcSTAThreshEnableMask bit in previous flow control request packet frame was enabled - AND the STA TxQ length is lower than configured fcSTAThresh<X> value. */ - wpt_uint32 fcSTAThreshIndMask:16; - /** Bit 0 unit: 1=BD count(Libra SoftAP project default). 0=packet count. Bit 7-1: Reserved */ - wpt_uint32 fcSTATxQStatus:16; -#else - wpt_uint32 fcSTATxQStatus:16; - wpt_uint32 fcSTAThreshIndMask:16; - wpt_uint32 fcSTAPwrSaveStateMask:16; - wpt_uint32 fcSTAValidMask:16; -#endif - /* 0x30 */ -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 fcStaTxDisabledBitmap:16; - wpt_uint32 reserved5:16; -#else - wpt_uint32 reserved5:16; - wpt_uint32 fcStaTxDisabledBitmap:16; -#endif - - // with HAL_NUM_STA as 12 - /* 0x34 to 0x3A*/ - wpt_uint32 fcSTATxQLen[12]; // one byte per STA. - wpt_uint32 fcSTACurTxRate[12]; // current Tx rate for each sta. - -} WDI_FcRxBdType; //flow control BD - -/*--------------------------------------------------------------------------- - WDI_TxBdType - The format of the TX BD ----------------------------------------------------------------------------*/ -typedef struct -{ - /* 0x00 */ -#ifdef WPT_BIG_BYTE_ENDIAN - /** (Only used by the DPU) This routing flag indicates the WQ number to - which the DPU will push the frame after it finished processing it. */ - wpt_uint32 dpuRF:8; - - /** DPU signature. Filled by Host in Virgo 1.0 but by ADU in Virgo 2.0 */ - wpt_uint32 dpuSignature:3; - -#ifdef WCN_PRONTO - /** Reserved */ - wpt_uint32 reserved0:2; - - /** Set to '1' to terminate the current AMPDU session. Added based on the - request for WiFi Display */ - wpt_uint32 terminateAMPDU:1; - - /** Bssid index to indicate ADU to use which of the 4 default MAC address - to use while 802.3 to 802.11 translation in case search in ADU UMA table - fails. The default MAC address should be appropriately programmed in the - uma_tx_default_wmacaddr_u(_1,_2,_3) and uma_tx_default_wmacaddr_l(_1,_2,_3) - registers */ - wpt_uint32 umaBssidIdx:2; - - /** Set to 1 to enable uma filling the BD when FT is not enabled. - Ignored when FT is enabled. */ - wpt_uint32 umaBDEnable:1; - - /** (Only used by the CSU) - 0: No action - 1: Host will indicate TCP/UPD header start location and provide pseudo header value in BD. - */ - wpt_uint32 csuSWMode:1; - - /** Enable/Disable CSU on TX direction. - 0: Disable Checksum Unit (CSU) for Transmit. - 1: Enable - */ - wpt_uint32 csuTXEnable:1; - - /** Enable/Disable Transport layer Checksum in CSU - 0: Disable TCP UDP checksum generation for TX. - 1: Enable TCP UDP checksum generation for TX. - */ - wpt_uint32 csuEnableTLCksum:1; - - /** Enable/Disable IP layer Checksum in CSU - 0: Disable IPv4/IPv6 checksum generation for TX - 1: Enable IPv4/IPv6 checksum generation for TX - */ - wpt_uint32 csuEnableIPCksum:1; - - /** Filled by CSU to indicate whether transport layer Checksum is generated by CSU or not - 0: TCP/UDP checksum is being generated for TX. - 1: TCP/UDP checksum is NOT being generated for TX. - */ - wpt_uint32 csuTLCksumGenerated:1; - - /** Filled by CSU in error scenario - 1: No valid header found during parsing. Therefore no checksum was validated. - 0: Valid header found - */ - wpt_uint32 csuNoValidHeader:1; -#else /*WCN_PRONTO*/ - wpt_uint32 reserved0:12; -#endif /*WCN_PRONTO*/ - - /** Only available in Virgo 2.0 and reserved in Virgo 1.0. - This bit indicates to DPU that the packet is a robust management frame - which requires encryption(this bit is only valid for certain management - frames) - 1 - Needs encryption - 0 - No encrytion required - It is only set when Privacy bit=1 AND type/subtype=Deauth, Action, - Disassoc. Otherwise it should always be 0. */ - wpt_uint32 rmf:1; - - /** This bit is only in Virgo2.0/libra it is reserved in Virgo 1.0 - This 1-bit field indicates to DPU Unicast/BC/MC packet - 0 - Unicast packet - 1 - Broadcast/Multicast packet - This bit is valid only if RMF bit is set */ - wpt_uint32 ub:1; - - wpt_uint32 reserved1:1; - - /** This bit is only in Virgo2.0/libra it is reserved in Virgo 1.0 - This bit indicates TPE has to assert the TX complete interrupt. - 0 - no interrupt - 1 - generate interrupt */ - wpt_uint32 txComplete1:1; - wpt_uint32 fwTxComplete0:1; - - /** (Only used by the DPU) - No encryption/decryption - 0: No action - 1: DPU will not encrypt/decrypt the frame, and discard any encryption - related settings in the PDU descriptor. */ - wpt_uint32 dpuNE:1; - - - /** This is only available in libra/virgo2.0 it is reserved for virgo1.0 - This bit indicates to ADU/UMA module that the packet requires 802.11n - to 802.3 frame translation. When used by ADU - 0 - No frame translation required - 1 - Frame Translation required */ - wpt_uint32 ft:1; - - /** BD Type - 00: 'Generic BD', as indicted above - 01: De-fragmentation format - 10-11: Reserved for future use. */ - wpt_uint32 bdt:2; -#else - wpt_uint32 bdt:2; - wpt_uint32 ft:1; - wpt_uint32 dpuNE:1; - wpt_uint32 fwTxComplete0:1; - wpt_uint32 txComplete1:1; - wpt_uint32 reserved1:1; - wpt_uint32 ub:1; - wpt_uint32 rmf:1; -#ifdef WCN_PRONTO - wpt_uint32 csuNoValidHeader:1; - wpt_uint32 csuTLCksumGenerated:1; - wpt_uint32 csuEnableIPCksum:1; - wpt_uint32 csuEnableTLCksum:1; - wpt_uint32 csuTXEnable:1; - wpt_uint32 csuSWMode:1; - wpt_uint32 umaBDEnable:1; - wpt_uint32 umaBssidIdx:2; - wpt_uint32 terminateAMPDU:1; - wpt_uint32 reserved0:2; -#else /*WCN_PRONTO*/ - wpt_uint32 reserved0:12; -#endif /*WCN_PRONTO*/ - wpt_uint32 dpuSignature:3; - wpt_uint32 dpuRF:8; -#endif - - /* 0x04 */ -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved2:16; /* MUST BE 0 otherwise triggers BMU error*/ - wpt_uint32 aduFeedback:8; - - /* DPU feedback in Tx path.*/ - wpt_uint32 dpuFeedback:8; - -#else - wpt_uint32 dpuFeedback:8; - wpt_uint32 aduFeedback:8; - wpt_uint32 reserved2:16; -#endif - - /* 0x08 */ -#ifdef WPT_BIG_BYTE_ENDIAN - /** It is initially filled by DXE then if encryption is on, then DPU will - overwrite these fields. In case PDUs are linked to the BD, this field - indicates the index of the first PDU linked to the BD. When PDU count is - zero, this field has an undefined value. */ - wpt_uint32 headPduIdx:16; - - /** It is initially filled by DXE then if encryption is on, then DPU will - overwrite these fields.In case PDUs are linked to the BD, this field - indicates the index of the last PDU. When PDU count is zero, this field - has an undefined value. */ - wpt_uint32 tailPduIdx:16; -#else - wpt_uint32 tailPduIdx:16; - wpt_uint32 headPduIdx:16; -#endif - - /* 0x0c */ -#ifdef WPT_BIG_BYTE_ENDIAN - /** This is filled by Host in Virgo 1.0 but it gets changed by ADU in - Virgo2.0/Libra. The length (in number of bytes) of the MPDU header. - Limitation: The MPDU header offset + MPDU header length can never go beyond - the end of the first PDU */ - wpt_uint32 mpduHeaderLength:8; - - /** This is filled by Host in Virgo 1.0 but it gets changed by ADU in - Virgo2.0/Libra. The start byte number of the MPDU header. The byte numbering - is done in the BE format. Word 0x0, bits [31:24] has byte index 0. */ - wpt_uint32 mpduHeaderOffset:8; - - /** This is filled by Host in Virgo 1.0 but it gets changed by ADU in - Virgo2.0/Libra. The start byte number of the MPDU data. The byte numbering - is done in the BE format. Word 0x0, bits [31:24] has byte index 0. - Note that this offset can point all the way into the first linked PDU. - Limitation: MPDU DATA OFFSET can not point into the 2nd linked PDU */ - wpt_uint32 mpduDataOffset:9; - - /** It is initially filled by DXE then if encryption is on, then DPU will - overwrite these fields. The number of PDUs linked to the BD. This field - should always indicate the correct amount. */ - wpt_uint32 pduCount:7; -#else - wpt_uint32 pduCount:7; - wpt_uint32 mpduDataOffset:9; - wpt_uint32 mpduHeaderOffset:8; - wpt_uint32 mpduHeaderLength:8; -#endif - - /* 0x10 */ -#ifdef WPT_BIG_BYTE_ENDIAN - /** This is filled by Host in Virgo 1.0 but it gets changed by ADU in - Virgo2.0/LibraMPDU length.This covers MPDU header length + MPDU data length. - This does not include FCS. For single frame transmission, PSDU size is - mpduLength + 4.*/ - wpt_uint32 mpduLength:16; - - wpt_uint32 reserved3:2; - /** Sequence number insertion by DPU - 00: Leave sequence number as is, as filled by host - 01: DPU to insert non TID based sequence number (If it is not TID based, - then how does DPU know what seq to fill? Is this the non-Qos/Mgmt sequence - number? - 10: DPU to insert a sequence number based on TID. - 11: Reserved */ - wpt_uint32 bd_ssn:2; - - /** Traffic Identifier - Indicates the traffic class the frame belongs to. For non QoS frames, this - field is set to zero. */ - wpt_uint32 tid:4; - - wpt_uint32 reserved4:8; - -#else - wpt_uint32 reserved4:8; - wpt_uint32 tid:4; - wpt_uint32 bd_ssn:2; - wpt_uint32 reserved3:2; - wpt_uint32 mpduLength:16; -#endif - - /* 0x14 */ -#ifdef WPT_BIG_BYTE_ENDIAN - /** (Only used by the DPU) - This is filled by Host in Virgo 1.0 but it gets filled by ADU in - Virgo2.0/Libra. The DPU descriptor index is used to calculate where in - memory the DPU can find the DPU descriptor related to this frame. The DPU - calculates the address by multiplying this index with the DPU descriptor - size and adding the DPU descriptors base address. The DPU descriptor - contains information specifying the encryption and compression type and - contains references to where encryption keys can be found. */ - wpt_uint32 dpuDescIdx:8; - - /** This is filled by Host in Virgo 1.0 but it gets filled by ADU in - Virgo2.0/Libra. The STAid of the RA address */ - wpt_uint32 staIndex:8; - - /** A field passed on to TPE which influences the ACK policy to be used for - this frame - 00 - Iack - 01,10,11 - No Ack */ - wpt_uint32 ap:2; - - /** Overwrite option for the transmit rate - 00: Use rate programmed in the TPE STA descriptor - 01: Use TPE BD rate 1 - 10: Use TPE BD rate 2 - 11: Delayed Use TPE BD rate 3 */ - wpt_uint32 bdRate:2; - - /** - This is filled by Host in Virgo 1.0 but it gets filled by ADU in - Virgo2.0/Libra. Queue ID */ - wpt_uint32 queueId:5; - - wpt_uint32 reserved5:7; -#else - wpt_uint32 reserved5:7; - wpt_uint32 queueId:5; - wpt_uint32 bdRate:2; - wpt_uint32 ap:2; - wpt_uint32 staIndex:8; - wpt_uint32 dpuDescIdx:8; -#endif - - wpt_uint32 txBdSignature; - - /* 0x1C */ - wpt_uint32 reserved6; - /* 0x20 */ - /* Timestamp filled by DXE. Timestamp for current transfer */ - wpt_uint32 dxeH2BStartTimestamp; - - /* 0x24 */ - /* Timestamp filled by DXE. Timestamp for previous transfer */ - wpt_uint32 dxeH2BEndTimestamp; - -#ifdef WCN_PRONTO -#ifdef WPT_BIG_BYTE_ENDIAN - /** 10 bit value to indicate the start of TCP UDP frame relative to - * the first IP frame header */ - wpt_uint32 csuTcpUdpStartOffset:10; - - /** 16 bit pseudo header for TCP UDP used by CSU to generate TCP/UDP - * frame checksum */ - wpt_uint32 csuPseudoHeaderCksum:16; - - wpt_uint32 reserved7:6; -#else - wpt_uint32 reserved7:6; - wpt_uint32 csuPseudoHeaderCksum:16; - wpt_uint32 csuTcpUdpStartOffset:10; -#endif -#endif /*WCN_PRONTO*/ - -} WDI_TxBdType; - -/*--------------------------------------------------------------------------- - WDI_RxDeFragBdType - The format of the RX BD Defragmented ----------------------------------------------------------------------------*/ -typedef struct -{ - /* 0x00 */ -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved1:30; - wpt_uint32 bdt:2; -#else - wpt_uint32 bdt:2; - wpt_uint32 reserved1:30; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved2:24; - wpt_uint32 dpuFeedBack:8; -#else - wpt_uint32 dpuFeedBack:8; - wpt_uint32 reserved2:24; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved3:16; - wpt_uint32 frag0BdIdx:16; -#else - wpt_uint32 frag0BdIdx:16; - wpt_uint32 reserved3:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved4:16; - wpt_uint32 frag1BdIdx:16; -#else - wpt_uint32 frag1BdIdx:16; - wpt_uint32 reserved4:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 frag2BdIdx:16; - wpt_uint32 reserved5:16; -#else - wpt_uint32 frag2BdIdx:16; - wpt_uint32 reserved5:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved6:16; - wpt_uint32 frag3BdIdx:16; -#else - wpt_uint32 frag3BdIdx:16; - wpt_uint32 reserved6:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved7:16; - wpt_uint32 frag4BdIdx:16; -#else - wpt_uint32 frag4BdIdx:16; - wpt_uint32 reserved7:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved8:16; - wpt_uint32 frag5BdIdx:16; -#else - wpt_uint32 frag5BdIdx:16; - wpt_uint32 reserved8:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved9:16; - wpt_uint32 frag6BdIdx:16; -#else - wpt_uint32 frag6BdIdx:16; - wpt_uint32 reserved9:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved10:16; - wpt_uint32 frag7BdIdx:16; -#else - wpt_uint32 frag7BdIdx:16; - wpt_uint32 reserved10:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved11:16; - wpt_uint32 frag8BdIdx:16; -#else - wpt_uint32 frag8BdIdx:16; - wpt_uint32 reserved11:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved12:16; - wpt_uint32 frag9BdIdx:16; -#else - wpt_uint32 frag9BdIdx:16; - wpt_uint32 reserved12:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved13:16; - wpt_uint32 frag10BdIdx:16; -#else - wpt_uint32 frag10BdIdx:16; - wpt_uint32 reserved13:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved14:16; - wpt_uint32 frag11BdIdx:16; -#else - wpt_uint32 frag11BdIdx:16; - wpt_uint32 reserved14:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved15:16; - wpt_uint32 frag12BdIdx:16; -#else - wpt_uint32 frag12BdIdx:16; - wpt_uint32 reserved15:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 reserved16:16; - wpt_uint32 frag13BdIdx:16; -#else - wpt_uint32 frag13BdIdx:16; - wpt_uint32 reserved16:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 frag14BdIdx:16; - wpt_uint32 reserved17:16; -#else - wpt_uint32 frag14BdIdx:16; - wpt_uint32 reserved17:16; -#endif - -#ifdef WPT_BIG_BYTE_ENDIAN - wpt_uint32 frag15BdIdx:16; - wpt_uint32 reserved18:16; -#else - wpt_uint32 frag15BdIdx:16; - wpt_uint32 reserved18:16; -#endif - -} WDI_RxDeFragBdType; - -#endif /*WLAN_QCT_WDI_BD_H*/ diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_cfg.h b/CORE/WDI/CP/inc/wlan_qct_wdi_cfg.h deleted file mode 100644 index df53d15a0412..000000000000 --- a/CORE/WDI/CP/inc/wlan_qct_wdi_cfg.h +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Copyright (c) 2014 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_QCT_WDI_CFG_H -#define WLAN_QCT_WDI_CFG_H - -/*=========================================================================== - - W L A N D E V I C E A B S T R A C T I O N L A Y E R - C O N F I G U R A T I O N D E F I N E S - E X T E R N A L A P I - -DESCRIPTION - This file contains the configuration defines to be used by the UMAC for - setting up the config parameters in DAL. - - !! The values in here should be an identical match of the HAL defines - by the same name !! -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -08/19/10 lti Created module. - -===========================================================================*/ - -/*------------------------------------------------------------------------- - Preprocessor definitions and constants --------------------------------------------------------------------------*/ -#define WDI_MAX_CFG_LENGTH 0x06 - -/*------------------------------------------------------------------------- - Configuration Parameter IDs --------------------------------------------------------------------------*/ -#define WDI_CFG_STA_ID 0 -#define WDI_CFG_CURRENT_TX_ANTENNA 1 -#define WDI_CFG_CURRENT_RX_ANTENNA 2 -#define WDI_CFG_LOW_GAIN_OVERRIDE 3 -#define WDI_CFG_POWER_STATE_PER_CHAIN 4 -#define WDI_CFG_CAL_PERIOD 5 -#define WDI_CFG_CAL_CONTROL 6 -#define WDI_CFG_PROXIMITY 7 -#define WDI_CFG_NETWORK_DENSITY 8 -#define WDI_CFG_MAX_MEDIUM_TIME 9 -#define WDI_CFG_MAX_MPDUS_IN_AMPDU 10 -#define WDI_CFG_RTS_THRESHOLD 11 -#define WDI_CFG_SHORT_RETRY_LIMIT 12 -#define WDI_CFG_LONG_RETRY_LIMIT 13 -#define WDI_CFG_FRAGMENTATION_THRESHOLD 14 -#define WDI_CFG_DYNAMIC_THRESHOLD_ZERO 15 -#define WDI_CFG_DYNAMIC_THRESHOLD_ONE 16 -#define WDI_CFG_DYNAMIC_THRESHOLD_TWO 17 -#define WDI_CFG_FIXED_RATE 18 -#define WDI_CFG_RETRYRATE_POLICY 19 -#define WDI_CFG_RETRYRATE_SECONDARY 20 -#define WDI_CFG_RETRYRATE_TERTIARY 21 -#define WDI_CFG_FORCE_POLICY_PROTECTION 22 -#define WDI_CFG_FIXED_RATE_MULTICAST_24GHZ 23 -#define WDI_CFG_FIXED_RATE_MULTICAST_5GHZ 24 -#define WDI_CFG_DEFAULT_RATE_INDEX_24GHZ 25 -#define WDI_CFG_DEFAULT_RATE_INDEX_5GHZ 26 -#define WDI_CFG_MAX_BA_SESSIONS 27 -#define WDI_CFG_PS_DATA_INACTIVITY_TIMEOUT 28 -#define WDI_CFG_PS_ENABLE_BCN_FILTER 29 -#define WDI_CFG_PS_ENABLE_RSSI_MONITOR 30 -#define WDI_CFG_NUM_BEACON_PER_RSSI_AVERAGE 31 -#define WDI_CFG_STATS_PERIOD 32 -#define WDI_CFG_CFP_MAX_DURATION 33 - -/*------------------------------------------------------------------------- - Configuration Parameter min, max, defaults --------------------------------------------------------------------------*/ - -/* WDI_CFG_CURRENT_TX_ANTENNA */ -#define WDI_CFG_CURRENT_TX_ANTENNA_STAMIN 1 -#define WDI_CFG_CURRENT_TX_ANTENNA_STAMAX 1 -#define WDI_CFG_CURRENT_TX_ANTENNA_STADEF 1 - -/* WDI_CFG_CURRENT_RX_ANTENNA */ -#define WDI_CFG_CURRENT_RX_ANTENNA_STAMIN 1 -#define WDI_CFG_CURRENT_RX_ANTENNA_STAMAX 2 -#define WDI_CFG_CURRENT_RX_ANTENNA_STADEF 1 - -/* WDI_CFG_LOW_GAIN_OVERRIDE */ -#define WDI_CFG_LOW_GAIN_OVERRIDE_STAMIN 0 -#define WDI_CFG_LOW_GAIN_OVERRIDE_STAMAX 1 -#define WDI_CFG_LOW_GAIN_OVERRIDE_STADEF 0 - -/* WDI_CFG_POWER_STATE_PER_CHAIN */ -#define WDI_CFG_POWER_STATE_PER_CHAIN_STAMIN 0 -#define WDI_CFG_POWER_STATE_PER_CHAIN_STAMAX 65535 -#define WDI_CFG_POWER_STATE_PER_CHAIN_STADEF 785 -#define WDI_CFG_POWER_STATE_PER_CHAIN_OFF 0 -#define WDI_CFG_POWER_STATE_PER_CHAIN_ON 1 -#define WDI_CFG_POWER_STATE_PER_CHAIN_TX 2 -#define WDI_CFG_POWER_STATE_PER_CHAIN_RX 3 -#define WDI_CFG_POWER_STATE_PER_CHAIN_MASK 15 -#define WDI_CFG_POWER_STATE_PER_CHAIN_CHAIN_0_OFFSET 0 -#define WDI_CFG_POWER_STATE_PER_CHAIN_CHAIN_1_OFFSET 4 -#define WDI_CFG_POWER_STATE_PER_CHAIN_CHAIN_2_OFFSET 8 - -/* WDI_CFG_CAL_PERIOD */ -#define WDI_CFG_CAL_PERIOD_STAMIN 2 -#define WDI_CFG_CAL_PERIOD_STAMAX 10 -#define WDI_CFG_CAL_PERIOD_STADEF 5 - -/* WDI_CFG_CAL_CONTROL */ -#define WDI_CFG_CAL_CONTROL_STAMIN 0 -#define WDI_CFG_CAL_CONTROL_STAMAX 1 -#define WDI_CFG_CAL_CONTROL_STADEF 0 - -/* WDI_CFG_PROXIMITY */ -#define WDI_CFG_PROXIMITY_STAMIN 0 -#define WDI_CFG_PROXIMITY_STAMAX 1 -#define WDI_CFG_PROXIMITY_STADEF 0 -#define WDI_CFG_PROXIMITY_OFF 0 -#define WDI_CFG_PROXIMITY_ON 1 - -/* WDI_CFG_NETWORK_DENSITY */ -#define WDI_CFG_NETWORK_DENSITY_STAMIN 0 -#define WDI_CFG_NETWORK_DENSITY_STAMAX 3 -#define WDI_CFG_NETWORK_DENSITY_STADEF 3 -#define WDI_CFG_NETWORK_DENSITY_LOW 0 -#define WDI_CFG_NETWORK_DENSITY_MEDIUM 1 -#define WDI_CFG_NETWORK_DENSITY_HIGH 2 -#define WDI_CFG_NETWORK_DENSITY_ADAPTIVE 3 - -/* WDI_CFG_MAX_MEDIUM_TIME */ -#define WDI_CFG_MAX_MEDIUM_TIME_STAMIN 0 -#define WDI_CFG_MAX_MEDIUM_TIME_STAMAX 65535 -#define WDI_CFG_MAX_MEDIUM_TIME_STADEF 1024 - -/* WDI_CFG_MAX_MPDUS_IN_AMPDU */ -#define WDI_CFG_MAX_MPDUS_IN_AMPDU_STAMIN 0 -#define WDI_CFG_MAX_MPDUS_IN_AMPDU_STAMAX 65535 -#define WDI_CFG_MAX_MPDUS_IN_AMPDU_STADEF 64 - -/* WDI_CFG_RTS_THRESHOLD */ -#define WDI_CFG_RTS_THRESHOLD_STAMIN 0 -#define WDI_CFG_RTS_THRESHOLD_STAMAX 2347 -#define WDI_CFG_RTS_THRESHOLD_STADEF 2347 - -/* WDI_CFG_SHORT_RETRY_LIMIT */ -#define WDI_CFG_SHORT_RETRY_LIMIT_STAMIN 0 -#define WDI_CFG_SHORT_RETRY_LIMIT_STAMAX 255 -#define WDI_CFG_SHORT_RETRY_LIMIT_STADEF 6 - -/* WDI_CFG_LONG_RETRY_LIMIT */ -#define WDI_CFG_LONG_RETRY_LIMIT_STAMIN 0 -#define WDI_CFG_LONG_RETRY_LIMIT_STAMAX 255 -#define WDI_CFG_LONG_RETRY_LIMIT_STADEF 6 - -/* WDI_CFG_FRAGMENTATION_THRESHOLD */ -#define WDI_CFG_FRAGMENTATION_THRESHOLD_STAMIN 256 -#define WDI_CFG_FRAGMENTATION_THRESHOLD_STAMAX 8000 -#define WDI_CFG_FRAGMENTATION_THRESHOLD_STADEF 8000 - -/* WDI_CFG_DYNAMIC_THRESHOLD_ZERO */ -#define WDI_CFG_DYNAMIC_THRESHOLD_ZERO_STAMIN 0 -#define WDI_CFG_DYNAMIC_THRESHOLD_ZERO_STAMAX 255 -#define WDI_CFG_DYNAMIC_THRESHOLD_ZERO_STADEF 2 - -/* WDI_CFG_DYNAMIC_THRESHOLD_ONE */ -#define WDI_CFG_DYNAMIC_THRESHOLD_ONE_STAMIN 0 -#define WDI_CFG_DYNAMIC_THRESHOLD_ONE_STAMAX 255 -#define WDI_CFG_DYNAMIC_THRESHOLD_ONE_STADEF 4 - -/* WDI_CFG_DYNAMIC_THRESHOLD_TWO */ -#define WDI_CFG_DYNAMIC_THRESHOLD_TWO_STAMIN 0 -#define WDI_CFG_DYNAMIC_THRESHOLD_TWO_STAMAX 255 -#define WDI_CFG_DYNAMIC_THRESHOLD_TWO_STADEF 6 - -/* WDI_CFG_FIXED_RATE */ -#define WDI_CFG_FIXED_RATE_STAMIN 0 -#define WDI_CFG_FIXED_RATE_STAMAX 31 -#define WDI_CFG_FIXED_RATE_STADEF 0 -#define WDI_CFG_FIXED_RATE_AUTO 0 -#define WDI_CFG_FIXED_RATE_1MBPS 1 -#define WDI_CFG_FIXED_RATE_2MBPS 2 -#define WDI_CFG_FIXED_RATE_5_5MBPS 3 -#define WDI_CFG_FIXED_RATE_11MBPS 4 -#define WDI_CFG_FIXED_RATE_6MBPS 5 -#define WDI_CFG_FIXED_RATE_9MBPS 6 -#define WDI_CFG_FIXED_RATE_12MBPS 7 -#define WDI_CFG_FIXED_RATE_18MBPS 8 -#define WDI_CFG_FIXED_RATE_24MBPS 9 -#define WDI_CFG_FIXED_RATE_36MBPS 10 -#define WDI_CFG_FIXED_RATE_48MBPS 11 -#define WDI_CFG_FIXED_RATE_54MBPS 12 -#define WDI_CFG_FIXED_RATE_6_5MBPS_MCS0_20MHZ_SIMO 13 -#define WDI_CFG_FIXED_RATE_13MBPS_MCS1_20MHZ_SIMO 14 -#define WDI_CFG_FIXED_RATE_19_5MBPS_MCS2_20MHZ_SIMO 15 -#define WDI_CFG_FIXED_RATE_26MBPS_MCS3_20MHZ_SIMO 16 -#define WDI_CFG_FIXED_RATE_39MBPS_MCS4_20MHZ_SIMO 17 -#define WDI_CFG_FIXED_RATE_52MBPS_MCS5_20MHZ_SIMO 18 -#define WDI_CFG_FIXED_RATE_58_5MBPS_MCS6_20MHZ_SIMO 19 -#define WDI_CFG_FIXED_RATE_65MBPS_MCS7_20MHZ_SIMO 20 -#define WDI_CFG_FIXED_RATE_7_2MBPS_MCS0_20MHZ_SIMO_SGI 21 -#define WDI_CFG_FIXED_RATE_14_4MBPS_MCS1_20MHZ_SIMO_SGI 22 -#define WDI_CFG_FIXED_RATE_21_7MBPS_MCS2_20MHZ_SIMO_SGI 23 -#define WDI_CFG_FIXED_RATE_28_9MBPS_MCS3_20MHZ_SIMO_SGI 24 -#define WDI_CFG_FIXED_RATE_43_3MBPS_MCS4_20MHZ_SIMO_SGI 25 -#define WDI_CFG_FIXED_RATE_57_8MBPS_MCS5_20MHZ_SIMO_SGI 26 -#define WDI_CFG_FIXED_RATE_65MBPS_MCS6_20MHZ_SIMO_SGI 27 -#define WDI_CFG_FIXED_RATE_72_2MBPS_MCS7_20MHZ_SIMO_SGI 28 -#define WDI_CFG_FIXED_RATE_0_25MBPS_SLR_20MHZ_SIMO 29 -#define WDI_CFG_FIXED_RATE_0_5MBPS_SLR_20MHZ_SIMO 30 -#define WDI_CFG_FIXED_RATE_68_25MBPS_QC_PROP_20MHZ_SIMO 31 - -/* WDI_CFG_RETRYRATE_POLICY */ -#define WDI_CFG_RETRYRATE_POLICY_STAMIN 0 -#define WDI_CFG_RETRYRATE_POLICY_STAMAX 255 -#define WDI_CFG_RETRYRATE_POLICY_STADEF 4 -#define WDI_CFG_RETRYRATE_POLICY_MIN_SUPPORTED 0 -#define WDI_CFG_RETRYRATE_POLICY_PRIMARY 1 -#define WDI_CFG_RETRYRATE_POLICY_RESERVED 2 -#define WDI_CFG_RETRYRATE_POLICY_CLOSEST 3 -#define WDI_CFG_RETRYRATE_POLICY_AUTOSELECT 4 -#define WDI_CFG_RETRYRATE_POLICY_MAX 5 - -/* WDI_CFG_RETRYRATE_SECONDARY */ -#define WDI_CFG_RETRYRATE_SECONDARY_STAMIN 0 -#define WDI_CFG_RETRYRATE_SECONDARY_STAMAX 255 -#define WDI_CFG_RETRYRATE_SECONDARY_STADEF 0 - -/* WDI_CFG_RETRYRATE_TERTIARY */ -#define WDI_CFG_RETRYRATE_TERTIARY_STAMIN 0 -#define WDI_CFG_RETRYRATE_TERTIARY_STAMAX 255 -#define WDI_CFG_RETRYRATE_TERTIARY_STADEF 0 - -/* WDI_CFG_FORCE_POLICY_PROTECTION */ -#define WDI_CFG_FORCE_POLICY_PROTECTION_STAMIN 0 -#define WDI_CFG_FORCE_POLICY_PROTECTION_STAMAX 5 -#define WDI_CFG_FORCE_POLICY_PROTECTION_STADEF 5 -#define WDI_CFG_FORCE_POLICY_PROTECTION_DISABLE 0 -#define WDI_CFG_FORCE_POLICY_PROTECTION_CTS 1 -#define WDI_CFG_FORCE_POLICY_PROTECTION_RTS 2 -#define WDI_CFG_FORCE_POLICY_PROTECTION_DUAL_CTS 3 -#define WDI_CFG_FORCE_POLICY_PROTECTION_RTS_ALWAYS 4 -#define WDI_CFG_FORCE_POLICY_PROTECTION_AUTO 5 - -/* WDI_CFG_FIXED_RATE_MULTICAST_24GHZ */ -#define WDI_CFG_FIXED_RATE_MULTICAST_24GHZ_STAMIN 0 -#define WDI_CFG_FIXED_RATE_MULTICAST_24GHZ_STAMAX 31 -#define WDI_CFG_FIXED_RATE_MULTICAST_24GHZ_STADEF 1 - -/* WDI_CFG_FIXED_RATE_MULTICAST_5GHZ */ -#define WDI_CFG_FIXED_RATE_MULTICAST_5GHZ_STAMIN 0 -#define WDI_CFG_FIXED_RATE_MULTICAST_5GHZ_STAMAX 31 -#define WDI_CFG_FIXED_RATE_MULTICAST_5GHZ_STADEF 5 - -/* WDI_CFG_DEFAULT_RATE_INDEX_24GHZ */ -#define WDI_CFG_DEFAULT_RATE_INDEX_24GHZ_STAMIN 0 -#define WDI_CFG_DEFAULT_RATE_INDEX_24GHZ_STAMAX 31 -#define WDI_CFG_DEFAULT_RATE_INDEX_24GHZ_STADEF 1 - -/* WDI_CFG_DEFAULT_RATE_INDEX_5GHZ */ -#define WDI_CFG_DEFAULT_RATE_INDEX_5GHZ_STAMIN 0 -#define WDI_CFG_DEFAULT_RATE_INDEX_5GHZ_STAMAX 11 -#define WDI_CFG_DEFAULT_RATE_INDEX_5GHZ_STADEF 5 - -/* WDI_CFG_MAX_BA_SESSIONS */ -#define WDI_CFG_MAX_BA_SESSIONS_STAMIN 0 -#define WDI_CFG_MAX_BA_SESSIONS_STAMAX 64 -#define WDI_CFG_MAX_BA_SESSIONS_STADEF 16 - -/* WDI_CFG_PS_DATA_INACTIVITY_TIMEOUT */ -#define WDI_CFG_PS_DATA_INACTIVITY_TIMEOUT_STAMIN 1 -#define WDI_CFG_PS_DATA_INACTIVITY_TIMEOUT_STAMAX 255 -#define WDI_CFG_PS_DATA_INACTIVITY_TIMEOUT_STADEF 20 - -/* WDI_CFG_PS_ENABLE_BCN_FILTER */ -#define WDI_CFG_PS_ENABLE_BCN_FILTER_STAMIN 0 -#define WDI_CFG_PS_ENABLE_BCN_FILTER_STAMAX 1 -#define WDI_CFG_PS_ENABLE_BCN_FILTER_STADEF 1 - -/* WDI_CFG_PS_ENABLE_RSSI_MONITOR */ -#define WDI_CFG_PS_ENABLE_RSSI_MONITOR_STAMIN 0 -#define WDI_CFG_PS_ENABLE_RSSI_MONITOR_STAMAX 1 -#define WDI_CFG_PS_ENABLE_RSSI_MONITOR_STADEF 1 - -/* WDI_CFG_NUM_BEACON_PER_RSSI_AVERAGE */ -#define WDI_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STAMIN 1 -#define WDI_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STAMAX 20 -#define WDI_CFG_NUM_BEACON_PER_RSSI_AVERAGE_STADEF 20 - -/* WDI_CFG_STATS_PERIOD */ -#define WDI_CFG_STATS_PERIOD_STAMIN 1 -#define WDI_CFG_STATS_PERIOD_STAMAX 10 -#define WDI_CFG_STATS_PERIOD_STADEF 10 - -/* WDI_CFG_CFP_MAX_DURATION */ -#define WDI_CFG_CFP_PERIOD_STAMIN 0 -#define WDI_CFG_CFP_PERIOD_STAMAX 255 -#define WDI_CFG_CFP_PERIOD_STADEF 1 - -#endif /*WLAN_QCT_WDI_CFG_H*/ diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_dp.h b/CORE/WDI/CP/inc/wlan_qct_wdi_dp.h deleted file mode 100644 index 07f737a4b4fe..000000000000 --- a/CORE/WDI/CP/inc/wlan_qct_wdi_dp.h +++ /dev/null @@ -1,514 +0,0 @@ -/* - * Copyright (c) 2012-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_QCT_WDI_DP_H -#define WLAN_QCT_WDI_DP_H - -/*=========================================================================== - - W L A N D E V I C E A B S T R A C T I O N L A Y E R - I N T E R N A L A P I F O R T H E - D A T A P A T H - - -DESCRIPTION - This file contains the internal API exposed by the DAL Control Path Core - module to be used by the DAL Data Path Core. -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -08/19/10 lti Created module. - -===========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_wdi_i.h" -#include "wlan_qct_wdi_bd.h" - -/*========================================================================= - BD Macro Defines -=========================================================================*/ - -/*-------------------------------------------------------------------------- - BD Definitions used by the DAL data path ---------------------------------------------------------------------------*/ -#define WDI_TXBD_BDRATE_DEFAULT 0 -#define WDI_TXBD_BDRATE_FIRST 1 -#define WDI_TXBD_BDRATE_SECOND 2 -#define WDI_TXBD_BDRATE_THIRD 3 - -#define WDI_FRAME_TYPE_MASK 0x30 -#define WDI_FRAME_TYPE_OFFSET 0x4 -#define WDI_FRAME_SUBTYPE_MASK 0x0F - -#define WDI_TXBD_BD_SSN_FILL_HOST 0 -#define WDI_TXBD_BD_SSN_FILL_DPU_NON_QOS 1 -#define WDI_TXBD_BD_SSN_FILL_DPU_QOS 2 - -#define WDI_ACKPOLICY_ACK_REQUIRED 0 -#define WDI_ACKPOLICY_ACK_NOTREQUIRED 1 - -#define WDI_BDRATE_BCDATA_FRAME 1 -#define WDI_BDRATE_BCMGMT_FRAME 2 -#define WDI_BDRATE_CTRL_FRAME 3 - -/* Default values for FillTx BD */ -#define WDI_DEFAULT_UNICAST_ENABLED 1 -#define WDI_RMF_DISABLED 0 -#define WDI_RMF_ENABLED 1 -#define WDI_NO_ENCRYPTION_DISABLED 0 -#define WDI_NO_ENCRYPTION_ENABLED 1 - -#define WDI_RX_BD_ADDR3_SELF_IDX 0 - -#define WDI_TXCOMP_REQUESTED_MASK 0x1 //bit 0 for TxComp intr requested. -#define WDI_USE_SELF_STA_REQUESTED_MASK 0x2 //bit 1 for STA overwrite with selfSta Requested. -#define WDI_TX_NO_ENCRYPTION_MASK 0x4 //bit 2. If set, the frame is not to be encrypted -#if defined(LIBRA_WAPI_SUPPORT) -#define WDI_WAPI_STA_MASK 0x8 //bit 3. If set, this frame is for WAPI station -#endif - -#define WDI_TRIGGER_ENABLED_AC_MASK 0x10 //bit 4 for data frames belonging to trigger enabled AC -#define WDI_USE_NO_ACK_REQUESTED_MASK 0x20 - -#define WDI_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40 // Bit 6 will be used to control BD rate for Management frames - -#ifdef FEATURE_WLAN_TDLS -#define HAL_TDLS_PEER_STA_MASK 0x80 //bit 7 set for TDLS peer station -#endif - -/*Macro for getting the size of the TX BD*/ -#define WDI_TX_BD_HEADER_SIZE sizeof(WDI_TxBdType) - -/*Macro for getting the size of the RX BD*/ -#define WDI_RX_BD_HEADER_SIZE sizeof(WDI_RxBdType) - -#define WDI_RX_BD_HEADER_OFFSET 0 - -#define WDI_DPU_FEEDBACK_OFFSET 1 - -// Frame Type definitions - -#define WDI_MAC_MGMT_FRAME 0x0 -#define WDI_MAC_CTRL_FRAME 0x1 -#define WDI_MAC_DATA_FRAME 0x2 - -// Data frame subtype definitions -#define WDI_MAC_DATA_DATA 0 -#define WDI_MAC_DATA_DATA_ACK 1 -#define WDI_MAC_DATA_DATA_POLL 2 -#define WDI_MAC_DATA_DATA_ACK_POLL 3 -#define WDI_MAC_DATA_NULL 4 -#define WDI_MAC_DATA_NULL_ACK 5 -#define WDI_MAC_DATA_NULL_POLL 6 -#define WDI_MAC_DATA_NULL_ACK_POLL 7 -#define WDI_MAC_DATA_QOS_DATA 8 -#define WDI_MAC_DATA_QOS_DATA_ACK 9 -#define WDI_MAC_DATA_QOS_DATA_POLL 10 -#define WDI_MAC_DATA_QOS_DATA_ACK_POLL 11 -#define WDI_MAC_DATA_QOS_NULL 12 -#define WDI_MAC_DATA_QOS_NULL_ACK 13 -#define WDI_MAC_DATA_QOS_NULL_POLL 14 -#define WDI_MAC_DATA_QOS_NULL_ACK_POLL 15 - -#define WDI_MAC_FRAME_SUBTYPE_START 0 -#define WDI_MAC_FRAME_SUBTYPE_END 16 - -#define WDI_MAC_DATA_QOS_MASK 8 -#define WDI_MAC_DATA_NULL_MASK 4 -#define WDI_MAC_DATA_POLL_MASK 2 -#define WDI_MAC_DATA_ACK_MASK 1 - -// Management frame subtype definitions - -#define WDI_MAC_MGMT_ASSOC_REQ 0x0 -#define WDI_MAC_MGMT_ASSOC_RSP 0x1 -#define WDI_MAC_MGMT_REASSOC_REQ 0x2 -#define WDI_MAC_MGMT_REASSOC_RSP 0x3 -#define WDI_MAC_MGMT_PROBE_REQ 0x4 -#define WDI_MAC_MGMT_PROBE_RSP 0x5 -#define WDI_MAC_MGMT_BEACON 0x8 -#define WDI_MAC_MGMT_ATIM 0x9 -#define WDI_MAC_MGMT_DISASSOC 0xA -#define WDI_MAC_MGMT_AUTH 0xB -#define WDI_MAC_MGMT_DEAUTH 0xC -#define WDI_MAC_MGMT_ACTION 0xD -#define WDI_MAC_MGMT_RESERVED15 0xF - -// Action frame categories - -#define WDI_MAC_ACTION_SPECTRUM_MGMT 0 -#define WDI_MAC_ACTION_QOS_MGMT 1 -#define WDI_MAC_ACTION_DLP 2 -#define WDI_MAC_ACTION_BLKACK 3 -#define WDI_MAC_ACTION_HT 7 -#define WDI_MAC_ACTION_WME 17 - -// QoS management action codes - -#define WDI_MAC_QOS_ADD_TS_REQ 0 -#define WDI_MAC_QOS_ADD_TS_RSP 1 -#define WDI_MAC_QOS_DEL_TS_REQ 2 -#define WDI_MAC_QOS_SCHEDULE 3 -// and these are proprietary -#define WDI_MAC_QOS_DEF_BA_REQ 4 -#define WDI_MAC_QOS_DEF_BA_RSP 5 -#define WDI_MAC_QOS_DEL_BA_REQ 6 -#define WDI_MAC_QOS_DEL_BA_RSP 7 - -#ifdef WLAN_PERF -/* TxBD signature fields - * serial(8): a monotonically increasing serial # whenever there is a Add/Del STA or Add/Del Key event - * macHash(16): Hash value of DA - * tid(4): TID - * ucast(1): Unicast or Broadcast data frame - */ -#define WDI_TXBD_SIG_SERIAL_OFFSET 0 -#define WDI_TXBD_SIG_TID_OFFSET 8 -#define WDI_TXBD_SIG_UCAST_DATA_OFFSET 9 -#define WDI_TXBD_SIG_MACADDR_HASH_OFFSET 16 -#define WDI_TXBD_SIG_MGMT_MAGIC 0xbdbdbdbd - -#endif - -/*-------------------------------------------------------------------------- - BD header macros - used by the data path to get or set various values - inside the packet BD ---------------------------------------------------------------------------*/ -#define WDI_RX_BD_GET_MPDU_H_OFFSET( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->mpduHeaderOffset) - -#define WDI_RX_BD_GET_MPDU_D_OFFSET( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->mpduDataOffset) - -#define WDI_RX_BD_GET_MPDU_LEN( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->mpduLength) - -#define WDI_RX_BD_GET_MPDU_H_LEN( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->mpduHeaderLength) - - -#define WDI_RX_BD_GET_FT( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->ft) - -#define WDI_RX_BD_GET_DPU_FEEDBACK( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->dpuFeedback) - -#define WDI_RX_BD_GET_RX_CHANNEL( _pvBDHeader ) \ - (( (((WDI_RxBdType*)_pvBDHeader)->reserved0) << 4) | (((WDI_RxBdType*)_pvBDHeader)->rxChannel)) - -#define WDI_FRAME_TYPE_MASK 0x30 -#define WDI_FRAME_TYPE_OFFSET 0x4 -#define WDI_FRAME_SUBTYPE_MASK 0x0F - -#define WDI_RX_BD_GET_SUBTYPE( _pvBDHeader ) ((((WDI_RxBdType*)_pvBDHeader)->frameTypeSubtype) & WDI_FRAME_SUBTYPE_MASK) - -#define WDI_RX_BD_GET_TYPE( _pvBDHeader ) (((((WDI_RxBdType*)_pvBDHeader)->frameTypeSubtype) & WDI_FRAME_TYPE_MASK) >> WDI_FRAME_TYPE_OFFSET) - -#define WDI_RX_BD_GET_RTSF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->rtsf) - -#define WDI_RX_BD_GET_BSF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->bsf) - -#define WDI_RX_BD_GET_SCAN( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->scanLearn) - -#define WDI_RX_BD_GET_DPU_SIG( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->dpuSignature) - -#define WDI_RX_BD_GET_NE( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->dpuNE) - -#define WDI_RX_BD_GET_LLCR( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->llcr) - -#define WDI_RX_BD_GET_TIMESTAMP( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->mclkRxTimestamp) - -#define WDI_RX_BD_GET_RXPFLAGS( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->rxpFlags) - -#define WDI_RX_BD_GET_RATEINDEX( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->rateIndex) - -#define WDI_RX_BD_GET_AMSDU_SIZE( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->totalMsduSize) - -#define WDI_RX_BD_GET_LLC( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->llc) - -#define WDI_RX_BD_GET_TID( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->tid) - -#define WDI_RX_BD_GET_RFBAND( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->rfBand) - -#define WDI_RX_BD_GET_ASF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->asf) - -#define WDI_RX_BD_GET_AEF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->aef) - -#define WDI_RX_BD_GET_LSF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->lsf) - -#define WDI_RX_BD_GET_ESF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->esf) - -#define WDI_RX_BD_GET_STA_ID( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->addr2Index) -#define WDI_RX_BD_GET_UB( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->ub) -#define WDI_RX_BD_GET_ADDR3_IDX( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->addr3Index) -#define WDI_RX_BD_GET_ADDR1_IDX( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->addr1Index) - -#define WDI_TX_BD_GET_TID( _pvBDHeader ) (((WDI_TxBdType*)_pvBDHeader)->tid) -#define WDI_TX_BD_GET_STA_ID( _pvBDHeader ) (((WDI_TxBdType*)_pvBDHeader)->staIndex) - -#define WDI_RX_BD_GET_DPU_SIG( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->dpuSignature) - -//flow control related. -#define WDI_RX_FC_BD_GET_STA_TX_DISABLED_BITMAP( _pvBDHeader ) (((WDI_FcRxBdType*)_pvBDHeader)->fcStaTxDisabledBitmap) -#define WDI_RX_FC_BD_GET_FC( _pvBDHeader ) (((WDI_FcRxBdType*)_pvBDHeader)->fc) -#define WDI_RX_FC_BD_GET_STA_VALID_MASK( _pvBDHeader ) (((WDI_FcRxBdType*)_pvBDHeader)->fcSTAValidMask) - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -//LFR scan related -#define WDI_RX_BD_GET_OFFLOADSCANLEARN( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->offloadScanLearn) -#define WDI_RX_BD_GET_ROAMCANDIDATEIND( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->roamCandidateInd) -#endif - -/*------------ RSSI and SNR Information extraction -------------*/ -#define WDI_RX_BD_GET_RSSI0( _pvBDHeader ) \ - (((((WDI_RxBdType*)_pvBDHeader)->phyStats0) >> 24) & 0xff) -#define WDI_RX_BD_GET_RSSI1( _pvBDHeader ) \ - (((((WDI_RxBdType*)_pvBDHeader)->phyStats0) >> 16) & 0xff) -#define WDI_RX_BD_GET_RSSI2( _pvBDHeader ) \ - (((((WDI_RxBdType*)_pvBDHeader)->phyStats0) >> 0) & 0xff) -#define WDI_RX_BD_GET_RSSI3( _pvBDHeader ) \ - ((((WDI_RxBdType*)_pvBDHeader)->phyStats0) & 0xff) - -// Get the average of the 4 values. -#define WDI_GET_RSSI_AVERAGE( _pvBDHeader ) \ - (((WDI_RX_BD_GET_RSSI0(_pvBDHeader)) + \ - (WDI_RX_BD_GET_RSSI1(_pvBDHeader)) + \ - (WDI_RX_BD_GET_RSSI2(_pvBDHeader)) + \ - (WDI_RX_BD_GET_RSSI3(_pvBDHeader))) / 4) - -// Get the SNR value from PHY Stats -#define WDI_RX_BD_GET_SNR( _pvBDHeader ) \ - (((((WDI_RxBdType*)_pvBDHeader)->phyStats1) >> 24) & 0xff) -/*-----------------------------------------------------------------*/ - -#define WDI_TX_BD_SET_MPDU_DATA_OFFSET( _bd, _off ) (((WDI_TxBdType*)_bd)->mpduDataOffset = _off) - -#define WDI_TX_BD_SET_MPDU_HEADER_OFFSET( _bd, _off ) (((WDI_TxBdType*)_bd)->mpduHeaderOffset = _off) - -#define WDI_TX_BD_SET_MPDU_HEADER_LEN( _bd, _len ) (((WDI_TxBdType*)_bd)->mpduHeaderLength = _len) - -#define WDI_TX_BD_SET_MPDU_LEN( _bd, _len ) (((WDI_TxBdType*)_bd)->mpduLength = _len) - -#define WDI_RX_BD_GET_BA_OPCODE(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->reorderOpcode) - -#define WDI_RX_BD_GET_BA_FI(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->reorderFwdIdx) - -#define WDI_RX_BD_GET_BA_SI(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->reorderSlotIdx) - -#define WDI_RX_BD_GET_BA_CSN(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->currentPktSeqNo) - -#define WDI_RX_BD_GET_BA_ESN(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->expectedPktSeqNo) - -#define WDI_RX_BD_GET_RXP_FLAGS(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->rxpFlags) - -#define WDI_RX_BD_GET_PMICMD_20TO23(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->pmiCmd4to23[4]) - -#define WDI_RX_BD_GET_PMICMD_24TO25(_pvBDHeader) (((WDI_RxBdType*)_pvBDHeader)->pmiCmd24to25) - -#ifdef WLAN_FEATURE_11W -#define WDI_RX_BD_GET_RMF( _pvBDHeader ) (((WDI_RxBdType*)_pvBDHeader)->rmf) -#endif - -#define WDI_RX_BD_ASF_SET 1 /*The value of the field when set and pkt is AMSDU*/ - -#define WDI_RX_BD_FSF_SET 1 - -#define WDI_RX_BD_LSF_SET 1 - -#define WDI_RX_BD_AEF_SET 1 - - -#define WDI_RX_BD_LLC_PRESENT 0 /*The value of the field when LLC is present*/ - -#define WDI_RX_BD_FT_DONE 1 /* The value of the field when frame xtl was done*/ - -/*========================================================================= - API Definition -=========================================================================*/ - - -/** - @brief WDI_RxBD_GetFrameTypeSubType - Called by the data path - to retrieve the type/subtype of the received frame. - - @param pvBDHeader: Void pointer to the RxBD buffer. - usFrmCtrl: the frame ctrl of the 802.11 header - - @return A byte which contains both type and subtype info. LSB four bytes - (b0 to b3)is subtype and b5-b6 is type info. -*/ - -wpt_uint8 -WDI_RxBD_GetFrameTypeSubType -( - void* _pvBDHeader, - wpt_uint16 usFrmCtrl -); - - -/** - @brief WDI_FillTxBd - Called by the data path to fill the TX BD - - @param pWDICtx: Context to the WDI - ucTypeSubtype: of the frame - pDestMacAddr: destination MAC address - pTid: pointer to the TID (in/out value in case DAL Ctrl causes - a TID downgrade - not done for now) - ucDisableFrmXtl: set to 1 if this frame is not to be translated by HW - pTxBd: pointer to the TX BD - ucTxFlag: can have appropriate bit setting as required - ucProtMgmtFrame: for management frames, whether the frame is - protected (protect bit is set in FC) - uTimestamp: pkt timestamp - - - @return success or not -*/ - -WDI_Status -WDI_FillTxBd -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucTypeSubtype, - void* pDestMacAddr, - void* pAddr2, - wpt_uint8* pTid, - wpt_uint8 ucDisableFrmXtl, - void* pTxBd, - wpt_uint32 ucTxFlag, - wpt_uint8 ucProtMgmtFrame, - wpt_uint32 uTimeStamp, - wpt_uint8* staIndex -); - -/** - @brief WDI_SwapRxBd swaps the RX BD. - - - @param pBd - pointer to the BD (in/out) - - @return None -*/ -void -WDI_SwapRxBd -( - wpt_uint8 *pBd -); - -/** - @brief WDI_SwapTxBd - Swaps the TX BD - - @param pBd - pointer to the BD (in/out) - - @return none -*/ -void -WDI_SwapTxBd -( - wpt_uint8 *pBd -); - -/** - @brief WDI_RxAmsduBdFix - fix for HW issue for AMSDU - - - @param pWDICtx: Context to the WDI - pBDHeader - pointer to the BD header - - @return None -*/ -void -WDI_RxAmsduBdFix -( - WDI_ControlBlockType* pWDICtx, - void* pBDHeader -); - -#ifdef WLAN_PERF -/** - @brief WDI_TxBdFastFwd - evaluates if a frame can be fast - forwarded - - @param pWDICtx: Context to the WDI - pDestMac: Destination MAC - ucTid: packet TID pBDHeader - ucUnicastDst: is packet unicast - pTxBd: pointer to the BD header - usMpduLength: len - - @return 1 - if the frame can be fast fwd-ed ; 0 if not -*/ -wpt_uint32 -WDI_TxBdFastFwd -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8* pDestMac, - wpt_uint8 ucTid, - wpt_uint8 ucUnicastDst, - void* pTxBd, - wpt_uint16 usMpduLength); -#endif /*WLAN_PERF*/ - -/** - @brief WDI_DP_UtilsInit - Intializes the parameters required to - interact with the data path - - @param pWDICtx: pointer to the main WDI Ctrl Block - - @return success always -*/ -WDI_Status -WDI_DP_UtilsInit -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief WDI_DP_UtilsExit - Clears the parameters required to - interact with the data path - - @param pWDICtx: pointer to the main WDI Ctrl Block - - @return success always -*/ -WDI_Status -WDI_DP_UtilsExit -( - WDI_ControlBlockType* pWDICtx -); - -#endif /*WLAN_QCT_WDI_DP_H*/ diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_i.h b/CORE/WDI/CP/inc/wlan_qct_wdi_i.h deleted file mode 100644 index 6f15947d4a5d..000000000000 --- a/CORE/WDI/CP/inc/wlan_qct_wdi_i.h +++ /dev/null @@ -1,5589 +0,0 @@ -/* - * Copyright (c) 2012-2014 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_QCT_WDI_I_H -#define WLAN_QCT_WDI_I_H - -/*=========================================================================== - - W L A N D E V I C E A B S T R A C T I O N L A Y E R - I N T E R N A L A P I F O R T H E - D A T A P A T H - - -DESCRIPTION - This file contains the internal API exposed by the DAL Control Path Core - module to be used by the DAL Data Path Core. -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -10/05/11 hap Adding support for Keep Alive -08/19/10 lti Created module. - -===========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_api.h" -#include "wlan_qct_pal_list.h" -#include "wlan_qct_pal_sync.h" -#include "wlan_qct_pal_timer.h" -#include "wlan_qct_wdi_cts.h" -#include "wlan_qct_wdi_bd.h" - -#include "wlan_hal_msg.h" -#include "wlan_status_code.h" -#include "wlan_qct_dev_defs.h" -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ - -/*Assert macro - redefined for WDI so it is more flexible in disabling*/ -#define WDI_ASSERT(_cond) WPAL_ASSERT(_cond) - -/*Error codes that can be returned by WDI - the HAL Error codes are not - propagated outside WDI because they are too explicit when refering to RIVA - HW errors - they are masked under dev internal failure*/ -#define WDI_ERR_BASIC_OP_FAILURE 0 -#define WDI_ERR_TRANSPORT_FAILURE 1 -#define WDI_ERR_INVALID_RSP_FMT 2 -#define WDI_ERR_RSP_TIMEOUT 3 -#define WDI_ERR_DEV_INTERNAL_FAILURE 4 - -/*In prima 12 HW stations are supported including BCAST STA(staId 0) - and SELF STA(staId 1) so total ASSOC stations which can connect to Prima - SoftAP = 12 - 1(Self STa) - 1(Bcast Sta) = 10 Stations. */ - -#ifdef WLAN_SOFTAP_VSTA_FEATURE -#define WDI_MAX_SUPPORTED_STAS 41 -#define WDI_MAX_IBSS_PEER_SUPPORED_STAS 32 -#else -#define WDI_MAX_SUPPORTED_STAS 12 -#define WDI_MAX_IBSS_PEER_SUPPORED_STAS 11 -#endif -#define WDI_MAX_SUPPORTED_BSS 5 - -/* Control transport channel size*/ -#define WDI_CT_CHANNEL_SIZE 4096 - -/*Invalid BSS index ! TO DO: Must come from the HAL header file*/ -#define WDI_BSS_INVALID_IDX 0xFF - -#define WDI_FTM_MAX_RECEIVE_BUFFER 6500 - -/*--------------------------------------------------------------------------- - DAL Control Path Main States ----------------------------------------------------------------------------*/ -typedef enum -{ - /* Transition in this state made upon creation and when a close request is - received*/ - WDI_INIT_ST = 0, - - /* Transition happens after a Start response was received from HAL (as a - result of a previously sent HAL Request)*/ - WDI_STARTED_ST, - - /* Transition happens when a Stop request was received */ - WDI_STOPPED_ST, - - /* Transition happens when a request is being sent down to HAL and we are - waiting for the response */ - WDI_BUSY_ST, - - /* Transition happens when 'SSR' shutdown request is recieved.*/ - WDI_SHUTDOWN_ST, - - WDI_MAX_ST -}WDI_MainStateType; - - -/*--------------------------------------------------------------------------- - DAL Control Path Scan States ----------------------------------------------------------------------------*/ -typedef enum -{ - /*The flag will be set to this state when init is called. Once the flag has - this value the only two scanning API calls allowed are Scan Start and - Scan Finished*/ - WDI_SCAN_INITIALIZED_ST = 0, - - /*The flag will be set to this value once the Start Scan API is called. - When the flag has this value only Scan End API will be allowed. */ - WDI_SCAN_STARTED_ST = 1, - - /*The flag will be set to this value when End Scan API is called. When the - flag is set to this value the only two Scan APIs allowed are Start and - Finish. */ - WDI_SCAN_ENDED_ST = 2, - - /*The flag will be set to this value in the beginning before init is called - and after the Finish API is called. No other scan APIs will be allowed - in this state until Scan Init is called again. */ - WDI_SCAN_FINISHED_ST = 3, - - WDI_SCAN_MAX_ST -}WDI_ScanStateType; - -/*--------------------------------------------------------------------------- - WLAN DAL BSS Session Type - used to allow simulatneous association - and keep track of each associated session - ---------------------------------------------------------------------------*/ -#define WDI_MAX_BSS_SESSIONS 10 - -typedef enum -{ - /*Init state*/ - WDI_ASSOC_INIT_ST, - - /*Joining State*/ - WDI_ASSOC_JOINING_ST, - - /*Associated state*/ - WDI_ASSOC_POST_ST, - - WDI_ASSOC_MAX_ST -}WDI_AssocStateType; - -/*--------------------------------------------------------------------------- - WLAN DAL Supported Request Types - ---------------------------------------------------------------------------*/ -typedef enum -{ - /*WLAN DAL START Request*/ - WDI_START_REQ = 0, - - /*WLAN DAL STOP Request*/ - WDI_STOP_REQ = 1, - - /*WLAN DAL STOP Request*/ - WDI_CLOSE_REQ = 2, - - - /*SCAN*/ - /*WLAN DAL Init Scan Request*/ - WDI_INIT_SCAN_REQ = 3, - - /*WLAN DAL Start Scan Request*/ - WDI_START_SCAN_REQ = 4, - - /*WLAN DAL End Scan Request*/ - WDI_END_SCAN_REQ = 5, - - /*WLAN DAL Finish Scan Request*/ - WDI_FINISH_SCAN_REQ = 6, - - - /*ASSOCIATION*/ - /*WLAN DAL Join Request*/ - WDI_JOIN_REQ = 7, - - /*WLAN DAL Config BSS Request*/ - WDI_CONFIG_BSS_REQ = 8, - - /*WLAN DAL Del BSS Request*/ - WDI_DEL_BSS_REQ = 9, - - /*WLAN DAL Post Assoc Request*/ - WDI_POST_ASSOC_REQ = 10, - - /*WLAN DAL Del STA Request*/ - WDI_DEL_STA_REQ = 11, - - /*Security*/ - /*WLAN DAL Set BSS Key Request*/ - WDI_SET_BSS_KEY_REQ = 12, - - /*WLAN DAL Remove BSS Key Request*/ - WDI_RMV_BSS_KEY_REQ = 13, - - /*WLAN DAL Set STA Key Request*/ - WDI_SET_STA_KEY_REQ = 14, - - /*WLAN DAL Remove STA Key Request*/ - WDI_RMV_STA_KEY_REQ = 15, - - /*QOS and BA*/ - /*WLAN DAL Add TSpec Request*/ - WDI_ADD_TS_REQ = 16, - - /*WLAN DAL Delete TSpec Request*/ - WDI_DEL_TS_REQ = 17, - - /*WLAN DAL Update EDCA Params Request*/ - WDI_UPD_EDCA_PRMS_REQ = 18, - - /*WLAN DAL Add BA Session Request*/ - WDI_ADD_BA_SESSION_REQ = 19, - - /*WLAN DAL Delete BA Request*/ - WDI_DEL_BA_REQ = 20, - - /* Miscellaneous Control */ - /*WLAN DAL Channel Switch Request*/ - WDI_CH_SWITCH_REQ = 21, - - /*WLAN DAL Config STA Request*/ - WDI_CONFIG_STA_REQ = 22, - - /*WLAN DAL Set Link State Request*/ - WDI_SET_LINK_ST_REQ = 23, - - /*WLAN DAL Get Stats Request*/ - WDI_GET_STATS_REQ = 24, - - /*WLAN DAL Update Config Request*/ - WDI_UPDATE_CFG_REQ = 25, - - /* WDI ADD BA Request */ - WDI_ADD_BA_REQ = 26, - - /* WDI Trigger BA Request */ - WDI_TRIGGER_BA_REQ = 27, - - /*WLAN DAL Update Beacon Params Request*/ - WDI_UPD_BCON_PRMS_REQ = 28, - - /*WLAN DAL Send Beacon template Request*/ - WDI_SND_BCON_REQ = 29, - - /*WLAN DAL Send Probe Response Template Request*/ - WDI_UPD_PROBE_RSP_TEMPLATE_REQ = 30, - - /*WLAN DAL Set STA Bcast Key Request*/ - WDI_SET_STA_BCAST_KEY_REQ = 31, - - /*WLAN DAL Remove STA Bcast Key Request*/ - WDI_RMV_STA_BCAST_KEY_REQ = 32, - - /*WLAN DAL Set Max Tx Power Request*/ - WDI_SET_MAX_TX_POWER_REQ = 33, - - /* WLAN DAL P2P GO Notice Of Absence Request */ - WDI_P2P_GO_NOTICE_OF_ABSENCE_REQ = 34, - - /*WLAN DAL Enter IMPS Request*/ - WDI_ENTER_IMPS_REQ = 35, - - /*WLAN DAL Exit IMPS Request*/ - WDI_EXIT_IMPS_REQ = 36, - - /*WLAN DAL Enter BMPS Request*/ - WDI_ENTER_BMPS_REQ = 37, - - /*WLAN DAL Exit BMPS Request*/ - WDI_EXIT_BMPS_REQ = 38, - - /*WLAN DAL Enter UAPSD Request*/ - WDI_ENTER_UAPSD_REQ = 39, - - /*WLAN DAL Exit UAPSD Request*/ - WDI_EXIT_UAPSD_REQ = 40, - - /*WLAN DAL Set UAPSD Param Request*/ - WDI_SET_UAPSD_PARAM_REQ = 41, - - /*WLAN DAL Update UAPSD Param (SoftAP mode) Request*/ - WDI_UPDATE_UAPSD_PARAM_REQ = 42, - - /*WLAN DAL Configure RXP filter Request*/ - WDI_CONFIGURE_RXP_FILTER_REQ = 43, - - /*WLAN DAL Configure Beacon filter Request*/ - WDI_SET_BEACON_FILTER_REQ = 44, - - /*WLAN DAL Remove Beacon filter Request*/ - WDI_REM_BEACON_FILTER_REQ = 45, - - /*WLAN DAL Set RSSI thresholds Request*/ - WDI_SET_RSSI_THRESHOLDS_REQ = 46, - - /*WLAN DAL host offload Request*/ - WDI_HOST_OFFLOAD_REQ = 47, - - /*WLAN DAL add wowl bc ptrn Request*/ - WDI_WOWL_ADD_BC_PTRN_REQ = 48, - - /*WLAN DAL delete wowl bc ptrn Request*/ - WDI_WOWL_DEL_BC_PTRN_REQ = 49, - - /*WLAN DAL enter wowl Request*/ - WDI_WOWL_ENTER_REQ = 50, - - /*WLAN DAL exit wowl Request*/ - WDI_WOWL_EXIT_REQ = 51, - - /*WLAN DAL Configure Apps CPU Wakeup state Request*/ - WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_REQ = 52, - - /* WLAN NV Download Request */ - WDI_NV_DOWNLOAD_REQ = 53, - /*WLAN DAL Flush AC Request*/ - WDI_FLUSH_AC_REQ = 54, - - /*WLAN DAL BT AMP event Request*/ - WDI_BTAMP_EVENT_REQ = 55, - /*WLAN DAL Aggregated Add TSpec Request*/ - WDI_AGGR_ADD_TS_REQ = 56, - - WDI_ADD_STA_SELF_REQ = 57, - - WDI_DEL_STA_SELF_REQ = 58, - - /* WLAN FTM Command request */ - WDI_FTM_CMD_REQ = 59, - - /*WLAN START OEM_DATA MEAS Request*/ - WDI_START_OEM_DATA_REQ = 60, - /* WLAN host resume request */ - WDI_HOST_RESUME_REQ = 61, - - WDI_KEEP_ALIVE_REQ = 62, - - /* Set PNO */ - WDI_SET_PREF_NETWORK_REQ = 63, - - /*RSSI Filter Request*/ - WDI_SET_RSSI_FILTER_REQ = 64, - - /* Update Scan Parameters*/ - WDI_UPDATE_SCAN_PARAMS_REQ = 65, - - WDI_SET_TX_PER_TRACKING_REQ = 66, - - WDI_8023_MULTICAST_LIST_REQ = 67, - WDI_RECEIVE_FILTER_SET_FILTER_REQ = 68, - WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ = 69, - WDI_RECEIVE_FILTER_CLEAR_FILTER_REQ = 70, - - /*This is temp fix. Should be removed once - * Host and Riva code is in sync*/ - WDI_INIT_SCAN_CON_REQ = 71, - - /* WLAN HAL DUMP Command request */ - WDI_HAL_DUMP_CMD_REQ = 72, - - /* WLAN DAL Shutdown Request */ - WDI_SHUTDOWN_REQ = 73, - - /*Set power parameters on the device*/ - WDI_SET_POWER_PARAMS_REQ = 74, - - /* Traffic Stream Metrics statistic request */ - WDI_TSM_STATS_REQ = 75, - /* GTK Rekey Offload */ - WDI_GTK_OFFLOAD_REQ = 76, - WDI_GTK_OFFLOAD_GETINFO_REQ = 77, - - /*Set Thermal Migration level to RIVA*/ - WDI_SET_TM_LEVEL_REQ = 78, - - /* Send a capability exchange message to HAL */ - WDI_FEATURE_CAPS_EXCHANGE_REQ = 79, - -#ifdef WLAN_FEATURE_11AC - /* Send a capability exchange message to HAL */ - WDI_UPDATE_VHT_OP_MODE_REQ = 80, -#endif - - /*WLAN DAL Get Roam Rssi Request*/ - WDI_GET_ROAM_RSSI_REQ = 81, - - /*WLAN DAL Set Tx Power Request*/ - WDI_SET_TX_POWER_REQ = 82, - WDI_ROAM_SCAN_OFFLOAD_REQ = 83, - - WDI_TDLS_LINK_ESTABLISH_REQ = 84, - - /* WLAN FW LPHB config request */ - WDI_LPHB_CFG_REQ = 85, - - /* WLAN FW set batch scan request */ - WDI_SET_BATCH_SCAN_REQ = 86, - - /*WLAN DAL Set Max Tx Power Per band Request*/ - WDI_SET_MAX_TX_POWER_PER_BAND_REQ = 87, - - WDI_MAX_REQ, - - /*Send a suspend Indication down to HAL*/ - WDI_HOST_SUSPEND_IND = WDI_MAX_REQ , - - /* Send a traffic stats indication to HAL */ - WDI_TRAFFIC_STATS_IND, - - /* DHCP Start Indication */ - WDI_DHCP_START_IND, - - /* DHCP Stop Indication */ - WDI_DHCP_STOP_IND, - - /* Drop/Receive unencrypted frames indication to HAL */ - WDI_EXCLUDE_UNENCRYPTED_IND, - - /* Send an add periodic Tx pattern indication to HAL */ - WDI_ADD_PERIODIC_TX_PATTERN_IND, - - /* Send a delete periodic Tx pattern indicationto HAL */ - WDI_DEL_PERIODIC_TX_PATTERN_IND, - - /* Send Rate Update Indication */ - WDI_RATE_UPDATE_IND, - - /*Send stop batch scan indication to FW*/ - WDI_STOP_BATCH_SCAN_IND, - /*Send stop batch scan indication to FW*/ - WDI_TRIGGER_BATCH_SCAN_RESULT_IND, - - /*Keep adding the indications to the max request - such that we keep them sepparate */ - - WDI_MAX_UMAC_IND -}WDI_RequestEnumType; - -/*--------------------------------------------------------------------------- - WLAN DAL Supported Response Types - ---------------------------------------------------------------------------*/ -typedef enum -{ - /*WLAN DAL START Response*/ - WDI_START_RESP = 0, - - /*WLAN DAL STOP Response*/ - WDI_STOP_RESP = 1, - - /*WLAN DAL STOP Response*/ - WDI_CLOSE_RESP = 2, - - /*SCAN*/ - /*WLAN DAL Init Scan Response*/ - WDI_INIT_SCAN_RESP = 3, - - /*WLAN DAL Start Scan Response*/ - WDI_START_SCAN_RESP = 4, - - /*WLAN DAL End Scan Response*/ - WDI_END_SCAN_RESP = 5, - - /*WLAN DAL Finish Scan Response*/ - WDI_FINISH_SCAN_RESP = 6, - - - /*ASSOCIATION*/ - /*WLAN DAL Join Response*/ - WDI_JOIN_RESP = 7, - - /*WLAN DAL Config BSS Response*/ - WDI_CONFIG_BSS_RESP = 8, - - /*WLAN DAL Del BSS Response*/ - WDI_DEL_BSS_RESP = 9, - - /*WLAN DAL Post Assoc Response*/ - WDI_POST_ASSOC_RESP = 10, - - /*WLAN DAL Del STA Response*/ - WDI_DEL_STA_RESP = 11, - - /*WLAN DAL Set BSS Key Response*/ - WDI_SET_BSS_KEY_RESP = 12, - - /*WLAN DAL Remove BSS Key Response*/ - WDI_RMV_BSS_KEY_RESP = 13, - - /*WLAN DAL Set STA Key Response*/ - WDI_SET_STA_KEY_RESP = 14, - - /*WLAN DAL Remove STA Key Response*/ - WDI_RMV_STA_KEY_RESP = 15, - - /*WLAN DAL Add TSpec Response*/ - WDI_ADD_TS_RESP = 16, - - /*WLAN DAL Delete TSpec Response*/ - WDI_DEL_TS_RESP = 17, - - /*WLAN DAL Update EDCA Params Response*/ - WDI_UPD_EDCA_PRMS_RESP = 18, - - /*WLAN DAL Add BA Session Response*/ - WDI_ADD_BA_SESSION_RESP = 19, - - /*WLAN DAL Delete BA Response*/ - WDI_DEL_BA_RESP = 20, - - /*WLAN DAL Channel Switch Response*/ - WDI_CH_SWITCH_RESP = 21, - - /*WLAN DAL Config STA Response*/ - WDI_CONFIG_STA_RESP = 22, - - /*WLAN DAL Set Link State Response*/ - WDI_SET_LINK_ST_RESP = 23, - - /*WLAN DAL Get Stats Response*/ - WDI_GET_STATS_RESP = 24, - - /*WLAN DAL Update Config Response*/ - WDI_UPDATE_CFG_RESP = 25, - - /* WDI ADD BA Response */ - WDI_ADD_BA_RESP = 26, - - /* WDI Trigger BA Response */ - WDI_TRIGGER_BA_RESP = 27, - - /*WLAN DAL Update beacon params Response*/ - WDI_UPD_BCON_PRMS_RESP = 28, - - /*WLAN DAL Send beacon template Response*/ - WDI_SND_BCON_RESP = 29, - - /*WLAN DAL Update Probe Response Template Response*/ - WDI_UPD_PROBE_RSP_TEMPLATE_RESP = 30, - - /*WLAN DAL Set STA Key Response*/ - WDI_SET_STA_BCAST_KEY_RESP = 31, - - /*WLAN DAL Remove STA Key Response*/ - WDI_RMV_STA_BCAST_KEY_RESP = 32, - - /*WLAN DAL Set Max Tx Power Response*/ - WDI_SET_MAX_TX_POWER_RESP = 33, - - /*WLAN DAL Enter IMPS Response*/ - WDI_ENTER_IMPS_RESP = 34, - - /*WLAN DAL Exit IMPS Response*/ - WDI_EXIT_IMPS_RESP = 35, - - /*WLAN DAL Enter BMPS Response*/ - WDI_ENTER_BMPS_RESP = 36, - - /*WLAN DAL Exit BMPS Response*/ - WDI_EXIT_BMPS_RESP = 37, - - /*WLAN DAL Enter UAPSD Response*/ - WDI_ENTER_UAPSD_RESP = 38, - - /*WLAN DAL Exit UAPSD Response*/ - WDI_EXIT_UAPSD_RESP = 39, - - /*WLAN DAL Set UAPSD Param Response*/ - WDI_SET_UAPSD_PARAM_RESP = 40, - - /*WLAN DAL Update UAPSD Param (SoftAP mode) Response*/ - WDI_UPDATE_UAPSD_PARAM_RESP = 41, - - /*WLAN DAL Configure RXP filter Response*/ - WDI_CONFIGURE_RXP_FILTER_RESP = 42, - - /*WLAN DAL Set Beacon filter Response*/ - WDI_SET_BEACON_FILTER_RESP = 43, - - /*WLAN DAL Remove Beacon filter Response*/ - WDI_REM_BEACON_FILTER_RESP = 44, - - /*WLAN DAL Set RSSI thresholds Response*/ - WDI_SET_RSSI_THRESHOLDS_RESP = 45, - - /*WLAN DAL Set RSSI thresholds Response*/ - WDI_HOST_OFFLOAD_RESP = 46, - - /*WLAN DAL add wowl bc ptrn Response*/ - WDI_WOWL_ADD_BC_PTRN_RESP = 47, - - /*WLAN DAL delete wowl bc ptrn Response*/ - WDI_WOWL_DEL_BC_PTRN_RESP = 48, - - /*WLAN DAL enter wowl Response*/ - WDI_WOWL_ENTER_RESP = 49, - - /*WLAN DAL exit wowl Response*/ - WDI_WOWL_EXIT_RESP = 50, - - /*WLAN DAL Configure Apps CPU Wakeup state Response*/ - WDI_CONFIGURE_APPS_CPU_WAKEUP_STATE_RESP = 51, - - /* WLAN NV Download responce */ - WDI_NV_DOWNLOAD_RESP = 52, - - /*WLAN DAL Flush AC Response*/ - WDI_FLUSH_AC_RESP = 53, - - /*WLAN DAL Flush AC Response*/ - WDI_BTAMP_EVENT_RESP = 54, - - /*WLAN DAL Add Aggregated TSpec Response*/ - WDI_AGGR_ADD_TS_RESP = 55, - - /*Add Self STA Response*/ - WDI_ADD_STA_SELF_RESP = 56, - - /*Delete Self STA Response*/ - WDI_DEL_STA_SELF_RESP = 57, - - /*WLAN START OEM_DATA Response*/ - WDI_START_OEM_DATA_RESP = 58, - - /* WLAN host resume request */ - WDI_HOST_RESUME_RESP = 59, - - /* WLAN DAL P2P GO Notice Of Absence Response */ - WDI_P2P_GO_NOTICE_OF_ABSENCE_RESP = 60, - - /* FTM Response from HAL */ - WDI_FTM_CMD_RESP = 61, - - /*Keep alive response */ - WDI_KEEP_ALIVE_RESP = 62, - - /* Set PNO Response */ - WDI_SET_PREF_NETWORK_RESP = 63, - - /* Set RSSI Filter Response */ - WDI_SET_RSSI_FILTER_RESP = 64, - - /* Update Scan Parameters Resp */ - WDI_UPDATE_SCAN_PARAMS_RESP = 65, - - //Tx PER Tracking - WDI_SET_TX_PER_TRACKING_RESP = 66, - - - - /* Packet Filtering Response */ - WDI_8023_MULTICAST_LIST_RESP = 67, - - WDI_RECEIVE_FILTER_SET_FILTER_RESP = 68, - - WDI_PACKET_COALESCING_FILTER_MATCH_COUNT_RESP = 69, - - WDI_RECEIVE_FILTER_CLEAR_FILTER_RESP = 70, - - - /* WLAN HAL DUMP Command Response */ - WDI_HAL_DUMP_CMD_RESP = 71, - - /* WLAN Shutdown Response */ - WDI_SHUTDOWN_RESP = 72, - - /*Set power parameters response */ - WDI_SET_POWER_PARAMS_RESP = 73, - - WDI_TSM_STATS_RESP = 74, - /* GTK Rekey Offload */ - WDI_GTK_OFFLOAD_RESP = 75, - WDI_GTK_OFFLOAD_GETINFO_RESP = 76, - - WDI_SET_TM_LEVEL_RESP = 77, - - /* FW sends its capability bitmap as a response */ - WDI_FEATURE_CAPS_EXCHANGE_RESP = 78, - -#ifdef WLAN_FEATURE_11AC - WDI_UPDATE_VHT_OP_MODE_RESP = 79, -#endif - - /* WLAN DAL Get Roam Rssi Response*/ - WDI_GET_ROAM_RSSI_RESP = 80, - - WDI_SET_TX_POWER_RESP = 81, - WDI_ROAM_SCAN_OFFLOAD_RESP = 82, - - WDI_TDLS_LINK_ESTABLISH_REQ_RESP = 83, - - /* WLAN FW LPHB Config response */ - WDI_LPHB_CFG_RESP = 84, - - WDI_SET_BATCH_SCAN_RESP = 85, - - WDI_SET_MAX_TX_POWER_PER_BAND_RSP = 86, - - /*------------------------------------------------------------------------- - Indications - !! Keep these last in the enum if possible - -------------------------------------------------------------------------*/ - WDI_HAL_IND_MIN , - /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been - passed. */ - WDI_HAL_RSSI_NOTIFICATION_IND = WDI_HAL_IND_MIN, - - /*Link loss in the low MAC */ - WDI_HAL_MISSED_BEACON_IND = WDI_HAL_IND_MIN + 1, - - /*When hardware has signaled an unknown addr2 frames. The indication will - contain info from frames to be passed to the UMAC, this may use this info to - deauth the STA*/ - WDI_HAL_UNKNOWN_ADDR2_FRAME_RX_IND = WDI_HAL_IND_MIN + 2, - - /*MIC Failure detected by HW*/ - WDI_HAL_MIC_FAILURE_IND = WDI_HAL_IND_MIN + 3, - - /*Fatal Error Ind*/ - WDI_HAL_FATAL_ERROR_IND = WDI_HAL_IND_MIN + 4, - - /*Received when the RIVA SW decides to autonomously delete an associate - station (e.g. Soft AP TIM based dissassoc) */ - WDI_HAL_DEL_STA_IND = WDI_HAL_IND_MIN + 5, - - /*Coex indication*/ - WDI_HAL_COEX_IND = WDI_HAL_IND_MIN + 6, - - /* Tx Complete Indication */ - WDI_HAL_TX_COMPLETE_IND = WDI_HAL_IND_MIN + 7, - - WDI_HAL_P2P_NOA_ATTR_IND = WDI_HAL_IND_MIN + 8, - - /* Preferred Network Found Indication */ - WDI_HAL_PREF_NETWORK_FOUND_IND = WDI_HAL_IND_MIN + 9, - - /* Wakeup Reason Indication */ - WDI_HAL_WAKE_REASON_IND = WDI_HAL_IND_MIN + 10, - - /* Tx PER Hit Indication */ - WDI_HAL_TX_PER_HIT_IND = WDI_HAL_IND_MIN + 11, - - /* NOA Start Indication from FW to Host */ - WDI_HAL_P2P_NOA_START_IND = WDI_HAL_IND_MIN + 12, - - /* TDLS Indication from FW to Host */ - WDI_HAL_TDLS_IND = WDI_HAL_IND_MIN + 13, - - /* LPHB timeout indication */ - WDI_HAL_LPHB_IND = WDI_HAL_IND_MIN + 14, - - /* IBSS Peer Inactivity Indication from FW to Host */ - WDI_HAL_IBSS_PEER_INACTIVITY_IND = WDI_HAL_IND_MIN + 15, - - /* Periodic Tx Pattern Indication from FW to Host */ - WDI_HAL_PERIODIC_TX_PTRN_FW_IND = WDI_HAL_IND_MIN + 16, - - WDI_BATCHSCAN_RESULT_IND = WDI_HAL_IND_MIN + 17, - - WDI_MAX_RESP -}WDI_ResponseEnumType; - -typedef struct -{ - /*Flag that marks a session as being in use*/ - wpt_boolean bInUse; - - /*Flag that keeps track if a series of assoc requests for this BSS are - currently pending in the queue or processed - - the flag is set to true when the Join request ends up being queued - - and reset to false when the Pending queue is empty */ - wpt_boolean bAssocReqQueued; - - /*BSSID of the session*/ - wpt_macAddr macBSSID; - - /*BSS Index associated with this BSSID*/ - wpt_uint8 ucBSSIdx; - - /*Associated state of the current BSS*/ - WDI_AssocStateType wdiAssocState; - - /*WDI Pending Request Queue*/ - wpt_list wptPendingQueue; - - /*DPU Information for this BSS*/ - wpt_uint8 bcastDpuIndex; - wpt_uint8 bcastDpuSignature; - wpt_uint8 bcastMgmtDpuIndex; - wpt_uint8 bcastMgmtDpuSignature; - - /*RMF enabled/disabled*/ - wpt_uint8 ucRmfEnabled; - - /*Bcast STA ID associated with this BSS session */ - wpt_uint8 bcastStaIdx; - - /*The type of the BSS in the session */ - WDI_BssType wdiBssType; -}WDI_BSSSessionType; - -/*--------------------------------------------------------------------------- - WDI_ConfigBSSRspInfoType ----------------------------------------------------------------------------*/ -typedef WPT_PACK_PRE struct -{ - /*BSS index allocated by HAL*/ - wpt_uint8 ucBSSIdx; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /*Broadcast DPU descriptor index allocated by HAL and used for - broadcast/multicast packets.*/ - wpt_uint8 ucBcastDpuDescIndx; - - /*DPU signature to be used for broadcast/multicast packets*/ - wpt_uint8 ucBcastDpuSignature; - - /*DPU descriptor index allocated by HAL, used for bcast/mcast management - packets*/ - wpt_uint8 ucMgmtDpuDescIndx; - - /*DPU signature to be used for bcast/mcast management packets*/ - wpt_uint8 ucMgmtDpuSignature; - - /*Status of the request received from HAL */ - eHalStatus halStatus; -}WPT_PACK_POST WDI_ConfigBSSRspInfoType; - - -/*--------------------------------------------------------------------------- - WDI_PostAssocRspInfoType ----------------------------------------------------------------------------*/ -typedef WPT_PACK_PRE struct -{ - /*STA Index allocated by HAL.*/ - wpt_uint16 usSTAIdx; - - /*MAC Address of STA*/ - wpt_macAddr macSTA; - - /*Unicast DPU signature*/ - wpt_uint8 ucUcastSig; - - /*Broadcast DPU Signature*/ - wpt_uint8 ucBcastSig; - - /*BSSID of the BSS*/ - wpt_macAddr macBSSID; - - /*HAL Status */ - eHalStatus halStatus; -}WPT_PACK_POST WDI_PostAssocRspInfoType; - -/*--------------------------------------------------------------------------- - WLAN DAL FSM Event Info Type - ---------------------------------------------------------------------------*/ -typedef struct -{ - /*Events can be linked in a list - put a node in front for that, it will be - used by wpt to link them*/ - wpt_list_node wptListNode; - - /*Request Received */ - WDI_RequestEnumType wdiRequest; - - /*Response Received */ - WDI_ResponseEnumType wdiResponse; - - /*Data associated with the request */ - void* pEventData; - - /*Data Size*/ - wpt_uint32 uEventDataSize; - - /*Callback function for receiving the response to the event*/ - void* pCBfnc; - - /*User data to be sent along with the CB function call*/ - void* pUserData; -}WDI_EventInfoType; - -/*--------------------------------------------------------------------------- - WLAN DAL Session Index Type - ---------------------------------------------------------------------------*/ -typedef struct -{ - /*Events can be linked in a list - put a node in front for that, it will be - used by wpt to link them*/ - wpt_list_node wptListNode; - - /*Session id for the new association to be processed*/ - wpt_uint8 ucIndex; - -}WDI_NextSessionIdType; - -#define WDI_CONTROL_BLOCK_MAGIC 0x67736887 /* WDIC in little endian */ -/*--------------------------------------------------------------------------- - WLAN DAL Control Block Type - ---------------------------------------------------------------------------*/ -typedef struct -{ - /*magic number so callbacks can validate their context pointers*/ - wpt_uint32 magic; - - /*Ptr to the OS Context received from the UMAC*/ - void* pOSContext; - - /*Ptr to the PAL Context received from PAL*/ - void* pPALContext; - - /*Ptr to the Datapath Context received from PAL*/ - void* pDPContext; - - /*Ptr to the Datapath Transport Driver Context received from PAL*/ - void* pDTDriverContext; - - /*Hanlde to the control transport service*/ - WCTS_HandleType wctsHandle; - - /*Flag that keeps track if CT is Opened or not*/ - wpt_boolean bCTOpened; - - /*The global state of the DAL Control Path*/ - WDI_MainStateType uGlobalState; - - /*Flag to keep track of the expected state transition after processing - of a response */ - WDI_MainStateType ucExpectedStateTransition; - - /*Main Synchronization Object for the WDI CB*/ - wpt_mutex wptMutex; - - /*WDI response timer*/ - wpt_timer wptResponseTimer; - - /*WDI Pending Request Queue*/ - wpt_list wptPendingQueue; -#if 0 - /*The state of the DAL during a scanning procedure*/ - WDI_ScanStateType uScanState; - - /*Flag that keeps track if a Scan is currently in progress*/ - wpt_boolean bScanInProgress; -#endif - /*Flag that keeps track if an Association is currently in progress*/ - wpt_boolean bAssociationInProgress; - - /*Array of simultaneous BSS Sessions*/ - WDI_BSSSessionType aBSSSessions[WDI_MAX_BSS_SESSIONS]; - - /*WDI Pending Association Session Id Queue - it keeps track of the - order in which queued assoc requests came in*/ - wpt_list wptPendingAssocSessionIdQueue; - - /*! TO DO : - group these in a union, only one cached req can exist at a - time */ - - /*Cached post assoc request - there can only be one in the system as - only one request goes down to hal up until a response is received - The values cached are used on response to save a station if needed */ - WDI_PostAssocReqParamsType wdiCachedPostAssocReq; - - /*Cached config sta request - there can only be one in the system as - only one request goes down to hal up until a response is received - The values cached are used on response to save a station if needed */ - WDI_ConfigSTAReqParamsType wdiCachedConfigStaReq; - - /*Cached config sta request - there can only be one in the system as - only one request goes down to hal up until a response is received - The values cached are used on response to save a BSS if needed */ - WDI_ConfigBSSReqParamsType wdiCachedConfigBssReq; - - /*Cached set link state request - there can only be one in the system as - only one request goes down to hal up until a response is received - The values cached are used on response to delete a BSS if needed */ - WDI_SetLinkReqParamsType wdiCacheSetLinkStReq; - - /*Cached add STA self request - there can only be one in the system as - only one request goes down to hal up until a response is received - The values cached are used on response to save the self STA in the table */ - WDI_AddSTASelfReqParamsType wdiCacheAddSTASelfReq; - - /*Current session being handled*/ - wpt_uint8 ucCurrentBSSSesIdx; - - /*Pointer to the response CB of the pending request*/ - void* pfncRspCB; - - /*Pointer to the user data to be sent along with the response CB*/ - void* pRspCBUserData; - - /*The expected response from HAL*/ - WDI_ResponseEnumType wdiExpectedResponse; - - /*Request status callback offered by UMAC - it is called if the current - req has returned PENDING as status; it delivers the status of sending - the message over the BUS */ - WDI_ReqStatusCb wdiReqStatusCB; - - /*The user data passed in by UMAC, it will be sent back when the above - function pointer will be called */ - void* pReqStatusUserData; - - /*Indication callback given by UMAC to be called by the WLAN DAL when it - wishes to send something back independent of a request*/ - WDI_LowLevelIndCBType wdiLowLevelIndCB; - - /*The user data passed in by UMAC, it will be sent back when the indication - function pointer will be called */ - void* pIndUserData; - - /*Cached start response parameters*/ - WDI_StartRspParamsType wdiCachedStartRspParams; - - /* Information related to NV Image*/ - WDI_NvBlobInfoParams wdiNvBlobInfo; - - /*STA Table Information*/ - /*Max number of stations allowed by device */ - wpt_uint8 ucMaxStations; - - /*Max number of BSSes allowed by device */ - wpt_uint8 ucMaxBssids; - - /* Global BSS and STA table - Memory is allocated when needed.*/ - void* staTable; - -#ifndef HAL_SELF_STA_PER_BSS - /*Index of the Self STA */ - wpt_uint8 ucSelfStaId; - - /* Self STA DPU Index */ - wpt_uint16 usSelfStaDpuId; - - /*Self STA Mac*/ - wpt_macAddr macSelfSta; -#endif - - /*Is frame translation enabled */ - wpt_uint8 bFrameTransEnabled; - - /*AMSDU BD Fix Mask - used by the Fixing routine for Data Path */ - WDI_RxBdType wdiRxAmsduBdFixMask; - - /*First AMSDU BD - used by the Fixing routine for Data Path */ - WDI_RxBdType wdiRxAmsduFirstBdCache; - - /*This must be incremented on sta change */ - wpt_uint32 uBdSigSerialNum; - - /* dpu routing flag - ! TO DO: - must be set/reset when PS is enabled for UAPSD */ - wpt_uint8 ucDpuRF; - /* Event to wait for when WCTS is told to perform an action */ - wpt_event wctsActionEvent; - /* Event to wait for ACK from DXE after the power state is set */ - wpt_event setPowerStateEvent; - /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program - DXE when DXE wakes up from power save*/ - unsigned int dxePhyAddr; - - /*NV download request parameters */ - WDI_NvDownloadReqParamsType wdiCachedNvDownloadReq; - - /* Driver Type */ - tDriverType driverMode; - - /* Statically allocated FTM Response Buffer */ - wpt_uint8 ucFTMCommandRspBuffer[WDI_FTM_MAX_RECEIVE_BUFFER]; - - /*Driver in BMPS state*/ - wpt_boolean bInBmps; - - /*version of the PNO implementation in RIVA*/ - wpt_uint8 wdiPNOVersion; - - /*SSR timer*/ - wpt_timer ssrTimer; - - /*Version of the WLAN HAL API received on start resp*/ - WDI_WlanVersionType wlanVersion; - - /*timestamp when we start response timer*/ - wpt_uint32 uTimeStampRspTmrStart; - - /*timestamp when we get response timer event*/ - wpt_uint32 uTimeStampRspTmrExp; - - /* enable/disable SSR on WDI timeout */ - wpt_boolean bEnableSSR; -}WDI_ControlBlockType; - - - - -/*--------------------------------------------------------------------------- - - DESCRIPTION - WLAN DAL Request Processing function definition. - - PARAMETERS - - IN - pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - - RETURN VALUE - The result code associated with performing the operation - ----------------------------------------------------------------------------*/ -typedef WDI_Status (*WDI_ReqProcFuncType)( WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData); - - -/*--------------------------------------------------------------------------- - - DESCRIPTION - WLAN DAL Response Processing function definition. - - PARAMETERS - - IN - pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - - RETURN VALUE - The result code associated with performing the operation - ----------------------------------------------------------------------------*/ -typedef WDI_Status (*WDI_RspProcFuncType)( WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData); - - - - -/*========================================================================== - MAIN DAL FSM Definitions and Declarations -==========================================================================*/ - -/*--------------------------------------------------------------------------- - DAL Control Path Main FSM - ---------------------------------------------------------------------------*/ -#define WDI_STATE_TRANSITION(_pctx, _st) (_pctx->uGlobalState = _st) - - - -/*--------------------------------------------------------------------------- - DAL Main Event type ----------------------------------------------------------------------------*/ -typedef enum -{ - /* Start request received from UMAC */ - WDI_START_EVENT = 0, - - /* Stop request received from UMAC */ - WDI_STOP_EVENT = 1, - - /* HAL request received from UMAC*/ - WDI_REQUEST_EVENT = 2, - - /* HAL Response received from device */ - WDI_RESPONSE_EVENT = 3, - - /* Close request received from UMAC */ - WDI_CLOSE_EVENT = 4, - - /* Shutdown request received from UMAC */ - WDI_SHUTDOWN_EVENT = 5, - - WDI_MAX_EVENT - -}WDI_MainEventType; - -/*--------------------------------------------------------------------------- - - DESCRIPTION - Main DAL state machine function definition. - - PARAMETERS - - IN - pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - - RETURN VALUE - The result code associated with performing the operation - ----------------------------------------------------------------------------*/ -typedef WDI_Status (*WDI_MainFuncType)( WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData); - -/*--------------------------------------------------------------------------- - MAIN DAL FSM Entry type ----------------------------------------------------------------------------*/ -typedef struct -{ - WDI_MainFuncType pfnMainTbl[WDI_MAX_EVENT]; -} WDI_MainFsmEntryType; - -/*Macro to check for valid session id*/ -#define WDI_VALID_SESSION_IDX(_idx) ( _idx < WDI_MAX_BSS_SESSIONS ) - -/*========================================================================== - - DAL INTERNAL FUNCTION DECLARATION - -==========================================================================*/ - -/** - @brief Helper routine for retrieving the PAL Context from WDI - - can be used by CTS, DTS, DXE and othe DAL internals - - @param None - - @see - @return pointer to the context -*/ -void* WDI_GET_PAL_CTX( void ); - -/*--------------------------------------------------------------------------- - MAIN DAL FSM Function Declarations ----------------------------------------------------------------------------*/ -/** - @brief WDI_PostMainEvent - Posts an event to the Main FSM - - - @param pWDICtx: pointer to the WLAN DAL context - wdiEV: event posted to the main DAL FSM - pEventData: pointer to the event information - structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_PostMainEvent -( - WDI_ControlBlockType* pWDICtx, - WDI_MainEventType wdiEV, - WDI_EventInfoType* pEventData - -); - -/*-------------------------------------------------------------------------- - INIT State Functions ---------------------------------------------------------------------------*/ -/** - @brief Main FSM Start function for all states except BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainStart -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Response function for state INIT - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainRspInit -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Close function for all states except BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainClose -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/*-------------------------------------------------------------------------- - STARTED State Functions ---------------------------------------------------------------------------*/ -/** - @brief Main FSM Start function for state STARTED - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainStartStarted -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Stop function for state STARTED - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - uEventDataSize: size of the data sent in event - pCBfnc: cb function for event response - pUserData: user data - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainStopStarted -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Request function for state started - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainReqStarted -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Response function for all states except INIT - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/*-------------------------------------------------------------------------- - STOPPED State Functions ---------------------------------------------------------------------------*/ -/** - @brief Main FSM Stop function for state STOPPED - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainStopStopped -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData - ); - -/*-------------------------------------------------------------------------- - BUSY State Functions ---------------------------------------------------------------------------*/ -/** - @brief Main FSM Start function for state BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainStartBusy -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Stop function for state BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainStopBusy -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Request function for state BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainReqBusy -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Close function for state BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainCloseBusy -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Shutdown function for INIT & STARTED states - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainShutdown -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Main FSM Shutdown function for BUSY state - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_MainShutdownBusy -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/*======================================================================== - Main DAL Control Path Request Processing API -========================================================================*/ - -/** - @brief Process Start Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStartReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Stop Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStopReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Close Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessCloseReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Shutdown Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessShutdownReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Init Scan Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessInitScanReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Start Scan Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStartScanReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process End Scan Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEndScanReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Finish Scan Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFinishScanReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Join Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessJoinReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Config BSS Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigBSSReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Del BSS Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelBSSReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Post Assoc Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessPostAssocReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Del STA Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelSTAReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set BSS Key Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetBssKeyReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Remove BSS Key Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemoveBssKeyReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set STA KeyRequest function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetStaKeyReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Remove STA Key Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemoveStaKeyReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set STA KeyRequest function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetStaBcastKeyReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Remove STA Key Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemoveStaBcastKeyReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add TSpec Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddTSpecReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Del TSpec Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelTSpecReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update EDCA Params Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateEDCAParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add BA Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddBASessionReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Del BA Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelBAReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_WLAN_ESE -/** - @brief Process TSM Stats Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTSMStatsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif - -/** - @brief Process Channel Switch Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessChannelSwitchReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Config STA Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigStaReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Set Link State Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetLinkStateReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Get Stats Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGetStatsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR) -/** - @brief Process Get Roam rssi Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGetRoamRssiReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Get Roam Rssi Rsp function (called when a response is - being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGetRoamRssiRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#endif - - -/** - @brief Process Update Cfg Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateCfgReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add BA Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddBAReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Trigger BA Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTriggerBAReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Beacon Params Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateBeaconParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Beacon template Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSendBeaconParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Beacon Params Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateProbeRspTemplateReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -/** - @brief Process NV blob download function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessNvDownloadReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set Max Tx Power Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status WDI_ProcessSetMaxTxPowerReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set Max Tx Power Per Band Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status WDI_ProcessSetMaxTxPowerPerBandReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set Tx Power Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status WDI_ProcessSetTxPowerReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process P2P Notice Of Absence Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessP2PGONOAReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process TDLS Link Establish Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTdlsLinkEstablishReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Enter IMPS Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEnterImpsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Exit IMPS Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExitImpsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Enter BMPS Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEnterBmpsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Exit BMPS Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExitBmpsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Enter UAPSD Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEnterUapsdReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Exit UAPSD Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExitUapsdReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set UAPSD params Request function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetUapsdAcParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process update UAPSD params Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateUapsdParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Configure RXP filter Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigureRxpFilterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set beacon filter Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetBeaconFilterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process remove beacon filter Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemBeaconFilterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set RSSI thresholds Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetRSSIThresholdsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set RSSI thresholds Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHostOffloadReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Keep Alive Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessKeepAliveReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Wowl add bc ptrn Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlAddBcPtrnReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Wowl delete bc ptrn Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlDelBcPtrnReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Wowl enter Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlEnterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Wowl exit Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlExitReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Configure Apps Cpu Wakeup State Request function - (called when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigureAppsCpuWakeupStateReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Flush AC Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFlushAcReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_OEM_DATA_SUPPORT -/** - @brief Process Start Oem Data Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStartOemDataReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif - -/** - @brief Process Host Resume Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHostResumeReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process BT AMP event Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessBtAmpEventReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add STA self Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddSTASelfReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Del Sta Self Request function (called when Main - FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelSTASelfReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set Tx Per Tracking configurations Request function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetTxPerTrackingReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set Power Params Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetPowerParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set Thermal Mitigation level Changed request - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetTmLevelReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_WLAN_LPHB -/** - @brief WDI_ProcessLPHBConfReq - - LPHB configuration request to FW - - @param pWDICtx : wdi context - pEventData : indication data - - @see - @return esult of the function call -*/ -WDI_Status WDI_ProcessLPHBConfReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif /* FEATURE_WLAN_LPHB */ - -#ifdef FEATURE_WLAN_BATCH_SCAN -/** - @brief WDI_ProcessSetBatchScanReq - - Send set batch scan configuration request to FW - - @param pWDICtx : wdi context - pEventData : indication data - - @see - @return success or failure -*/ -WDI_Status WDI_ProcessSetBatchScanReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief WDI_ProcessGetBatchScanReq - - Send get batch scan request to FW - - @param pWDICtx : wdi context - pEventData : indication data - - @see - @return success or failure -*/ -WDI_Status WDI_ProcessGetBatchScanReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif /* FEATURE_WLAN_BATCH_SCAN */ - - -/*========================================================================= - Indications -=========================================================================*/ - -/** - @brief Process Suspend Indications function (called when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHostSuspendInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief DHCP Start Event Indication - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDHCPStartInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief DHCP Stop Event Indication - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDHCPStopInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Traffic Stats Indications function (called when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTrafficStatsInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef WLAN_FEATURE_11W -/** - @brief Process Exclude Unencrypted Indications function (called - when Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExcludeUnencryptInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif - -/** - @brief Process Add Periodic Tx Pattern Indication function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddPeriodicTxPtrnInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Delete Periodic Tx Pattern Indication function (called when - Main FSM allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelPeriodicTxPtrnInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_WLAN_BATCH_SCAN -/** - @brief Process stop batch scan indications function - It is called when Main FSM allows it - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call - */ - WDI_Status - WDI_ProcessStopBatchScanInd - ( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData - ); - -/** - @brief This API is called to trigger batch scan results from FW - It is called when Main FSM allows it - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call - */ - WDI_Status - WDI_ProcessTriggerBatchScanResultInd - ( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData - ); - -#endif - -/*======================================================================== - Main DAL Control Path Response Processing API -========================================================================*/ - - -/** - @brief Process Start Response function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStartRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Stop Response function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStopRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Close Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessCloseRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Shutdown Rsp function - There is no shutdown response comming from HAL - - function just kept for simmetry - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessShutdownRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Init Scan Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessInitScanRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Start Scan Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStartScanRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process End Scan Response function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEndScanRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Finish Scan Response function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFinishScanRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Join Response function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessJoinRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Config BSS Response function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigBSSRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Del BSS Response function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelBSSRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Post Assoc Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessPostAssocRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Del STA Key Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelSTARsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set BSS Key Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetBssKeyRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Remove BSS Key Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemoveBssKeyRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Set STA Key Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetStaKeyRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Remove STA Key Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemoveStaKeyRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Set STA Bcast Key Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetStaBcastKeyRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Remove STA Bcast Key Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemoveStaBcastKeyRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add TSpec Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddTSpecRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Del TSpec Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelTSpecRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update EDCA Parameters Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateEDCAParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Add BA Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddBASessionRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Del BA Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelBARsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_WLAN_ESE -/** - @brief Process TSM stats Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTsmStatsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#endif - - -/** - @brief Process Channel Switch Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessChannelSwitchRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Config STA Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigStaRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Set Link State Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetLinkStateRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Get Stats Rsp function (called when a response is - being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGetStatsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Update Cfg Rsp function (called when a response is - being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateCfgRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add BA Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddBARsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add BA Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTriggerBARsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Beacon Params Rsp function (called when a response is - being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateBeaconParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Send Beacon template Rsp function (called when a response is - being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSendBeaconParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Probe Resp Template Rsp function (called - when a response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateProbeRspTemplateRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - /** - @brief Process Set Max Tx Power Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetMaxTxPowerRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set Max Tx Power Per Band Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetMaxTxPowerPerBandRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - /** - @brief Process Set Tx Power Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetTxPowerRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - /** - @brief Process TDLS Link Establish Req Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessLinkEstablishReqRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Nv download(called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessNvDownloadRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process P2P Group Owner Notice Of Absense Rsp function (called - when a response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessP2PGONOARsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Enter IMPS Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEnterImpsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Exit IMPS Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExitImpsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Enter BMPS Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEnterBmpsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Exit BMPS Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExitBmpsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Enter UAPSD Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessEnterUapsdRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Exit UAPSD Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessExitUapsdRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set UAPSD params Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetUapsdAcParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process update UAPSD params Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateUapsdParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Configure RXP filter Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigureRxpFilterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set beacon filter Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetBeaconFilterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process remove beacon filter Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRemBeaconFilterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set RSSI thresholds Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetRSSIThresoldsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process host offload Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHostOffloadRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Keep Alive Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessKeepAliveRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process wowl add ptrn Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlAddBcPtrnRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process wowl delete ptrn Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlDelBcPtrnRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process wowl enter Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlEnterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process wowl exit Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessWowlExitRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Configure Apps CPU wakeup State Rsp function - (called when a response is being received over the bus - from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessConfigureAppsCpuWakeupStateRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -/** - @brief Process Flush AC Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFlushAcRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process BT AMP event Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessBtAmpEventRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process ADD SELF STA Rsp function (called - when a response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAddSTASelfRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - /** - @brief WDI_ProcessDelSTASelfRsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelSTASelfRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_OEM_DATA_SUPPORT -/** - @brief Start Oem Data Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessStartOemDataRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif - - /** - @brief WDI_ProcessHostResumeRsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHostResumeRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process set tx per tracking Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetTxPerTrackingRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Power Params Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetPowerParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set TM Level Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetTmLevelRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/*========================================================================== - Indications from HAL - ==========================================================================*/ -/** - @brief Process Low RSSI Indication function (called when an - indication of this kind is being received over the bus - from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessLowRSSIInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Missed Beacon Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessMissedBeaconInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process Unk Addr Frame Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUnkAddrFrameInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/** - @brief Process MIC Failure Indication function (called when an - indication of this kind is being received over the bus - from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessMicFailureInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Fatal Failure Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFatalErrorInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Delete STA Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessDelSTAInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** -*@brief Process Coex Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessCoexInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** -*@brief Process Tx Complete Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTxCompleteInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** -*@brief Process Tdls Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTdlsInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** -*@brief Process Noa Start Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessP2pNoaStartInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** -*@brief Process Noa Attr Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessP2pNoaAttrInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** -*@brief Process Tx Per Hit Indication function (called when - an indication of this kind is being received over the - bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessTxPerHitInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_WLAN_LPHB -/** - @brief WDI_ProcessLphbInd - - This function will be invoked when FW detects low power - heart beat failure - - @param pWDICtx : wdi context - pEventData : indication data - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessLphbInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif /* FEATURE_WLAN_LPHB */ - -/** - @brief Process Periodic Tx Pattern Fw Indication function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessPeriodicTxPtrnFwInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef WLAN_FEATURE_VOWIFI_11R -/** - @brief Process Aggrgated Add TSpec Request function (called when Main FSM - allows it) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAggrAddTSpecReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Add TSpec Rsp function (called when a response - is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessAggrAddTSpecRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#endif /* WLAN_FEATURE_VOWIFI_11R */ - -/** - @brief WDI_ProcessFTMCommandReq - Process FTM Command, simply route to HAL - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFTMCommandReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief WDI_ProcessFTMCommandRsp - Process FTM Command Response from HAL, simply route to HDD FTM - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFTMCommandRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -/** - @brief WDI_ProcessHALDumpCmdReq - Process Hal Dump Command, simply route to HAL - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHALDumpCmdReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief WDI_ProcessHALDumpCmdRsp - Process Hal Dump Command Response from HAL, simply route to HDD FTM - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessHALDumpCmdRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief WDI_ProcessIbssPeerInactivityInd - Process peer inactivity indication coming from HAL. - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessIbssPeerInactivityInd - -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - - -/*======================================================================== - Internal Helper Routines -========================================================================*/ - -/** - @brief WDI_CleanCB - internal helper routine used to clean the - WDI Main Control Block - - @param pWDICtx - pointer to the control block - - @return Result of the function call -*/ -WDI_Status -WDI_CleanCB -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief Main FSM Close function for all states except BUSY - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRequest -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Get message helper function - it allocates memory for a - message that is to be sent to HAL accross the bus and - prefixes it with a send message header - - @param pWDICtx: pointer to the WLAN DAL context - wdiReqType: type of the request being sent - uBufferLen: message buffer len - pMsgBuffer: resulting allocated buffer - puDataOffset: offset in the buffer where the caller - can start copying its message data - puBufferSize: the resulting buffer size (offset+buff - len) - - @see - @return Result of the function call -*/ -WDI_Status -WDI_GetMessageBuffer -( - WDI_ControlBlockType* pWDICtx, - WDI_RequestEnumType wdiReqType, - wpt_uint16 usBufferLen, - wpt_uint8** pMsgBuffer, - wpt_uint16* pusDataOffset, - wpt_uint16* pusBufferSize -); - -/** - @brief WDI_DetectedDeviceError - called internally by DAL when - it has detected a failure in the device - - @param pWDICtx: pointer to the WLAN DAL context - usErrorCode: error code detected by WDI or received - from HAL - - @see - @return None -*/ -void -WDI_DetectedDeviceError -( - WDI_ControlBlockType* pWDICtx, - wpt_uint16 usErrorCode -); - -/*========================================================================= - QUEUE SUPPORT UTILITY FUNCTIONS -=========================================================================*/ - -/** - @brief Utility function used by the DAL Core to help queue a - request that cannot be processed right away. - @param - - pWDICtx: - pointer to the WDI control block - pEventData: - pointer to the evnt info that needs to be - queued - - @see - @return Result of the operation -*/ -WDI_Status -WDI_QueuePendingReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Utility function used by the DAL Core to clear any - pending requests - all req cb will be called with - failure and the queue will be emptied. - @param - - pWDICtx: - pointer to the WDI control block - - @see - @return Result of the operation -*/ -WDI_Status -WDI_ClearPendingRequests -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief This callback is invoked by the wpt when a timer that - we started on send message has expire - this should - never happen - it means device is stuck and cannot - reply - trigger catastrophic failure - @param - - pUserData: the callback data of the user (ptr to WDI CB) - - @see - @return None -*/ -void -WDI_ResponseTimerCB -( - void *pUserData -); - -/*========================================================================== - CONTRL TRANSPORT INTERACTION - - Callback function registered with the control transport - for receiving - notifications and packets -==========================================================================*/ -/** - @brief This callback is invoked by the control transport - when it wishes to send up a notification like the ones - mentioned above. - - @param - - wctsHandle: handle to the control transport service - wctsEvent: the event being notified - wctsNotifyCBData: the callback data of the user - - @see WCTS_OpenTransport - - @return None -*/ -void -WDI_NotifyMsgCTSCB -( - WCTS_HandleType wctsHandle, - WCTS_NotifyEventType wctsEvent, - void* wctsNotifyCBData -); - -/** - @brief This callback is invoked by the control transport - when it wishes to send up a packet received over the - bus. - - @param - - wctsHandle: handle to the control transport service - pMsg: the packet - uLen: the packet length - wctsRxMsgCBData: the callback data of the user - - @see WCTS_OpenTransport - - @return None -*/ -void -WDI_RXMsgCTSCB -( - WCTS_HandleType wctsHandle, - void* pMsg, - wpt_uint32 uLen, - void* wctsRxMsgCBData -); - -/** - @brief Process response helper function - - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessResponse -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Send message helper function - sends a message over the - bus using the control tranport and saves some info in - the CB - - @param pWDICtx: pointer to the WLAN DAL context - pSendBuffer: buffer to be sent - - uSendSize size of the buffer to be sent - pRspCb: response callback - save in the WDI - CB - pUserData: user data associated with the - callback - wdiExpectedResponse: the code of the response that is - expected to be rx-ed for this request - - @see - @return Result of the function call -*/ -WDI_Status -WDI_SendMsg -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8* pSendBuffer, - wpt_uint32 uSendSize, - void* pRspCb, - void* pUserData, - WDI_ResponseEnumType wdiExpectedResponse -); - - -/** - @brief Send indication helper function - sends a message over - the bus using the control transport and saves some info - in the CB - - @param pWDICtx: pointer to the WLAN DAL context - pSendBuffer: buffer to be sent - usSendSize: size of the buffer to be sent - - @see - @return Result of the function call -*/ -WDI_Status -WDI_SendIndication -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8* pSendBuffer, - wpt_uint32 usSendSize -); - -/** - @brief Utility function used by the DAL Core to help dequeue - and schedule for execution a pending request - @param - - pWDICtx: - pointer to the WDI control block - pEventData: - pointer to the evnt info that needs to be - queued - - @see - @return Result of the operation -*/ -WDI_Status -WDI_DequeuePendingReq -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief Utility function used by the DAL Core to help queue - an association request that cannot be processed right - away.- The assoc requests will be queued by BSSID - @param - - pWDICtx: - pointer to the WDI control block - pEventData: pointer to the evnt info that needs to be queued - macBSSID: bssid - - @see - @return Result of the operation -*/ -WDI_Status -WDI_QueueNewAssocRequest -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData, - wpt_macAddr macBSSID -); - -/** - @brief Utility function used by the DAL Core to help queue - an association request that cannot be processed right - away.- The assoc requests will be queued by BSSID - @param - - pWDICtx: - pointer to the WDI control block - pSession: - session in which to queue - pEventData: pointer to the event info that needs to be - queued - - @see - @return Result of the operation -*/ -WDI_Status -WDI_QueueAssocRequest -( - WDI_ControlBlockType* pWDICtx, - WDI_BSSSessionType* pSession, - WDI_EventInfoType* pEventData -); - -/** - @brief Utility function used by the DAL Core to help dequeue - an association request that was pending - The request will be queued up in front of the main - pending queue for immediate processing - @param - - pWDICtx: - pointer to the WDI control block - - - @see - @return Result of the operation -*/ -WDI_Status -WDI_DequeueAssocRequest -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief Helper routine used to init the BSS Sessions in the WDI control block - - - @param pWDICtx: pointer to the WLAN DAL context - - @see -*/ -void -WDI_ResetAssocSessions -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief Helper routine used to find an empty session in the WDI - CB - - - @param pWDICtx: pointer to the WLAN DAL context - pSession: pointer to the session (if found) - - @see - @return Index of the session in the array -*/ -wpt_uint8 -WDI_FindEmptySession -( - WDI_ControlBlockType* pWDICtx, - WDI_BSSSessionType** ppSession -); - -/** - @brief Helper routine used to get the total count of active - sessions - - - @param pWDICtx: pointer to the WLAN DAL context - macBSSID: pointer to BSSID. If NULL, get all the session. - If not NULL, count ActiveSession by excluding (TRUE) or including (FALSE) skipBSSID. - skipBSSID: if TRUE, get all the sessions except matching to macBSSID. If FALSE, get all session. - This argument is ignored if macBSSID is NULL. - @see - @return Number of sessions in use -*/ -wpt_uint8 -WDI_GetActiveSessionsCount -( - WDI_ControlBlockType* pWDICtx, - wpt_macAddr macBSSID, - wpt_boolean skipBSSID -); - -/** - @brief Helper routine used to delete session in the WDI - CB - - - @param pWDICtx: pointer to the WLAN DAL context - pSession: pointer to the session (if found) - - @see - @return Index of the session in the array -*/ -void -WDI_DeleteSession -( - WDI_ControlBlockType* pWDICtx, - WDI_BSSSessionType* ppSession -); - -/** - @brief Helper routine used to find a session based on the BSSID - - - @param pWDICtx: pointer to the WLAN DAL context - macBSSID: BSSID of the session - ppSession: out pointer to the session (if found) - - @see - @return Index of the session in the array -*/ -wpt_uint8 -WDI_FindAssocSession -( - WDI_ControlBlockType* pWDICtx, - wpt_macAddr macBSSID, - WDI_BSSSessionType** ppSession -); - - -/** - @brief Helper routine used to find a session based on the BSSID - - - @param pWDICtx: pointer to the WLAN DAL context - usBssIdx: BSS Index of the session - ppSession: out pointer to the session (if found) - - @see - @return Index of the session in the array -*/ -wpt_uint8 -WDI_FindAssocSessionByBSSIdx -( - WDI_ControlBlockType* pWDICtx, - wpt_uint16 usBssIdx, - WDI_BSSSessionType** ppSession -); - -/** - @brief Helper routine used to find a session based on the BSSID - - - @param pWDICtx: pointer to the WLAN DAL context - usBssIdx: BSS Index of the session - ppSession: out pointer to the session (if found) - - @see - @return Index of the session in the array -*/ -wpt_uint8 -WDI_FindAssocSessionByIdx -( - WDI_ControlBlockType* pWDICtx, - wpt_uint16 usBssIdx, - WDI_BSSSessionType** ppSession -); - -/** - @brief Helper routine used to find a session based on the BSSID - @param pContext: pointer to the WLAN DAL context - @param pDPContext: pointer to the Datapath context - - @see - @return -*/ -void -WDI_DS_AssignDatapathContext -( - void *pContext, - void *pDPContext -); - -/** - @brief Helper routine used to find a session based on the BSSID - - - @param pContext: pointer to the WLAN DAL context - - @see - @return pointer to Datapath context -*/ -void * -WDI_DS_GetDatapathContext -( - void *pContext -); - -/** - @brief Helper routine used to find a session based on the BSSID - - - @param pContext: pointer to the WLAN DAL context - @param pDTDriverContext: pointer to the Transport Driver context - - @see - @return void -*/ -void -WDT_AssignTransportDriverContext -( - void *pContext, - void *pDTDriverContext -); - -/** - @brief Helper routine used to find a session based on the BSSID - - - @param pWDICtx: pointer to the WLAN DAL context - - @see - @return pointer to datapath context -*/ -void * -WDT_GetTransportDriverContext -( - void *pContext -); - -#ifdef FEATURE_WLAN_SCAN_PNO -/** - @brief Process Set Preferred Network List Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetPreferredNetworkReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Set RSSI Filter Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetRssiFilterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Scan Params function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateScanParamsReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Preferred Network Found Indication function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessPrefNetworkFoundInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process PNO Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetPreferredNetworkRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process RSSI Filter Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessSetRssiFilterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Update Scan Params Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessUpdateScanParamsRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif // FEATURE_WLAN_SCAN_PNO - -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -/** - @brief Process Start Roam Candidate Lookup Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRoamScanOffloadReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -/** - @brief Process Start Roam Candidate Lookup Response function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRoamScanOffloadRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif - -#ifdef WLAN_FEATURE_PACKET_FILTERING -/** - @brief Process 8023 Multicast List Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_Process8023MulticastListReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Receive Filter Set Filter Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessReceiveFilterSetFilterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process D0 PC Filter Match Count Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFilterMatchCountReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Receive Filter Clear Filter Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessReceiveFilterClearFilterReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process 8023 Multicast List Response function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_Process8023MulticastListRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Receive Filter Set Filter Response function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessReceiveFilterSetFilterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process D0 PC Filter Match Count Response function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFilterMatchCountRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Receive Filter Clear Filter Response function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessReceiveFilterClearFilterRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif // WLAN_FEATURE_PACKET_FILTERING - -#ifdef WLAN_FEATURE_GTK_OFFLOAD -/** - @brief Process set GTK Offload Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGTKOffloadReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process GTK Offload Get Information Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGTKOffloadGetInfoReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process host offload Rsp function (called when a - response is being received over the bus from HAL) - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGtkOffloadRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process GTK Offload Get Information Response function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessGTKOffloadGetInfoRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif // WLAN_FEATURE_GTK_OFFLOAD - -#ifdef WLAN_WAKEUP_EVENTS -WDI_Status -WDI_ProcessWakeReasonInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif // WLAN_WAKEUP_EVENTS - -/** - @brief Process Host-FW Capability Exchange Request function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFeatureCapsExchangeReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process Host-FW Capability Exchange Response function - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessFeatureCapsExchangeRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef WLAN_FEATURE_11AC -WDI_Status -WDI_ProcessUpdateVHTOpModeReq -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -WDI_Status -WDI_ProcessUpdateVHTOpModeRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD -/** - * @brief WDI_wdiEdTypeEncToEdTypeEnc - - * The firmware expects the Encryption type to be in EdType. - * This function converts the WdiEdType encryption to EdType. - * @param tEdType : EdType to which the encryption needs to be converted. - * @param WDI_EdType : wdiEdType passed from the upper layer. - * @see - * @return none - * */ -void -WDI_wdiEdTypeEncToEdTypeEnc -( - tEdType *EdType, - WDI_EdType wdiEdType -); -#endif - -#ifdef FEATURE_WLAN_LPHB -/** - @brief WDI_ProcessLphbCfgRsp - - LPHB configuration response from FW - - @param pWDICtx : wdi context - pEventData : indication data - - @see - @return Result of the function call -*/ -WDI_Status WDI_ProcessLphbCfgRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); -#endif /* FEATURE_WLAN_LPHB */ - -/** - @brief Process Rate Update Indication and post it to HAL - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessRateUpdateInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#ifdef FEATURE_WLAN_BATCH_SCAN -/** - @brief WDI_ProcessSetBatchScanRsp - - Process set batch scan response from FW - - @param pWDICtx : wdi context - pEventData : indication data - - @see - @return Result of the function call -*/ -WDI_Status WDI_ProcessSetBatchScanRsp -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -/** - @brief Process batch scan response from FW - - @param pWDICtx: pointer to the WLAN DAL context - pEventData: pointer to the event information structure - - @see - @return Result of the function call -*/ -WDI_Status -WDI_ProcessBatchScanResultInd -( - WDI_ControlBlockType* pWDICtx, - WDI_EventInfoType* pEventData -); - -#endif /* FEATURE_WLAN_BATCH_SCAN */ - -#endif /*WLAN_QCT_WDI_I_H*/ diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi_sta.h b/CORE/WDI/CP/inc/wlan_qct_wdi_sta.h deleted file mode 100644 index 039a3c09cb46..000000000000 --- a/CORE/WDI/CP/inc/wlan_qct_wdi_sta.h +++ /dev/null @@ -1,447 +0,0 @@ -/* - * Copyright (c) 2014 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_QCT_DAL_STA_H -#define WLAN_QCT_DAL_STA_H - -/*=========================================================================== - - W L A N D E V I C E A B S T R A C T I O N L A Y E R - I N T E R N A L A P I F O R T H E - S T A T I O N M G M T - - -DESCRIPTION - This file contains the internal API exposed by the STA Management entity to - be used by the DAL Control Path Core . -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -08/19/10 lti Created module. - -===========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_api.h" - -/*---------------------------------------------------------------------------- - Preprocesor definitions and macros - -------------------------------------------------------------------------*/ -/*Invalid station index */ -#define WDI_STA_INVALID_IDX 0xFF - -/*---------------------------------------------------------------------------- - WDI_AddStaParams - -------------------------------------------------------------------------*/ -typedef struct -{ - wpt_uint8 ucSTAIdx; - wpt_uint8 ucWmmEnabled; - wpt_uint8 ucHTCapable; - - /* MAC Address of STA */ - wpt_macAddr staMacAddr; - - /*MAC Address of the BSS*/ - wpt_macAddr macBSSID; - - /* Field to indicate if this is sta entry for itself STA adding entry for itself - or remote (AP adding STA after successful association. - This may or may not be required in production driver. - 0 - Self, 1 other/remote, 2 - bssid */ - wpt_uint8 ucStaType; - - - /*DPU Information*/ - wpt_uint8 dpuIndex; // DPU table index - wpt_uint8 dpuSig; // DPU signature - wpt_uint8 bcastDpuIndex; - wpt_uint8 bcastDpuSignature; - wpt_uint8 bcastMgmtDpuIndex; - wpt_uint8 bcastMgmtDpuSignature; - - - /*RMF enabled/disabled*/ - wpt_uint8 ucRmfEnabled; - - /* Index into the BSS Session table */ - wpt_uint8 ucBSSIdx; - -}WDI_AddStaParams; - -/*---------------------------------------------------------------------------- - WDI_StaStruct - -------------------------------------------------------------------------*/ -typedef struct -{ - wpt_macAddr staAddr; // Sta Addr - - wpt_uint8 valid:1; // Used/free flag - wpt_uint8 rmfEnabled:1; - wpt_uint8 htEnabled:1; - - /* 11e or WMM enabled, flag used for header length*/ - wpt_uint8 qosEnabled:1; - - wpt_uint8 bssIdx; // BSS Index - wpt_uint8 staId; - - wpt_macAddr macBSSID; - // Field to indicate if this is sta entry for itself STA adding entry for itself - // or remote (AP adding STA after successful association. - // This may or may not be required in production driver. - // 0 - Self, 1 other/remote, 2 - bssid - wpt_uint8 ucStaType; - - - /*DPU Information*/ - wpt_uint8 dpuIndex; // DPU table index - wpt_uint8 dpuSig; // DPU signature - wpt_uint8 bcastDpuIndex; - wpt_uint8 bcastDpuSignature; - wpt_uint8 bcastMgmtDpuIndex; - wpt_uint8 bcastMgmtDpuSignature; - -} WDI_StaStruct; - -/** - @brief WDI_STATableInit - Initializes the STA tables. - Allocates the necesary memory. - - - @param pWDICtx: pointer to the WLAN DAL context - - @see - @return Result of the function call -*/ -WDI_Status WDI_STATableInit -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief WDI_STATableStart - resets the max and number values of - STAtions - - - @param pWDICtx: pointer to the WLAN DAL context - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableStart -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief WDI_STATableStop - clears the sta table - - - @param pWDICtx: pointer to the WLAN DAL context - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableStop -( - WDI_ControlBlockType* pWDICtx -); - -/** - @brief WDI_STATableClose - frees the resources used by the STA - table. - - - @param pWDICtx: pointer to the WLAN DAL context - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableClose -( - WDI_ControlBlockType* pWDICtx -); - - -/** - @brief WDI_STATableAddSta - Function to Add Station - - - @param pWDICtx: pointer to the WLAN DAL context - pwdiParam: station parameters - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableAddSta -( - WDI_ControlBlockType* pWDICtx, - WDI_AddStaParams* pwdiParam -); - -/** - @brief WDI_STATableDelSta - Function to Delete a Station - - - @param pWDICtx: pointer to the WLAN DAL context - ucSTAIdx: station to be deleted - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableDelSta -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx -); - -/** - @brief WDI_STATableBSSDelSta - Function to Delete Stations in this BSS - - - @param pWDICtx: pointer to the WLAN DAL context - bssIdx: BSS index - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableBSSDelSta -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucBssIdx -); - -/** - @brief WDI_STATableGetStaBSSIDAddr - Gets the BSSID associated - with this station - - - @param pWDICtx: pointer to the WLAN DAL context - ucSTAIdx: station index - pmacBSSID: out BSSID for this STA - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableGetStaBSSIDAddr -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_macAddr* pmacBSSID -); -/** - @brief WDI_STATableGetStaQosEnabled - Gets is qos is enabled - for a sta - - - @param pWDICtx: pointer to the WLAN DAL context - ucSTAIdx: station index - qosEnabled: out qos enabled - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableGetStaQosEnabled -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_uint8* qosEnabled -); - -/** - @brief WDI_STATableSetStaQosEnabled - set qos mode for STA - - - @param pWDICtx: pointer to the WLAN DAL context - ucSTAIdx: station index - qosEnabled: qos enabled - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableSetStaQosEnabled -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_uint8 qosEnabled -); - -/** - @brief WDI_STATableGetStaType - get sta type for STA - - - @param pWDICtx: pointer to the WLAN DAL context - ucSTAIdx: station index - pStaType: qos enabled - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableGetStaType -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_uint8* pStaType -); - -/** - @brief WDI_STATableSetStaType - sets sta type for STA - - - @param pWDICtx: pointer to the WLAN DAL context - ucSTAIdx: station index - staType: sta type - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableSetStaType -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_uint8 staType -); - - -/** - @brief WDI_STATableFindStaidByAddr - Given a station mac address, search - for the corresponding station index from the Station Table. - - @param pWDICtx: WDI Context pointer - staAddr: station address - pucStaId: output station id - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableFindStaidByAddr -( - WDI_ControlBlockType* pWDICtx, - wpt_macAddr staAddr, - wpt_uint8* pucStaId -); - -/** - @brief WDI_STATableGetStaAddr - get station address - - @param pWDICtx: WDI Context pointer - ucSTAIdx: station index - pStaAddr: output station address - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableGetStaAddr -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_uint8** pStaAddr -); - -/** - @brief WDI_STATableSetStaAddr - set station address - - @param pWDICtx: WDI Context pointer - ucSTAIdx: station index - pStaAddr: output station address - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableSetStaAddr -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_macAddr staAddr -); - -/** - @brief WDI_STATableSetBSSID - set station corresponding BSSID - - @param pWDICtx: WDI Context pointer - ucSTAIdx: station index - pStaAddr: output station address - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableSetBSSID -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_macAddr macBSSID -); - -/** - @brief WDI_STATableSetBSSIdx - set station corresponding BSS index - - @param pWDICtx: WDI Context pointer - ucSTAIdx: station index - bssIdx: BSS index - - @see - @return Result of the function call -*/ -WDI_Status -WDI_STATableSetBSSIdx -( - WDI_ControlBlockType* pWDICtx, - wpt_uint8 ucSTAIdx, - wpt_uint8 ucBSSIdx -); - -#endif /*WLAN_QCT_WDI_STA_H*/ diff --git a/CORE/WDI/DP/inc/wlan_qct_wdi_ds.h b/CORE/WDI/DP/inc/wlan_qct_wdi_ds.h deleted file mode 100644 index fcd868fceaa8..000000000000 --- a/CORE/WDI/DP/inc/wlan_qct_wdi_ds.h +++ /dev/null @@ -1,355 +0,0 @@ -/* - * Copyright (c) 2011-2014 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( __WLAN_QCT_WTI_DS_H ) -#define __WLAN_QCT_WTI_DS_H - -/**========================================================================= - * - * \file wlan_qct_wdi_ds.h - * - * \brief define Dataservice API - * - * WLAN Device Abstraction layer External API for Dataservice - * DESCRIPTION - * This file contains the external API exposed by the - * wlan device abstarction layer module. - * - */ - - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" -#include "wlan_qct_pal_packet.h" -#include "wlan_qct_wdi.h" - - -typedef struct -{ - wpt_uint32 txFlags; - wpt_uint8 ac; - wpt_uint8 isEapol:1; //0 - not eapol 1 - eapol - wpt_uint8 isWai:1; //WAPI 0 - not WAI 1 WAI - wpt_uint8 fdisableFrmXlt:1; //0 - Let ADU do FT. 1 - bypass ADU FT - wpt_uint8 qosEnabled:1; //0 - non-Qos 1 - Qos - wpt_uint8 fenableWDS:1; //0 - not WDS 1 WDS - wpt_uint8 reserved1:3; - wpt_uint8 typeSubtype; - wpt_uint8 fUP; - wpt_uint8 fSTAMACAddress[6]; - wpt_uint8 addr2MACAddress[6]; - wpt_uint8 frmType; - wpt_uint8 fStaType; - wpt_uint8 fProtMgmtFrame; - wpt_uint16 fPktlen; - wpt_status txCompleteStatus; - wpt_uint8 staIdx; -} WDI_DS_TxMetaInfoType; - - -typedef enum -{ - WDI_DS_OPCODE_INVALID = 0, - WDI_DS_OPCODE_QCUR_FWDBUF = 1, - WDI_DS_OPCODE_FWDBUF_FWDCUR = 2, - WDI_DS_OPCODE_QCUR = 3, - WDI_DS_OPCODE_FWDBUF_QUEUECUR = 4, - WDI_DS_OPCODE_FWDBUF_DROPCUR = 5, - WDI_DS_OPCODE_FWDALL_DROPCUR = 6, - WDI_DS_OPCODE_FWDALL_QCUR = 7, - WDI_DS_OPCODE_TEARDOWN = 8, - WDI_DS_OPCODE_DROPCUR = 9, - WDI_DS_OPCODE_MAX -}WDI_DS_BAOpCodeEnumType; - -typedef struct -{ - wpt_uint8 staId; - wpt_uint8 addr3Idx; - wpt_uint8 rxChannel; - wpt_uint8 type:2; - wpt_uint8 subtype:4; - wpt_uint8 rfBand:2; - - wpt_uint16 rtsf:1; //For beacon only. 1 ~V Riva TSF is bigger(later) than the one received - wpt_uint16 bsf:1; //1 Riva sends the last beacon, 0 not. - wpt_uint16 unknownUcastPkt:1; //1 ~V unicast frame received with unknown A2 - wpt_uint16 scan:1; //1 frame received in scan state. 0 not. - wpt_uint16 dpuSig:3; //DPU signature - wpt_uint16 ft:1; //0~Wframe translation is not done. 1~Wdone - wpt_uint16 ne:1; //1 ~V frame is not encrypted OTA. This is for WAPI~Rs WAI packet. - wpt_uint16 llcr:1; // Has the LLC been stripped by H/W - wpt_uint16 bcast:1; //0 ~V unicast frame 1 ~V broadcast/multicast frame - wpt_uint16 tid:4; - wpt_uint16 reserved1:1; - wpt_uint8 dpuFeedback; - wpt_int8 snr; - - wpt_uint32 currentPktSeqNo:12; /*current sequence number */ - wpt_uint32 ampdu_reorderOpcode:4; - wpt_uint32 ampdu_reorderSlotIdx:6; - wpt_uint32 ampdu_reorderFwdIdx:6; - wpt_uint32 reserved3:4; - - wpt_uint16 amsdu_size; - wpt_uint32 amsdu_asf:1; - wpt_uint32 amsdu_esf:1; - wpt_uint32 amsdu_lsf:1; - wpt_uint32 amsdu_aef:1; - wpt_uint32 reserved2:4; - - wpt_uint8 *mpduHeaderPtr; - wpt_uint8 *mpduDataPtr; - wpt_uint32 mpduLength; - wpt_uint32 mpduHeaderLength; - - wpt_uint32 rateIndex; - wpt_uint32 rxpFlags; - wpt_uint32 mclkRxTimestamp; - - //Flow control frames - wpt_uint8 fc; - wpt_uint32 fcSTATxQStatus:16; - wpt_uint32 fcSTAThreshIndMask:16; - wpt_uint32 fcSTAPwrSaveStateMask:16; - wpt_uint32 fcSTAValidMask:16; - - wpt_uint16 fcStaTxDisabledBitmap; - wpt_uint8 fcSTATxQLen[12]; // one byte per STA. - wpt_uint8 fcSTACurTxRate[12]; // current Tx rate for each sta. - - wpt_uint64 replayCount; - - wpt_uint32 rssi0; - wpt_uint32 rssi1; - -#ifdef WLAN_FEATURE_11W - wpt_uint32 rmf:1; -#endif -#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD - wpt_uint32 offloadScanLearn; - wpt_uint32 roamCandidateInd; -#endif - wpt_uint32 sessionId; -} WDI_DS_RxMetaInfoType; - -typedef struct sPktMetaInfo -{ - union - { - WDI_DS_TxMetaInfoType txMetaInfo; - WDI_DS_RxMetaInfoType rxMetaInfo; - } u; -} WDI_DS_MetaInfoType; - -WPT_STATIC WPT_INLINE WDI_DS_RxMetaInfoType* WDI_DS_ExtractRxMetaData (wpt_packet *pFrame) -{ - WDI_DS_RxMetaInfoType * pRxMetadata = - &((WDI_DS_MetaInfoType *)WPAL_PACKET_GET_METAINFO_POINTER(pFrame))->u.rxMetaInfo; - return pRxMetadata; -} - - -WPT_STATIC WPT_INLINE WDI_DS_TxMetaInfoType* WDI_DS_ExtractTxMetaData (wpt_packet *pFrame) -{ - WDI_DS_TxMetaInfoType * pTxMetadata = - &((WDI_DS_MetaInfoType *)WPAL_PACKET_GET_METAINFO_POINTER(pFrame))->u.txMetaInfo; - return pTxMetadata; -} - - -typedef void (*WDI_DS_TxCompleteCallback)(void *pContext, wpt_packet *pFrame); -typedef void (*WDI_DS_RxPacketCallback) (void *pContext, wpt_packet *pFrame); -typedef void (*WDI_DS_TxFlowControlCallback)(void *pContext, wpt_uint8 ac_mask); - - - -/* DAL registration function. - * Parameters: - * pContext:Cookie that should be passed back to the caller along - * with the callback. - * pfnTxCompleteCallback:Callback function that is to be invoked to return - * packets which have been transmitted. - * pfnRxPacketCallback:Callback function that is to be invoked to deliver - * packets which have been received - * pfnTxFlowControlCallback:Callback function that is to be invoked to - * indicate/clear congestion. - * - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -WDI_Status WDI_DS_Register( void *pContext, - WDI_DS_TxCompleteCallback pfnTxCompleteCallback, - WDI_DS_RxPacketCallback pfnRxPacketCallback, - WDI_DS_TxFlowControlCallback pfnTxFlowControlCallback, - void *pCallbackContext); - - - -/* DAL Transmit function. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * pFrame:Refernce to PAL frame. - * more: Does the invokee have more than one packet pending? - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ - - -WDI_Status WDI_DS_TxPacket(void *pContext, - wpt_packet *pFrame, - wpt_boolean more); - - -/* DAL Transmit Complete function. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * ucTxResReq:TX resource number required by TL - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ - - -WDI_Status WDI_DS_TxComplete(void *pContext, wpt_uint32 ucTxResReq); - -/* DAL Suspend Transmit function. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ - - -WDI_Status WDI_DS_TxSuspend(void *pContext); - - -/* DAL Resume Transmit function. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ - - -WDI_Status WDI_DS_TxResume(void *pContext); - -/* DAL Get Reserved resource by STA - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * wdiResPool: MemPool, MGMT ot DATA - * staId: STA ID - * Return Value: Number of reserved resouce count - * - */ -wpt_uint32 WDI_DS_GetReservedResCountPerSTA(void *pContext, - WDI_ResPoolType wdiResPool, - wpt_uint8 staId); - -/* DAL ADD STA into memPool - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * staId: STA ID - * Return Value: SUCCESS or FAIL - * - */ -WDI_Status WDI_DS_AddSTAMemPool(void *pContext, wpt_uint8 staIndex); - -/* DAL Remove STA from memPool - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * staId: STA ID - * Return Value: SUCCESS or FAIL - * - */ -WDI_Status WDI_DS_DelSTAMemPool(void *pContext, wpt_uint8 staIndex); - -/* DAL Set STA index associated with BSS index. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * bssIdx: BSS index - * staId: STA index associated with BSS index - * Return Status: Found empty slot - * - */ -WDI_Status WDI_DS_SetStaIdxPerBssIdx(void *pContext, wpt_uint8 bssIdx, wpt_uint8 staIdx); - -/* DAL Get STA index associated with BSS index. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * bssIdx: BSS index - * staId: STA index associated with BSS index - * Return Status: Found empty slot - * - */ -WDI_Status WDI_DS_GetStaIdxFromBssIdx(void *pContext, wpt_uint8 bssIdx, wpt_uint8 *staIdx); - -/* DAL Clear STA index associated with BSS index. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * bssIdx: BSS index - * staId: STA index associated with BSS index - * Return Status: Found empty slot - * - */ -WDI_Status WDI_DS_ClearStaIdxPerBssIdx(void *pContext, wpt_uint8 bssIdx, wpt_uint8 staIdx); - -/* @brief: WDI_DS_GetTrafficStats - * This function should be invoked to fetch the current stats - * Parameters: - * pStats:Pointer to the collected stats - * len: length of buffer pointed to by pStats - * Return Status: None - */ -void WDI_DS_GetTrafficStats(WDI_TrafficStatsType** pStats, wpt_uint32 *len); - -/* @brief: WDI_DS_DeactivateTrafficStats - * This function should be invoked to deactivate traffic stats collection - * Parameters: None - * Return Status: None - */ -void WDI_DS_DeactivateTrafficStats(void); - -/* @brief: WDI_DS_ActivateTrafficStats - * This function should be invoked to activate traffic stats collection - * Parameters: None - * Return Status: None - */ -void WDI_DS_ActivateTrafficStats(void); - -/* @brief: WDI_DS_ClearTrafficStats - * This function should be invoked to clear all past stats - * Parameters: None - * Return Status: None - */ -void WDI_DS_ClearTrafficStats(void); - -#endif diff --git a/CORE/WDI/DP/inc/wlan_qct_wdi_ds_i.h b/CORE/WDI/DP/inc/wlan_qct_wdi_ds_i.h deleted file mode 100644 index 79d17cfa313b..000000000000 --- a/CORE/WDI/DP/inc/wlan_qct_wdi_ds_i.h +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (c) 2012-2014 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( __WLAN_QCT_WDI_DS_I_H ) -#define __WLAN_QCT_WDI_DS_I_H - -/**========================================================================= - * - * \file wlan_qct_wdi_ds_i.h - * - * \brief define Dataservice API - * - * WLAN Device Abstraction layer External API for Dataservice - * DESCRIPTION - * This file contains the external API exposed by the - * wlan device abstarction layer module. - * - */ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" -#include "wlan_qct_pal_packet.h" -#include "wlan_qct_wdi_ds.h" -#include "wlan_qct_dxe.h" - - -#define WDI_DS_MAX_CHUNK_SIZE 128 -#define WDI_802_11_MAX_HEADER_LEN 40 - - -/*The number of resources (BD headers) available for the HI priority DXE - channel - DXE will use 1 descriptor for the BD header and 1 for the data => - This is true for LA but not EA. EA sends down 3~4 MDL chain per a packet. - Now we set it the same with free DXE decriptor number*/ -#define WDI_DS_HI_PRI_RES_NUM (WLANDXE_HI_PRI_RES_NUM) - -/*The number of resources (BD headers) available for the Low priority DXE - channel - see above -*/ -#define WDI_DS_LO_PRI_RES_NUM (WLANDXE_LO_PRI_RES_NUM) - -/*The number of BD headers available in the system for Tx must match the number - of DXE descriptors available for actual transmission, otherwise we have to - manage two diffrent level of resource pools*/ - -#define WDI_MAC_ADDR_SIZE ( 6 ) -/*802.3 header definitions*/ -#define WDI_802_3_HEADER_LEN 14 -/* Offset of DA field in a 802.3 header*/ -#define WDI_802_3_HEADER_DA_OFFSET 0 -/*802.11 header definitions - header len without QOS ctrl field*/ -#define WDI_802_11_HEADER_LEN 24 -/*802.11 header length + QOS ctrl field*/ -#define WDI_MPDU_HEADER_LEN 26 -/*802.11 header definitions*/ -#define WDI_802_11_MAX_HEADER_LEN 40 -/*802.11 header definitions - qos ctrl field len*/ -#define WDI_802_11_HEADER_QOS_CTL 2 -/*802.11 ADDR4 MAC addr field len */ -#define WDI_802_11_HEADER_ADDR4_LEN WDI_MAC_ADDR_SIZE - - - - - -typedef enum -{ - DTI_TRACE_LEVEL_FATAL, - DTI_TRACE_LEVEL_ERROR, - DTI_TRACE_LEVEL_WARN, - DTI_TRACE_LEVEL_INFO - -} DTI_TRACE_LEVEL; - -WPT_STATIC WPT_INLINE void DTI_TRACE ( DTI_TRACE_LEVEL level, ...) { }; - -/* !!! MAX NUM STA is not identified yet, 16 is correct value, - but need to get from correct common def - This should be identified ASAP */ -#ifdef WLAN_SOFTAP_VSTA_FEATURE -#define WDI_DS_MAX_STA_ID 41 -#else -#define WDI_DS_MAX_STA_ID 16 -#endif -/* !!! MAX NUM SUPPORTED BSS is not identified yet, 2 is correct value, - but need to get from correct common def - This should be identified ASAP */ -#define WDI_DS_MAX_SUPPORTED_BSS 2 - -#define WDI_DS_INDEX_INVALID 0xFF - -/* Mem Pool resorce count per STA data type */ -typedef struct { - wpt_uint8 validIdx; - wpt_uint8 STAIndex; - wpt_uint32 numChunkReservedBySTA; - /* Mutex, is not needed for counter operation - since all TX Data frame operations will happen only TX thread - All of the TX data frame operations are serialized, no pre-emption will happen - This is just for place holder */ - wpt_mutex resourceCountLock; -} WDI_DS_BdMemPoolSTAType; - -typedef struct { - void *pVirtBaseAddress; - void *pPhysBaseAddress; - wpt_uint32 poolSize; - wpt_uint32 numChunks; - wpt_uint32 chunkSize; - wpt_uint32* AllocationBitmap; - WDI_DS_BdMemPoolSTAType numChunkSTA[WDI_DS_MAX_STA_ID + 1]; -} WDI_DS_BdMemPoolType; - -/* STA index associated with BSS index data type */ -typedef struct -{ - wpt_uint8 isUsed; - wpt_uint8 bssIdx; - wpt_uint8 staIdx; -} WDI_DS_staIdxPerBssIdxType; - -WDI_Status WDI_DS_MemPoolCreate(WDI_DS_BdMemPoolType *memPool, wpt_uint8 chunkSize, wpt_uint8 numChunks); -void *WDI_DS_MemPoolAlloc(WDI_DS_BdMemPoolType *memPool, void **pPhysAddress, WDI_ResPoolType wdiResPool); -void WDI_DS_MemPoolFree(WDI_DS_BdMemPoolType *memPool, void *pVirtAddress, void *pPhysAddress); -void WDI_DS_MemPoolDestroy(WDI_DS_BdMemPoolType *memPool); - -typedef struct -{ - void *pcontext; - void *pCallbackContext; - wpt_uint8 suspend; - WDI_DS_BdMemPoolType mgmtMemPool; - WDI_DS_BdMemPoolType dataMemPool; - WDI_DS_RxPacketCallback receiveFrameCB; - WDI_DS_TxCompleteCallback txCompleteCB; - WDI_DS_TxFlowControlCallback txResourceCB; - WDI_DS_staIdxPerBssIdxType staIdxPerBssIdxTable[WDI_DS_MAX_SUPPORTED_BSS]; -} WDI_DS_ClientDataType; - -WPT_STATIC WPT_INLINE void WDI_GetBDPointers(wpt_packet *pFrame, void **pVirt, void **pPhys) -{ - *pVirt = WPAL_PACKET_GET_BD_POINTER(pFrame); - *pPhys = WPAL_PACKET_GET_BD_PHYS(pFrame); -} - - -WPT_STATIC WPT_INLINE void WDI_SetBDPointers(wpt_packet *pFrame, void *pVirt, void *pPhys) -{ - WPAL_PACKET_SET_BD_POINTER(pFrame, pVirt); - WPAL_PACKET_SET_BD_PHYS(pFrame, pPhys); -} - - -void -WDI_DS_PrepareBDHeader ( - wpt_packet* palPacket, - wpt_uint8 ucDisableHWFrmXtl, - wpt_uint8 alignment -); - -/** - @brief Returns the available number of resources (BD headers) - available for TX - - @param pMemPool: pointer to the BD memory pool - - @see - @return Result of the function call -*/ -wpt_uint32 WDI_DS_GetAvailableResCount(WDI_DS_BdMemPoolType *pMemPool); - -/** - @brief WDI_DS_GetreservedResCountPerSTA - Returns the Reserved number of resources (BD headers) - available for TX - - @param pMemPool: pointer to the BD memory pool - @param staId STA ID - - @see - @return Result of the function call -*/ -wpt_uint32 WDI_DS_MemPoolGetRsvdResCountPerSTA(WDI_DS_BdMemPoolType *pMemPool, wpt_uint8 staId); - -/** - @brief WDI_DS_MemPoolAddSTA - Add NEW STA into mempool - - @param pMemPool: pointer to the BD memory pool - @param staId STA ID - - @see - @return Result of the function call -*/ -WDI_Status WDI_DS_MemPoolAddSTA(WDI_DS_BdMemPoolType *memPool, wpt_uint8 staIndex); - -/** - @brief WDI_DS_MemPoolAddSTA - Remove STA from mempool - - @param pMemPool: pointer to the BD memory pool - @param staId STA ID - - @see - @return Result of the function call -*/ -WDI_Status WDI_DS_MemPoolDelSTA(WDI_DS_BdMemPoolType *memPool, wpt_uint8 staIndex); - -/** - @brief Increase reserved TX resource count by specific STA - - @param pMemPool: pointer to the BD memory pool - @param staId STA ID - @see - @return Result of the function call -*/ -void WDI_DS_MemPoolIncreaseReserveCount(WDI_DS_BdMemPoolType *memPool, wpt_uint8 staId); - -/** - @brief Decrease reserved TX resource count by specific STA - - @param pMemPool: pointer to the BD memory pool - @param staId STA ID - @see - @return Result of the function call -*/ -void WDI_DS_MemPoolDecreaseReserveCount(WDI_DS_BdMemPoolType *memPool, wpt_uint8 staId); -#endif diff --git a/CORE/WDI/TRP/CTS/inc/wlan_qct_wdi_cts.h b/CORE/WDI/TRP/CTS/inc/wlan_qct_wdi_cts.h deleted file mode 100644 index bc58ccf5fafc..000000000000 --- a/CORE/WDI/TRP/CTS/inc/wlan_qct_wdi_cts.h +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (c) 2014 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_QCT_WDI_CTS_H -#define WLAN_QCT_WDI_CTS_H - -/*=========================================================================== - - W L A N C O N T R O L T R A N S P O R T S E R V I C E - E X T E R N A L A P I - - -DESCRIPTION - This file contains the external API exposed by the wlan control transport - service module. -===========================================================================*/ - - -/*=========================================================================== - - EDIT HISTORY FOR FILE - - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order. - - - $Header:$ $DateTime: $ $Author: $ - - -when who what, where, why --------- --- ---------------------------------------------------------- -08/04/10 mss Created module. - -===========================================================================*/ - - - -/*=========================================================================== - - INCLUDE FILES FOR MODULE - -===========================================================================*/ - -/*---------------------------------------------------------------------------- - * Include Files - * -------------------------------------------------------------------------*/ -#include "wlan_qct_pal_type.h" - -/*---------------------------------------------------------------------------- - * Preprocessor Definitions and Constants - * -------------------------------------------------------------------------*/ - #ifdef __cplusplus - extern "C" { - #endif - -/*---------------------------------------------------------------------------- - * Type Declarations - * -------------------------------------------------------------------------*/ - -/* Control Transport Service Handle Type*/ -typedef void* WCTS_HandleType; - -/*--------------------------------------------------------------------------- - WCTS_NotifyEventType - ---------------------------------------------------------------------------*/ -typedef enum -{ - WCTS_EVENT_OPEN, - WCTS_EVENT_CLOSE, - WCTS_EVENT_MAX -} WCTS_NotifyEventType; - -/*---------------------------------------------------------------------------- - * WDI callback types - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------- - WCTS_NotifyCBType - - DESCRIPTION - - This callback is invoked by the control transport when it wishes to send - up a notification like the ones mentioned above. - - PARAMETERS - - IN - wctsHandle: handle to the control transport service - wctsEvent: the event being notified - wctsNotifyCBData: the callback data of the user - - - RETURN VALUE - None ----------------------------------------------------------------------------*/ -typedef void (*WCTS_NotifyCBType) (WCTS_HandleType wctsHandle, - WCTS_NotifyEventType wctsEvent, - void* wctsNotifyCBData); - -/*--------------------------------------------------------------------------- - WCTS_RxMsgCBType - - DESCRIPTION - - This callback is invoked by the control transport when it wishes to send - up a packet received over the bus. Upon return of Rx callback, the ownership - of the message belongs to the CT and this one is free to deallocate any - buffer that was used to get this message. If WDI wishes to maintain the - information beyond the lifetime of the call, it must make a copy of it. - - PARAMETERS - - IN - wctsHandle: handle to the control transport service - pMsg: the packet - uLen: the packet length - wctsRxMsgCBData: the callback data of the user - - - RETURN VALUE - None ----------------------------------------------------------------------------*/ -typedef void (*WCTS_RxMsgCBType) (WCTS_HandleType wctsHandle, - void* pMsg, - wpt_uint32 uLen, - void* wctsRxMsgCBData); - -/*--------------------------------------------------------------------------- - WCTS Transport Callbacks holder type - ---------------------------------------------------------------------------*/ -typedef struct -{ - WCTS_NotifyCBType wctsNotifyCB; - void* wctsNotifyCBData; - WCTS_RxMsgCBType wctsRxMsgCB; - void* wctsRxMsgCBData; -} WCTS_TransportCBsType; - -/*======================================================================== - * Function Declarations and Documentation - ==========================================================================*/ -/** - @brief This function is used by the DAL Core to initialize the Control - Transport for processing. It must be called prior to calling any - other APIs of the Control Transport. - - - @param szName: unique name for the channel that is to be opened - uSize: size of the channel that must be opened (should fit the - largest size of packet that the Dal Core wishes to send) - wctsCBs: a list of callbacks that the CT needs to use to send - notification and messages back to DAL - - @see - @return A handle that must be used for further communication with the CTS. - This is an opaque structure for the caller and it will be used in - all communications to and from the CTS. - -*/ -WCTS_HandleType -WCTS_OpenTransport -( - const wpt_uint8* szName, - wpt_uint32 uSize, - WCTS_TransportCBsType* wctsCBs -); - -/** - @brief This function is used by the DAL Core to to close the - Control Transport when its services are no longer - needed. Full close notification will be receive - asynchronously on the notification callback - registered on Open - - - @param wctsHandlehandle: received upon open - - @see - @return 0 for success -*/ -wpt_uint32 -WCTS_CloseTransport -( - WCTS_HandleType wctsHandle -); - -/** - @brief This function is used by the DAL Core to to send a - message over to the WLAN sub-system. - - Once a buffer has been passed into the Send Message - API, CT takes full ownership of it and it is responsible for - freeing the associated resources. (This prevents a memcpy in - case of a deffered write) - - The messages transported through the CT on both RX and TX are - flat memory buffers that can be accessed and manipulated - through standard memory functions. - - @param wctsHandlehandle: received upon open - pMsg: the message to be sent - uLen: the length of the message - - @see - @return 0 for success -*/ -wpt_uint32 -WCTS_SendMessage -( - WCTS_HandleType wctsHandle, - void* pMsg, - wpt_uint32 uLen -); - -/** - @brief This helper function is used to clean up the pending - messages in the transport queue - - @param wctsHandlehandle: transport handle - - @see - @return 0 for success -*/ -wpt_uint32 -WCTS_ClearPendingQueue -( - WCTS_HandleType wctsHandle -); -#endif /* #ifndef WLAN_QCT_WDI_CTS_H */ diff --git a/CORE/WDI/TRP/DTS/inc/wlan_qct_wdi_dts.h b/CORE/WDI/TRP/DTS/inc/wlan_qct_wdi_dts.h deleted file mode 100644 index edbf2eb6a873..000000000000 --- a/CORE/WDI/TRP/DTS/inc/wlan_qct_wdi_dts.h +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright (c) 2012 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_QCT_DTS_H -#define __WLAN_QCT_DTS_H - -#include "wlan_qct_wdi.h" - -/**========================================================================= - * - * \file wlan_qct_wdi_dts.h - * - * \brief define Datas Trnasport Service API - * - * WLAN Device Abstraction layer interface for Transport drivers (SDIO/DXE) - * DESCRIPTION - * This file contains the API exposed by the - * wlan device abstarction layer module for abstracting DXE/SDIO. - * - * - * Example usage for DXE. - * ---------------------- - * On Platform init - * DAL will then invoke WDTS_open - * - * On DAL init - * DAL will invike WDTS_start - * - * On transmit: - * DAL will invoke WDTS_TxPacket API - * - * On transmit complete: - * DXE will serialize into TX thread - * In TX thread it will invoke - * - * On receive: - * DXE will serialize into RX thread - * In TX thread it will invoke WDTS_RXPacket API - * - * On DXE ring full: - * DXE will serialize into TX thread - * In TX thread it will invoke WDTS_OOResourceNotification API - */ - -typedef enum -{ - WDTS_CHANNEL_TX_LOW_PRI, - WDTS_CHANNEL_TX_HIGH_PRI, - WDTS_CHANNEL_RX_LOW_PRI, - WDTS_CHANNEL_RX_HIGH_PRI, - WDTS_CHANNEL_MAX -} WDTS_ChannelType; - -typedef enum -{ - WDTS_POWER_STATE_FULL, - WDTS_POWER_STATE_IMPS, - WDTS_POWER_STATE_BMPS, - WDTS_POWER_STATE_DOWN, - WDTS_POWER_STATE_MAX -} WDTS_PowerStateType; - - -typedef wpt_status (*WDTS_TxCompleteCbType)(void *pContext, wpt_packet *pFrame, wpt_status status); -typedef wpt_status (*WDTS_RxFrameReadyCbType) (void *pContext, wpt_packet *pFrame, WDTS_ChannelType channel); -typedef wpt_status (*WDTS_LowResourceCbType)(void *pContext, WDTS_ChannelType channel, wpt_boolean on); -typedef void (*WDTS_SetPSCbType)(wpt_status status, unsigned int dxePhyAddr); -/* DTS Set power state ACK callback. - * This callback function should be invoked by the DTS to notify WDI that set - * power state request is complete. - * Parameters: - * status: status of the set operation - * pUserData:Cookie that should be passed back to the caller along with the callback. - * Return Value: None. - * - */ -typedef void (*WDTS_SetPowerStateCbType)(wpt_status status, - unsigned int dxePhyAddr, - void* pUserData); - -typedef struct { - void * (*open)(void); - wpt_status (*start) (void *pContext); - wpt_status (*register_client)(void *pContext, WDTS_RxFrameReadyCbType, - WDTS_TxCompleteCbType, WDTS_LowResourceCbType, void *clientData); - wpt_status (*xmit) (void *pContext, wpt_packet *packet, WDTS_ChannelType channel); - wpt_status (*txComplete) (void *pContext, wpt_uint32 ucTxResReq); - wpt_status (*setPowerState) (void *pContext, WDTS_PowerStateType powerState, - WDTS_SetPSCbType cBack); - void (*channelDebug)(wpt_boolean displaySnapshot, - wpt_boolean enableStallDetect); - wpt_status (*stop) (void *pContext); - wpt_status (*close) (void *pContext); - wpt_uint32 (*getFreeTxDataResNumber) (void *pContext); -} WDTS_TransportDriverTrype; - -typedef struct { - WDTS_SetPowerStateCbType cback; - void* pUserData; -} WDTS_SetPowerStateCbInfoType; - -/* Tx/Rx stats function - * This function should be invoked to fetch the current stats - * Parameters: - * pStats:Pointer to the collected stats - * len: length of buffer pointed to by pStats - * Return Status: None - */ -void WDTS_GetTrafficStats(WDI_TrafficStatsType** pStats, wpt_uint32 *len); - -/* WDTS_DeactivateTrafficStats - * This function should be invoked to suspend traffic stats collection - * Parameters: None - * Return Status: None - */ -void WDTS_DeactivateTrafficStats(void); - -/* WDTS_ActivateTrafficStats - * This function should be invoked to activate traffic stats collection - * Parameters: None - * Return Status: None - */ -void WDTS_ActivateTrafficStats(void); - -/* WDTS_ClearTrafficStats - * This function should be invoked to clear all past stats - * Parameters: None - * Return Status: None - */ -void WDTS_ClearTrafficStats(void); - -/* DTS open function. - * On open the transport device should initialize itself. - * Parameters: - * pContext:Cookie that should be passed back to the caller along - * with the callback. - * - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - - */ -wpt_status WDTS_openTransport( void *pContext); - - - - -/* DTS start function. - * On start the transport device should start running. - * Parameters: - * pContext:Cookie that should be passed back to the caller along - * with the callback. - * - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -wpt_status WDTS_startTransport( void *pContext); - - - - -/* DTS Tx packet function. - * This function should be invoked by the DAL Dataservice to schedule transmit frame through DXE/SDIO. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * pFrame:Refernce to PAL frame. - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -wpt_status WDTS_TxPacket(void *pContext, wpt_packet *pFrame); - -/* DTS Tx Complete function. - * This function should be invoked by the DAL Dataservice to notify tx completion to DXE/SDIO. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * ucTxResReq:TX resource number required by TL - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -wpt_status WDTS_CompleteTx(void *pContext, wpt_uint32 ucTxResReq); - -/* DTS Set power state function. - * This function should be invoked by the DAL to notify the WLAN device power state. - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * powerState:Power state of the WLAN device. - * Return Value: SUCCESS Set successfully in DXE control blk. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -wpt_status WDTS_SetPowerState(void *pContext, WDTS_PowerStateType powerState, - WDTS_SetPowerStateCbType cback); - -/* DTS Transport Channel Debug - * Display DXE Channel debugging information - * User may request to display DXE channel snapshot - * Or if host driver detects any abnormal stcuk may display - * Parameters: - * displaySnapshot : Display DXE snapshot option - * enableStallDetect : Enable stall detect feature - This feature will take effect to data performance - Not integrate till fully verification - * Return Value: NONE - * - */ -void WDTS_ChannelDebug(wpt_boolean displaySnapshot, wpt_boolean toggleStallDetect); - -/* DTS Stop function. - * Stop Transport driver, ie DXE, SDIO - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -wpt_status WDTS_Stop(void *pContext); - -/* DTS Close function. - * Close Transport driver, ie DXE, SDIO - * Parameters: - * pContext:Cookie that should be passed back to the caller along with the callback. - * Return Value: SUCCESS Completed successfully. - * FAILURE_XXX Request was rejected due XXX Reason. - * - */ -wpt_status WDTS_Close(void *pContext); - -/* Get free TX data descriptor number from DXE - * Parameters: - * pContext: Cookie that should be passed back to the caller along with the callback. - * Return Value: number of free descriptors for TX data channel - * - */ -wpt_uint32 WDTS_GetFreeTxDataResNumber(void *pContext); - -/* API to fill Rate Info based on the mac efficiency passed to it - * macEff si used to caclulate mac throughput based on each rate index/PHY rate. - * This is eventually used by MAS to calculate RX stats periodically sent to FW - * The start and end Rate Index are the other arguments to this API - the new mac - * efficiency passed to this API (Arg1) is only applied between startRateIndex (arg2) and endRateIndex (arg3). - */ -void WDTS_FillRateInfo(wpt_uint8 macEff, wpt_int16 startRateIndex, wpt_int16 endRateIndex); -#endif diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_list.h b/CORE/WDI/WPAL/inc/wlan_qct_os_list.h deleted file mode 100644 index 92bee82f95bb..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_os_list.h +++ /dev/null @@ -1,449 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_OS_LIST_H ) -#define __WLAN_QCT_OS_LIST_H - -/**========================================================================= - - \file wlan_qct_pal_list.h - - \brief define linked list PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform dependent. It is with VOSS support. - - ========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" -//Include vos_list.h here. For non-VOSS PAL, it needs to provide its own definition. -#include "vos_list.h" - -typedef vos_list_t wpt_list; -typedef vos_list_node_t wpt_list_node; - -#define WPAL_LIST_STATUS_BASIC_CHECK(status) ( VOS_IS_STATUS_SUCCESS(status) ? \ - eWLAN_PAL_STATUS_SUCCESS : eWLAN_PAL_STATUS_E_FAILURE ) - -#define WPAL_LIST_IS_VOS_STATUS_BUSY(status) (VOS_STATUS_E_BUSY == (status)) -#define WPAL_LIST_STATUS_BUSY_CHECK(status) ( VOS_IS_STATUS_SUCCESS(status) ? \ - eWLAN_PAL_STATUS_SUCCESS : (WPAL_LIST_IS_VOS_STATUS_BUSY(status) ? \ - eWLAN_PAL_STATUS_E_BUSY : eWLAN_PAL_STATUS_E_FAILURE) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_init() - initialize a wpt_list Linked List - - The \a wpal_list_init() function initializes the specified linked list - 'object'. Upon successful initialization, the state of the list - becomes initialized and available for use through the other wpt_list_xxx - APIs. - - A list must be initialized by calling wpal_list_init() before it - may be used in any other lock functions. - - Attempting to initialize an already initialized list results in - a failure. - - \param pList - pointer to the opaque list object to initialize - - \return eWLAN_PAL_STATUS_SUCCESS - list was successfully initialized and - is ready to be used. - - eWLAN_PAL_STATUS_E_RESOURCES - System resources (other than memory) - are unavailable to initilize the list - - eWLAN_PAL_STATUS_E_NOMEM - insufficient memory exists to initialize - the list - - eWLAN_PAL_STATUS_E_BUSY - The implementation has detected an attempt - to reinitialize the object referenced by list, a previously - initialized, but not yet destroyed, list. - - eWLAN_PAL_STATUS_E_FAULT - pList is an invalid pointer. - - \sa - - --------------------------------------------------------------------------*/ -#define wpal_list_init(pList) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_init( (vos_list_t *)(pList) ) ) - - -/**------------------------------------------------------------------------- - - \brief wpal_list_destroy() - Destroy a wpt_list List - - The \a wpal_list_destroy() function shall destroy the list object - referenced by pList. After a successful return from \a wpal_list_destroy() - the list object becomes, in effect, uninitialized. - - A destroyed lock object can be reinitialized using wpal_list_init(); - the results of otherwise referencing the object after it has been destroyed - are undefined. Calls to wpt_list functions to manipulate the list such - will fail if the list or has not been initialized or is destroyed. - Therefore, don't use the list after it has been destroyed until it has - been re-initialized. - - \param pLlist - pointer to the list object to be destroyed. - - \return eWLAN_PAL_STATUS_SUCCESS - list was successfully destroyed. - - eWLAN_PAL_STATUS_E_BUSY - The implementation has detected an attempt - to destroy the object referenced by pList that is still has - nodes. The list must be empty before it can be destroyed. - - eWLAN_PAL_STATUS_E_INVAL - The value specified by pList is not a valid, - initialized list object. - - eWLAN_PAL_STATUS_E_FAULT - pList is an invalid pointer. - \sa - - ----------------------------------------------------------------------------*/ -#define wpal_list_destroy(pList) \ - WPAL_LIST_STATUS_BUSY_CHECK( vos_list_destroy( (vos_list_t *)(pList) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_insert_front() - insert node at front of a linked list - - The wpal_list_insert_front() API will insert a node at the front of - a properly initialized wpt_list object. - - \param pList - Pointer to list object where the node will be inserted - - \param pNode - Pointer to the list node to be inserted into the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node was successfully inserted onto - the front of the list. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_insert_front( wpt_list *pList, wpt_list_node *pNode ); -#define wpal_list_insert_front(pList, pNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_insert_front( (vos_list_t *)(pList), (vos_list_node_t *)(pNode) ) ) - - -/**--------------------------------------------------------------------------- - - \brief wpal_list_insert_back() - insert node at back of a linked list - - The wpal_list_insert_back() API will insert a node at the back of - a properly initialized wpt_list object. - - \param pList - Pointer to list object where the node will be inserted - - \param pNode - Pointer to the list node to be inserted into the list. - - \return eWLAN_PAL__STATUS_SUCCESS - list node was successfully inserted onto - the back of the list. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_insert_back( wpt_list *pList, wpt_list_node *pNode ); -#define wpal_list_insert_back(pList, pNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_insert_back( (vos_list_t *)(pList), (vos_list_node_t *)(pNode) ) ) - - -/**--------------------------------------------------------------------------- - - \brief wpal_list_remove_front() - remove node at front of a linked list - - The wpal_list_remove_front() API will remove a node at the front of - a properly initialized wpt_ist object. - - \param pList - Pointer to list object where the node will be removed - - \param ppNode - Pointer to a pointer to the list node to be removed - from the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node was successfully removed from - the front of the list. - - eWLAN_PAL_STATUS_E_INVAL - The value specified by pList is not a valid, - initialized list object. - - eWLAN_PAL_STATUS_E_EMPTY - The specified is empty so nodes cannot be - removed. - - eWLAN_PAL_STATUS_E_FAULT - pList is an invalid pointer or ppNode is an - invalid pointer. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_remove_front( wpt_list *pList, wpt_list_node **ppNode ); -#define wpal_list_remove_front(pList, ppNode) \ - ((wpt_status)vos_list_remove_front( (vos_list_t *)(pList), (vos_list_node_t **)(ppNode) )) - - -/**--------------------------------------------------------------------------- - - \brief wpal_list_remove_back() - remove node at back of a linked list - - The wpal_list_remove_back() API will remove a node at the back of - a properly initialized wpt_list object. - - \param pList - Pointer to list object where the node will be removed - - \param ppNode - Pointer to a pointer to the list node to be removed - from the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node was successfully removed from - the back of the list. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_remove_back( wpt_list *pList, wpt_list_node **ppNode ); -#define wpal_list_remove_back(pList, ppNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_remove_back( (vos_list_t *)(pList), (vos_list_node_t **)(ppNode) ) ) - - -/*---------------------------------------------------------------------------- - - \brief wpal_list_size() - return the size of of a linked list - - The wpal_list_size() API will return the number of nodes on the - given wpt_list object. - - \param pList - Pointer to list object where the node will be counted - - \param pSize - Pointer to a size variable, where the size of the - list will be returned. - - \return eWLAN_PAL_STATUS_SUCCESS - list size of the properly initialized - wpt_list object has been returned. - - eWLAN_PAL_STATUS_E_FAILURE - Failure - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_size( wpt_list *pList, wpt_uint32 *pSize ); -#define wpal_list_size(pList, pSize) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_size( (vos_list_t *)(pList), (v_SIZE_t *)(pSize) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_peek_front() - peek at the node at front of a linked list - - The wpal_list_peek_front() API will return a pointer to the node at the - front of a properly initialized wpt_list object. The node will *not* be - removed from the list. - - \param pList - Pointer to list object of the list to be 'peeked' - - \param ppNode - Pointer to a pointer to the list node that exists at - the front of the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node at the front of the list was - successfully returned. - - eWLAN_PAL_STATUS_E_Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_peek_front( wpt_list *pList, wpt_list_node **ppNode ); -#define wpal_list_peek_front(pList, ppNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_peek_front( (vos_list_t *)(pList), (vos_list_node_t **)(ppNode) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_peek_back() - peek at the node at back of a linked list - - The wpal_list_peek_back() API will return a pointer to the node at the - back of a properly initialized wpt_list object. The node will *not* be - removed from the list. - - \param pList - Pointer to list object of the list to be 'peeked' - - \param ppNode - Pointer to a pointer to the list node that exists at - the back of the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node at the back of the list was - successfully returned. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_peek_back( wpal_list *pList, wpt_list_node **ppNode ); -#define wpal_list_peek_back(pList, ppNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_peek_back( (vos_list_t *)(pList), (vos_list_node_t **)(ppNode) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_peek_next() - peek at the node after the specified node - - The wpal_list_peek_next() API will return a pointer to the node following the - specified node on a properly initialized wpt_list object. The node will - *not* be removed from the list. - - \param pList - Pointer to list object of the list to be 'peeked' - - \param pNode - Pointer to the node that is being 'peeked' - - \param ppNode - Pointer to a pointer to the list node that follows the - pNode node on the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node following pNode on the properly - initialized list is successfully returned. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_peek_next( wpt_list *pList, wpt_list_node *pNode, -// wpt_list_node **ppNode ); -#define wpal_list_peek_next(pList, pNode, ppNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_peek_next( (vos_list_t *)(pList), (vos_list_node_t *)(pNode), (vos_list_node_t **)(ppNode) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_peek_prev() - peek at the node before the specified node - - The wpal_list_peek_prev() API will return a pointer to the node before the - specified node on a properly initialized wpt_list object. The node will - *not* be removed from the list. - - \param pList - Pointer to list object of the list to be 'peeked' - - \param pNode - Pointer to the node that is being 'peeked' - - \param ppNode - Pointer to a pointer to the list node before the - pNode node on the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node before pNode on the properly - initialized list is successfully returned. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_peek_prev( wpt_list *pList, wpt_list_node *pNode, -// wpt_list_node **ppNode ); -#define wpal_list_peek_prev(pList, pNode, ppNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_peek_prev( (vos_list_t *)(pList), (vos_list_node_t *)(pNode), (vos_list_node_t **)(ppNode) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_insert_before() - insert node at front of a specified - list node - - The wpal_list_insert_before() API will insert a node onto a properly - initialized wpt_list object in front of the specified list node. - - \param pList - Pointer to list object where the node will be inserted - - \param pNodeToInsert - Pointer to the list node to be inserted into the list. - - \param pNode - Pointer to the list node where pNodeToInsert will be inserted - in front of. - - \return eWLAN_PAL_STATUS_SUCCESS - list node was successfully inserted onto - the front of the list. - - eWLAN_PAL_STATUS_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_insert_before( wpt_list *pList, -// wpt_list_node *pNodeToInsert, -// wpt_list_node *pNode ); -#define wpal_list_insert_before(pList, pNodeToInsert, pNode) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_insert_before( (vos_list_t *)(pList), \ - (vos_list_node_t *)(pNodeToInsert), (vos_list_node_t *)(pNode) ) ) - -/**--------------------------------------------------------------------------- - - \brief wpal_list_insert_after() - insert node behind a specified list node - - The wpal_list_insert_after() API will insert a node onto a properly - initialized wpt_list object after the specified list node. - - \param pList - Pointer to list object where the node will be inserted - - \param pNodeToInsert - Pointer to the list node to be inserted into the list. - - \param pNode - Pointer to the list node where pNodeToInsert will be inserted - after. - - \return eWLAN_PAL_STATUS_SUCCESS - list node was successfully inserted onto - the front of the list. - - eWLAN_PAL_STATUS_E_FAILURE - Failure - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_insert_after( wpt_list *pList, -// wpt_list_node *pNodeToInsert, -// wpt_list_node *pNode ); -#define wpal_list_insert_after(pList, pNodeToInsert, pNode) \ - (WPAL_LIST_STATUS_BASIC_CHECK( vos_list_insert_after((vos_list_t *)(pList), \ - (vos_list_node_t *)(pNodeToInsert), (vos_list_node_t *)(pNode) )) - - -/**--------------------------------------------------------------------------- - - \brief wpal_list_remove_node() - remove specified node from wpt_list list - - The wpal_list_remove_node() API will remove a specified node from the - properly initialized wpt_list object. - - \param pList - Pointer to list object where the node will be removed - - \param ppNode - Pointer to the node to be removed from the list. - - \return eWLAN_PAL_STATUS_SUCCESS - list node was successfully removed from - the list. - - eWLAN_PAL_STATUS_E_FAILURE - Failure. - - \sa - - --------------------------------------------------------------------------*/ -//wpt_status wpal_list_remove_node( wpt_list *pList, wpt_list_node *pNodeToRemove ); -#define wpal_list_remove_node(pList, pNodeToRemove) \ - WPAL_LIST_STATUS_BASIC_CHECK( vos_list_remove_node( (vos_list_t *)(pList), \ - (vos_list_node_t *)(pNodeToRemove) ) ) - - -#endif // __WLAN_QCT_OS_LIST_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_status.h b/CORE/WDI/WPAL/inc/wlan_qct_os_status.h deleted file mode 100644 index 8b425532ffb6..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_os_status.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_OS_STATUS_H ) -#define __WLAN_QCT_OS_STATUS_H - -/**========================================================================= - - \file wlan_qct_os_status.h - - \brief define synchronization objects PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform dependent(Windows XP). - - ========================================================================*/ - -#include "vos_status.h" - -/** - * \brief Macros to derive PAL STATUS from the VOS STATUS - */ - -#define WPAL_IS_VOS_STATUS_E_RESOURCES(status) ( VOS_STATUS_E_RESOURCES == (status)) -#define WPAL_IS_VOS_STATUS_E_NOMEM(status) ( VOS_STATUS_E_NOMEM == (status)) -#define WPAL_IS_VOS_STATUS_E_INVAL(status) ( VOS_STATUS_E_INVAL == (status)) -#define WPAL_IS_VOS_STATUS_E_FAULT(status) ( VOS_STATUS_E_FAULT == (status)) -#define WPAL_IS_VOS_STATUS_E_BUSY(status) ( VOS_STATUS_E_BUSY == (status)) -#define WPAL_IS_VOS_STATUS_E_CANCELED(status) ( VOS_STATUS_E_CANCELED == (status)) -#define WPAL_IS_VOS_STATUS_E_ABORTED(status) ( VOS_STATUS_E_ABORTED == (status)) -#define WPAL_IS_VOS_STATUS_E_NOSUPPORT(status) ( VOS_STATUS_E_NOSUPPORT == (status)) -#define WPAL_IS_VOS_STATUS_E_EMPTY(status) ( VOS_STATUS_E_EMPTY == (status)) -#define WPAL_IS_VOS_STATUS_E_EXISTS(status) ( VOS_STATUS_E_EXISTS == (status)) -#define WPAL_IS_VOS_STATUS_E_TIMEOUT(status) ( VOS_STATUS_E_TIMEOUT == (status)) - - -#define WPAL_STATUS_E_TIMEOUT_CHECK(status) ( WPAL_IS_VOS_STATUS_E_TIMEOUT(status)? eWLAN_PAL_STATUS_E_TIMEOUT : eWLAN_PAL_STATUS_E_FAILURE ) - -#define WPAL_STATUS_E_EXISTS_CHECK(status) ( WPAL_IS_VOS_STATUS_E_EXISTS(status)? eWLAN_PAL_STATUS_E_EXISTS : WPAL_STATUS_E_TIMEOUT_CHECK(status) ) - -#define WPAL_STATUS_E_EMPTY_CHECK(status) ( WPAL_IS_VOS_STATUS_E_EMPTY(status)? eWLAN_PAL_STATUS_E_EMPTY : WPAL_STATUS_E_EXISTS_CHECK(status) ) - -#define WPAL_STATUS_E_NOSUPPORT_CHECK(status) ( WPAL_IS_VOS_STATUS_E_NOSUPPORT(status)? eWLAN_PAL_STATUS_E_NOSUPPORT : WPAL_STATUS_E_EMPTY_CHECK(status) ) - -#define WPAL_STATUS_E_ABORTED_CHECK(status) ( WPAL_IS_VOS_STATUS_E_ABORTED(status)? eWLAN_PAL_STATUS_E_ABORTED : WPAL_STATUS_E_NOSUPPORT_CHECK(status) ) - -#define WPAL_STATUS_E_CANCELED_CHECK(status) ( WPAL_IS_VOS_STATUS_E_CANCELED(status)? eWLAN_PAL_STATUS_E_CANCELED : WPAL_STATUS_E_ABORTED_CHECK(status) ) - -#define WPAL_STATUS_E_BUSY_CHECK(status) ( WPAL_IS_VOS_STATUS_E_BUSY(status)? eWLAN_PAL_STATUS_E_BUSY : WPAL_STATUS_E_CANCELED_CHECK(status) ) - -#define WPAL_STATUS_E_FAULT_CHECK(status) ( WPAL_IS_VOS_STATUS_E_FAULT(status)? eWLAN_PAL_STATUS_E_FAULT : WPAL_STATUS_E_BUSY_CHECK(status) ) - -#define WPAL_STATUS_E_INVAL_CHECK(status) ( WPAL_IS_VOS_STATUS_E_INVAL(status)? eWLAN_PAL_STATUS_E_INVAL : WPAL_STATUS_E_FAULT_CHECK(status) ) - -#define WPAL_STATUS_E_NOMEM_CHECK(status) ( WPAL_IS_VOS_STATUS_E_NOMEM(status)? eWLAN_PAL_STATUS_E_NOMEM : WPAL_STATUS_E_INVAL_CHECK(status) ) - -#define WPAL_STATUS_E_RESOURCES_CHECK(status) ( WPAL_IS_VOS_STATUS_E_RESOURCES(status)? eWLAN_PAL_STATUS_E_RESOURCES : WPAL_STATUS_E_NOMEM_CHECK(status) ) - -#define WPAL_VOS_TO_WPAL_STATUS(status) ( VOS_IS_STATUS_SUCCESS(status)? eWLAN_PAL_STATUS_SUCCESS : WPAL_STATUS_E_RESOURCES_CHECK(status) ) - -#endif // __WLAN_QCT_OS_STATUS_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_sync.h b/CORE/WDI/WPAL/inc/wlan_qct_os_sync.h deleted file mode 100644 index fc80fa258ec3..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_os_sync.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_OS_SYNC_H ) -#define __WLAN_QCT_OS_SYNC_H - -/**========================================================================= - - \file wlan_qct_os_sync.h - - \brief define synchronization objects PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform dependent(LA). - - ========================================================================*/ - -#include "vos_event.h" -#include "vos_lock.h" - -/*Reuse the vos lock and vos event*/ -typedef vos_lock_t wpt_mutex; -typedef vos_event_t wpt_event; - - -#endif // __WLAN_QCT_OS_SYNC_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_timer.h b/CORE/WDI/WPAL/inc/wlan_qct_os_timer.h deleted file mode 100644 index f3e51dea66aa..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_os_timer.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_OS_TIMER_H ) -#define __WLAN_QCT_OS_TIMER_H - -/**========================================================================= - - \file wlan_qct_os_timer.h - - \brief define synchronization objects PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform dependent (Linux Android). - - ========================================================================*/ - -#include "vos_timer.h" - -typedef struct -{ - vos_timer_t timerObj; -} wpt_os_timer; - - -#endif // __WLAN_QCT_OS_TIMER_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_os_type.h b/CORE/WDI/WPAL/inc/wlan_qct_os_type.h deleted file mode 100644 index bd62d67393db..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_os_type.h +++ /dev/null @@ -1,67 +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( __WLAN_QCT_OS_TYPE_H ) -#define __WLAN_QCT_OS_TYPE_H - -/**========================================================================= - - \file wlan_qct_pal_type.h - - \brief define basi types PAL exports. wpt = (Wlan Pal Type) - - Definitions for platform dependent. This is for Linux/Android - - ========================================================================*/ - -#include <linux/types.h> - -typedef u32 wpt_uint32; - -typedef s32 wpt_int32; - -typedef u16 wpt_uint16; - -typedef s16 wpt_int16; - -typedef u8 wpt_uint8; - -typedef wpt_uint8 wpt_byte; - -typedef s8 wpt_int8; - -typedef wpt_uint8 wpt_boolean; - -typedef u64 wpt_uint64; - -typedef s64 wpt_int64; - -#define WPT_INLINE __inline__ -#define WPT_STATIC static - - -#endif // __WLAN_QCT_OS_TYPE_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h b/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h deleted file mode 100644 index bdb358c54e6b..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pack_align.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PACK_ALIGN_H ) -#define __WLAN_QCT_PACK_ALIGN_H - -/**========================================================================= - - \file wlan_pack_align.h - - \brief pack and align primitives - - Definitions for platform independent means of packing and aligning - data structures - - ========================================================================*/ - -/* - - Place the macro WPT_PACK_START above a structure declaration to pack. We - are not going to allow modifying the pack size because pack size cannot be - specified in AMSS and GNU. Place the macro WPT_PACK_END below a structure - declaration to stop the pack. This requirement is necessitated by Windows - which need pragma based prolog and epilog. - - Pack-size > 1-byte is not supported since gcc and arm do not support that. - - Here are some examples - - 1. Pack-size 1-byte foo_t across all platforms - - WPT_PACK_START - typedef WPT_PACK_PRE struct foo_s { ... } WPT_PACK_POST foo_t; - WPT_PACK_END - - 2. 2-byte alignment for foo_t across all platforms - - typedef WPT_ALIGN_PRE(2) struct foo_s { ... } WPT_ALIGN_POST(2) foo_t; - - 3. Pack-size 1-byte and 2-byte alignment for foo_t across all platforms - - WPT_PACK_START - typedef WPT_PACK_PRE WPT_ALIGN_PRE(2) struct foo_s { ... } WPT_ALIGN_POST(2) WPT_PACK_POST foo_t; - WPT_PACK_END - -*/ - -#if defined __GNUC__ - - #define WPT_PACK_START - #define WPT_PACK_END - - #define WPT_PACK_PRE - #define WPT_PACK_POST __attribute__((__packed__)) - - #define WPT_ALIGN_PRE(__value) - #define WPT_ALIGN_POST(__value) __attribute__((__aligned__(__value))) - -#elif defined __arm - - #define WPT_PACK_START - #define WPT_PACK_END - - #define WPT_PACK_PRE __packed - #define WPT_PACK_POST - - #define WPT_ALIGN_PRE(__value) __align(__value) - #define WPT_ALIGN_POST(__value) - -#elif defined _MSC_VER - -#define WPT_PACK_START __pragma(pack(push,1)) -#define WPT_PACK_END __pragma(pack(pop)) - - #define WPT_PACK_PRE - #define WPT_PACK_POST - - #define WPT_ALIGN_PRE(__value) __declspec(align(__value)) - #define WPT_ALIGN_POST(__value) - -#else - - #error Unsupported compiler!!! - -#endif - -#endif // __WLAN_QCT_PACK_ALIGN_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h deleted file mode 100644 index c3822481aa22..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_api.h +++ /dev/null @@ -1,360 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_API_H ) -#define __WLAN_QCT_PAL_API_H - -/**========================================================================= - - \file wlan_qct_pal_api.h - - \brief define general APIs PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform independent - - ========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" - -#ifdef MEMORY_DEBUG -#include "vos_memory.h" -#endif /* MEMORY_DEBUG */ - -/*********************************MACRO**********************/ - -// macro to get maximum of two values. -#define WPAL_MAX( _x, _y ) ( ( (_x) > (_y) ) ? (_x) : (_y) ) - -// macro to get minimum of two values -#define WPAL_MIN( _x, _y ) ( ( (_x) < (_y) ) ? (_x) : (_y) ) - -// macro to get the ceiling of an integer division operation... -#define WPAL_CEIL_DIV( _a, _b ) (( 0 != (_a) % (_b) ) ? ( (_a) / (_b) + 1 ) : ( (_a) / (_b) )) - -// macro to return the floor of an integer division operation -#define WPAL_FLOOR_DIV( _a, _b ) ( ( (_a) - ( (_a) % (_b) ) ) / (_b) ) - -#define WPAL_SWAP_U16(_x) \ - ( ( ( (_x) << 8 ) & 0xFF00 ) | ( ( (_x) >> 8 ) & 0x00FF ) ) - -#define WPAL_SWAP_U32(_x) \ - (( ( ( (_x) << 24 ) & 0xFF000000 ) | ( ( (_x) >> 24 ) & 0x000000FF ) ) | \ - ( ( ( (_x) << 8 ) & 0x00FF0000 ) | ( ( (_x) >> 8 ) & 0x0000FF00 ) )) - -// Endian operations for Big Endian and Small Endian modes -#ifndef ANI_BIG_BYTE_ENDIAN - -//This portion is for little-endian cpu -#define WPAL_CPU_TO_BE32(_x) WPAL_SWAP_U32(_x) -#define WPAL_BE32_TO_CPU(_x) WPAL_SWAP_U32(_x) -#define WPAL_CPU_TO_BE16(_x) WPAL_SWAP_U16(_x) -#define WPAL_BE16_TO_CPU(_x) WPAL_SWAP_U16(_x) -#define WPAL_CPU_TO_LE32(_x) (_x) -#define WPAL_LE32_TO_CPU(_x) (_x) -#define WPAL_CPU_TO_LE16(_x) (_x) -#define WPAL_LE16_TO_CPU(_x) (_x) - -#else //#ifndef ANI_BIG_BYTE_ENDIAN - -//This portion is for big-endian cpu -#define WPAL_CPU_TO_BE32(_x) (_x) -#define WPAL_BE32_TO_CPU(_x) (_x) -#define WPAL_CPU_TO_BE16(_x) (_x) -#define WPAL_BE16_TO_CPU(_x) (_x) -#define WPAL_CPU_TO_LE32(_x) WPAL_SWAP_U32(_x) -#define WPAL_LE32_TO_CPU(_x) WPAL_SWAP_U32(_x) -#define WPAL_CPU_TO_LE16(_x) WPAL_SWAP_U16(_x) -#define WPAL_LE16_TO_CPU(_x) WPAL_SWAP_U16(_x) - -#endif //#ifndef ANI_BIG_BYTE_ENDIAN - - -/*********************************Generic API*******************************/ -/*--------------------------------------------------------------------------- - wpalOpen - Initialize PAL - Param: - ppPalContext pointer to a caller allocated pointer. It is opaque to caller. - Caller save the returned pointer for future use when calling - PAL APIs. If this is NULL, it means that PAL doesn't need it. - pOSContext - Pointer to a context that is OS specific. This is NULL is a - particular PAL doesn't use it for that OS. - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Otherwise fail. ----------------------------------------------------------------------------*/ -wpt_status wpalOpen(void **ppPalContext, void *pOSContext); - -/*--------------------------------------------------------------------------- - wpalClose - Release PAL - Param: - pPalContext pointer returned from wpalOpen. - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Otherwise fail. ----------------------------------------------------------------------------*/ -wpt_status wpalClose(void *pPalContext); - - -/*********************************Memory API********************************/ -#ifdef MEMORY_DEBUG -/* For Memory Debugging, Hook up PAL memory API to VOS memory API */ -#define wpalMemoryAllocate vos_mem_malloc -#define wpalMemoryFree vos_mem_free -#else - -/*--------------------------------------------------------------------------- - wpalMemoryAllocate - Allocate memory - Param: - size number of bytes to allocate - Return: - A pointer to the allocated memory. - NULL fail to allocate memory ----------------------------------------------------------------------------*/ -void *wpalMemoryAllocate(wpt_uint32 size); - -/*--------------------------------------------------------------------------- - wpalMemoryFree - Free allocated memory - Param: - pv pointer to buffer to be freed - Return: - None ----------------------------------------------------------------------------*/ -void wpalMemoryFree(void *pv); -#endif /* MEMORY_DEBUG */ - -/*--------------------------------------------------------------------------- - wpalMemoryCopy - copy memory - Param: - dest address which data is copied to - src address which data is copied from - size number of bytes to copy - Return: - eWLAN_PAL_STATUS_SUCCESS - eWLAN_PAL_STATUS_INVALID_PARAM ----------------------------------------------------------------------------*/ -wpt_status wpalMemoryCopy(void * dest, void * src, wpt_uint32 size); - - -/*--------------------------------------------------------------------------- - wpalMemoryCompare - compare memory - Param: - buf1 address of buffer1 - buf2 address of buffer2 - size number of bytes to compare - Return: - eWLAN_PAL_TRUE if two buffers have same content - eWLAN_PAL_FALSE not match ----------------------------------------------------------------------------*/ -wpt_boolean wpalMemoryCompare(void * buf1, void * buf2, wpt_uint32 size); - -/*--------------------------------------------------------------------------- - wpalMemoryZero - Zero memory - Param: - buf address of buffer to be zero - size number of bytes to zero - Return: - None ----------------------------------------------------------------------------*/ -void wpalMemoryZero(void *buf, wpt_uint32 size); - - -/*--------------------------------------------------------------------------- - wpalMemoryFill - Fill memory with one pattern - Param: - buf address of buffer to be zero - size number of bytes to zero - bFill - one byte of data to fill in (size) bytes from the start of the buffer - Return: - None ----------------------------------------------------------------------------*/ -void wpalMemoryFill(void *buf, wpt_uint32 size, wpt_byte bFill); - - -/*--------------------------------------------------------------------------- - wpalDmaMemoryAllocate - Allocate memory ready for DMA. Aligned at 4-byte - Param: - pPalContext - PAL context pointer - size number of bytes to allocate - ppPhysicalAddr Physical address of the buffer if allocation succeeds - Return: - A pointer to the allocated memory (virtual address). - NULL fail to allocate memory ------------------------------------------------------------------------------*/ -void *wpalDmaMemoryAllocate(wpt_uint32 size, void **ppPhysicalAddr); - -/*--------------------------------------------------------------------------- - wpalDmaMemoryFree - Free memory ready for DMA - Param: - pPalContext - PAL context pointer - pv address for the buffer to be freed - Return: - None ----------------------------------------------------------------------------*/ -void wpalDmaMemoryFree(void *pv); - - - -/*--------------------------------------------------------------------------- - wpalDbgReadRegister - Read register from the WiFi BB chip - Param: - regAddr - register address - pregValue - return value from register if success - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -static inline wpt_status wpalDbgReadRegister(wpt_uint32 regAddr, wpt_uint32 *pregValue) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/*--------------------------------------------------------------------------- - wpalDbgWriteRegister - Write a value to the register in the WiFi BB chip - Param: - regAddr - register address - regValue - value to be written - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -static inline wpt_status wpalDbgWriteRegister(wpt_uint32 regAddr, - wpt_uint32 regValue) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/*--------------------------------------------------------------------------- - wpalDbgReadMemory - Read memory from WiFi BB chip space - Param: - memAddr - address of memory - buf - output - len - length to be read - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -static inline wpt_status wpalDbgReadMemory(wpt_uint32 memAddr, wpt_uint8 *buf, - wpt_uint32 len) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/*--------------------------------------------------------------------------- - wpalDbgWriteMemory - Write a value to the memory in the WiFi BB chip space - Param: - memAddr - memory address - buf - vlaue to be written - len - length of buf - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -static inline wpt_status wpalDbgWriteMemory(wpt_uint32 memAddr, wpt_uint8 *buf, - wpt_uint32 len) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/*--------------------------------------------------------------------------- - wpalDriverShutdown - Shutdown WLAN driver - - This API is requied by SSR, call in to 'VOS shutdown' to shutdown WLAN - driver when Riva crashes. - - Param: - None - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -wpt_status wpalDriverShutdown(void); - -/*--------------------------------------------------------------------------- - wpalDriverShutdown - Re-init WLAN driver - - This API is requied by SSR, call in to 'VOS re-init' to re-init WLAN - driver. - - Param: - None - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -wpt_status wpalDriverReInit(void); - -/*--------------------------------------------------------------------------- - wpalRivaSubystemRestart - Initiate Riva SSR - - This API is called by WLAN driver to initiate Riva SSR - - Param: - None - Return: - eWLAN_PAL_STATUS_SUCCESS - when everything is OK ----------------------------------------------------------------------------*/ -wpt_status wpalRivaSubystemRestart(void); - -/*--------------------------------------------------------------------------- - wpalWlanReload - Initiate WLAN Driver reload - - Param: - None - Return: - NONE ----------------------------------------------------------------------------*/ -void wpalWlanReload(void); - -/*--------------------------------------------------------------------------- - wpalWcnssResetIntr - Trigger the reset FIQ to Riva - - Param: - None - Return: - NONE ----------------------------------------------------------------------------*/ -void wpalWcnssResetIntr(void); - -/*--------------------------------------------------------------------------- - wpalFwDumpReq - Trigger the dump commands to Firmware - - Param: - cmd - Command No. to execute - arg1 - argument 1 to cmd - arg2 - argument 2 to cmd - arg3 - argument 3 to cmd - arg4 - argument 4 to cmd - Return: - NONE ----------------------------------------------------------------------------*/ -void wpalFwDumpReq(wpt_uint32 cmd, wpt_uint32 arg1, wpt_uint32 arg2, - wpt_uint32 arg3, wpt_uint32 arg4); -/*--------------------------------------------------------------------------- - wpalDevicePanic - Trigger Device Panic - Trigger device panic to help debug - - Param: - NONE - - Return: - NONE ----------------------------------------------------------------------------*/ -void wpalDevicePanic(void); -#endif // __WLAN_QCT_PAL_API_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_device.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_device.h deleted file mode 100644 index 9ad2126e1c55..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_device.h +++ /dev/null @@ -1,313 +0,0 @@ -/* - * Copyright (c) 2011-2012, 2014 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_QCT_PAL_DEVICE_H -#define WLAN_QCT_PAL_DEVICE_H -/* ==================================================================================================================== - - @file wlan_qct_pal_device.h - - @brief - This file contains the external API exposed by WLAN PAL Device specific functionalities - - * ==================================================================================================================*/ - -/* ==================================================================================================================== - EDIT HISTORY FOR FILE - - This section contains comments describing changes made to the module. - Notice that changes are listed in reverse chronological order - - When Who What, Where, Why - --------- -------- ------------------------------------------------------------------------------- - FEB/07/11 sch Create module - * ==================================================================================================================*/ - -/* ==================================================================================================================== - INCLUDE FILES FOR MODULES - * ==================================================================================================================*/ -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" - -/* ==================================================================================================================== - PREPROCESSORS AND DEFINITIONS - * ==================================================================================================================*/ -#define DXE_INTERRUPT_TX_COMPLE 0x02 -#define DXE_INTERRUPT_RX_READY 0x04 -#define WPAL_ISR_CLIENT_MAX 0x08 - -#define WPAL_SMSM_WLAN_TX_ENABLE 0x00000400 -#define WPAL_SMSM_WLAN_TX_RINGS_EMPTY 0x00000200 - -/* ==================================================================================================================== - @ Function Name - wpalIsrType - - @ Description - DXE ISR functio prototype - DXE should register ISR function into platform - - @ Parameters - pVoid pDXEContext : DXE module control block - - @ Return - NONE - * ==================================================================================================================*/ -typedef void (* wpalIsrType)(void *usrCtxt); - -/* ==================================================================================================================== - GLOBAL FUNCTIONS - * ==================================================================================================================*/ -/* ==================================================================================================================== - @ Function Name - - @ Description - - @ Arguments - - @ Return value - - @ Note - - * ==================================================================================================================*/ -wpt_status wpalDeviceInit -( - void *deviceCB -); - -/* ==================================================================================================================== - @ Function Name - - @ Description - - @ Arguments - - @ Return value - - @ Note - - * ==================================================================================================================*/ -wpt_status wpalDeviceClose -( - void *deviceC -); - -/* ========================================================================== - CLIENT SERVICE EXPOSE FUNCTIONS GENERIC - * =========================================================================*/ -/** - @brief wpalRegisterInterrupt provides a mechansim for client - to register support for a given interrupt - - The DXE interface supports two interrupts, TX Complete and RX - Available. This interface provides the mechanism whereby a client - can register to support one of these. It is expected that the core - DXE implementation will invoke this API twice, once for each interrupt. - - @param intType: Enumeration of the interrupt type (TX or RX) - @param callbackFunction: ISR function pointer - @param usrCtxt: User context passed back whenever the - callbackFunction is invoked - - @return SUCCESS if the registration was successful -*/ -wpt_status wpalRegisterInterrupt -( - wpt_uint32 intType, - wpalIsrType callbackFunction, - void *usrCtxt -); - -/** - @brief wpalUnRegisterInterrupt provides a mechansim for client - to un-register for a given interrupt - - When DXE stop, remove registered information from PAL - - @param intType: Enumeration of the interrupt type (TX or RX) - - @return NONE -*/ - -void wpalUnRegisterInterrupt -( - wpt_uint32 intType -); - -/** - @brief wpalEnableInterrupt provides a mechansim for a client - to request that a given interrupt be enabled - - The DXE interface supports two interrupts, TX Complete and RX - Available. This interface provides the mechanism whereby a client - can request that the platform-specific adaptation layer allows a - given interrupt to occur. The expectation is that if a given - interrupt is not enabled, if the interrupt occurs then the APPS CPU - will not be interrupted. - - @param intType: Enumeration of the interrupt type (TX or RX) - - @return SUCCESS if the interrupt was enabled -*/ -wpt_status wpalEnableInterrupt -( - wpt_uint32 intType -); - -/** - @brief wpalDisableInterrupt provides a mechansim for a client - to request that a given interrupt be disabled - - The DXE interface supports two interrupts, TX Complete and RX - Available. This interface provides the mechanism whereby a client - can request that the platform-specific adaptation layer not allow a - given interrupt to occur. The expectation is that if a given - interrupt is not enabled, if the interrupt occurs then the APPS CPU - will not be interrupted. - - @param intType: Enumeration of the interrupt type (TX or RX) - - @return SUCCESS if the interrupt was disabled -*/ -wpt_status wpalDisableInterrupt -( - wpt_uint32 intType -); - -/** - @brief wpalWriteRegister provides a mechansim for a client - to write data into a hardware data register - - @param address: Physical memory address of the register - @param data: Data value to be written - - @return SUCCESS if the data was successfully written -*/ -static inline wpt_status wpalReadRegister -( - wpt_uint32 address, - wpt_uint32 *data -) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/** - @brief wpalReadRegister provides a mechansim for a client - to read data from a hardware data register - - @param address: Physical memory address of the register - @param data: Return location for value that is read - - @return SUCCESS if the data was successfully read -*/ -static inline wpt_status wpalWriteRegister -( - wpt_uint32 address, - wpt_uint32 data -) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/** - @brief wpalReadDeviceMemory provides a mechansim for a client - to read data from the hardware address space - - @param address: Start address of physical memory to be read - @param d_buffer: Virtual destination address to which the - data will be written - @param len: Number of bytes of data to be read - - @return SUCCESS if the data was successfully read -*/ -static inline wpt_status wpalReadDeviceMemory -( - wpt_uint32 address, - wpt_uint8 *DestBuffer, - wpt_uint32 len -) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/** - @brief wpalWriteDeviceMemory provides a mechansim for a client - to write data into the hardware address space - - @param address: Start address of physical memory to be written - @param s_buffer: Virtual source address from which the data will - be read - @param len: Number of bytes of data to be written - - @return SUCCESS if the data was successfully written -*/ -static inline wpt_status wpalWriteDeviceMemory -( - wpt_uint32 address, - wpt_uint8 *srcBuffer, - wpt_uint32 len -) -{ - return eWLAN_PAL_STATUS_SUCCESS; -} - -/** - @brief wpalNotifySmsm provides a mechansim for a client to - notify SMSM to start DXE engine and/or condition of Tx - ring buffer - - @param clrSt: bit(s) to be cleared on the MASK - @param setSt: bit(s) to be set on the MASK - - @return SUCCESS if the operation is successful -*/ -wpt_status wpalNotifySmsm -( - wpt_uint32 clrSt, - wpt_uint32 setSt -); - -/** - @brief wpalActivateRxInterrupt activates wpalRxIsr - - @param NONE - - @return NONE -*/ -void wpalActivateRxInterrupt(void); - -/** - @brief wpalInactivateRxInterrupt inactivates wpalRxIsr - - @param NONE - - @return NONE -*/ -void wpalInactivateRxInterrupt(void); - -#endif /* WLAN_QCT_PAL_DEVICE_H*/ diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_list.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_list.h deleted file mode 100644 index 716fbd565882..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_list.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_LIST_H ) -#define __WLAN_QCT_PAL_LIST_H - -/**========================================================================= - - \file wlan_qct_pal_list.h - - \brief define linked list PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform independent. - - ========================================================================*/ - -#include "wlan_qct_os_list.h" - - -#endif // __WLAN_QCT_PAL_LIST_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_msg.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_msg.h deleted file mode 100644 index d69b82a815b5..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_msg.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_MSG_H ) -#define __WLAN_QCT_PAL_MSG_H - -/**========================================================================= - - \file wlan_qct_pal_msg.h - - \brief define general message APIs PAL exports to support legacy UMAC. - wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform dependent. Only work with legacy UMAC. - - ========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" - -typedef struct swpt_msg wpt_msg; - -typedef void (*wpal_msg_callback)(wpt_msg *pMsg); - -struct swpt_msg -{ - wpt_uint16 type; - wpt_uint16 reserved; - void *ptr; - wpt_uint32 val; - wpal_msg_callback callback; - void *pContext; -}; - - -/*--------------------------------------------------------------------------- - wpalPostCtrlMsg Post a message to control context so it can - be processed in that context. - Param: - pPalContext A PAL context - pMsg a pointer to called allocated object; Caller retain the ownership - after this API returns. ----------------------------------------------------------------------------*/ -wpt_status wpalPostCtrlMsg(void *pPalContext, wpt_msg *pMsg); - - -/*--------------------------------------------------------------------------- - wpalPostTxMsg Post a message to TX context so it can be processed in that context. - Param: - pPalContext A PAL context - pMsg a pointer to called allocated object; Caller retain the ownership - after this API returns. ----------------------------------------------------------------------------*/ -wpt_status wpalPostTxMsg(void *pPalContext, wpt_msg *pMsg); - -/*--------------------------------------------------------------------------- - wpalPostRxMsg Post a message to RX context so it can be processed in that context. - Param: - pPalContext A PAL context - pMsg a pointer to called allocated object; Caller retain the ownership - after this API returns. ----------------------------------------------------------------------------*/ -wpt_status wpalPostRxMsg(void *pPalContext, wpt_msg *pMsg); - - - -#endif // __WLAN_QCT_PAL_API_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h deleted file mode 100644 index ed7f5f163848..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_packet.h +++ /dev/null @@ -1,395 +0,0 @@ -/* - * Copyright (c) 2011-2012 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( __WLAN_QCT_PAL_PACKET_H ) -#define __WLAN_QCT_PAL_PACKET_H - -/**========================================================================= - - \file wlan_qct_pal_packet.h - - \brief define PAL packet. wpt = (Wlan Pal Type) - - Definitions for platform independent. - - ========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" -#include "vos_types.h" -#ifdef FEATURE_WLAN_DIAG_SUPPORT -#include "vos_diag_core_log.h" -#endif /* FEATURE_WLAN_DIAG_SUPPORT */ - -// The size of the data buffer in vos/pal packets -// Explanation: -// MTU size = 1500 bytes -// Max number of BD/PDUs required to hold payload of 1500 = -// 12 PDUs (124 bytes each) + 1 BD (12 bytes for payload) = -// 13 BD/PDUs = 13 x 128 = 1664 bytes -// -// In case of A-MSDU with each MSDU having payload of 1500 bytes: -// 1st MSDU = requires 13 BD/PDUs as per the above equation. -// 2nd MSDU = HW inserts an extra BD to hold the information of the 2nd -// MSDU and the payload portion of this BD is unused which means to cover -// 1500 bytes we require 13 PDUs. -// So 13 PDUs + 1 BD = 14 BD/PDUs = 1792 bytes. -// -// HOWEVER -// In case of A-MSDU with errors, the ADU will push to the host up to -// 2346 bytes. If that is the 2nd or later MSDU the worst case is: -// 1 Prepended BD/PDU -// 1 BD/PDU containing the 1st 4 bytes of the delimiter -// 1 BD/PDU containing the last 10 bytes of the delimiter -// plus the first 114 of the payload -// 18 BD/PDUs containing the remaining 2232 bytes of the payload -// 2346 - 114 = 2232; 2232 / 124 = 18 -// So 21 BD/PDUs are required - -//The size of AMSDU frame per spec can be a max of 3839 bytes -// in BD/PDUs that means 30 (one BD = 128 bytes) -// we must add the size of the 802.11 header to that -#define VPKT_SIZE_BUFFER ((30 * 128) + 32) - -/* Transport channel count to report DIAG */ -#define WPT_NUM_TRPT_CHANNEL 4 -/* Transport channel name string size */ -#define WPT_TRPT_CHANNEL_NAME 4 - -typedef enum -{ - ///Packet is used to transmit 802.11 Management frames. - eWLAN_PAL_PKT_TYPE_TX_802_11_MGMT, - ///Packet is used to transmit 802.11 Data frames. - eWLAN_PAL_PKT_TYPE_TX_802_11_DATA, - ///Packet is used to transmit 802.3 Data frames. - eWLAN_PAL_PKT_TYPE_TX_802_3_DATA, - ///Packet contains Received data of an unknown frame type - eWLAN_PAL_PKT_TYPE_RX_RAW -} wpt_packet_type; - - -typedef struct swpt_packet -{ - /* - Pointer to a buffer for BD for TX packets - For RX packets. The pBD MUST set to NULL. - PAL packet shall set the pointer point to the start of the flat buffer - where the BD starts. - */ - void *pBD; - //Physical address for pBD for DMA-able devices - void *pBDPhys; - //OS dependent strucutre used only by OS specific code. - void *pOSStruct; - void *pktMetaInfo; - wpt_packet_type pktType; - //The number of bytes pBD uses. It MUST be set to 0 for RX packets - wpt_uint16 BDLength; - - //Internal data for PAL packet implementation usage only - void *pInternalData; -} wpt_packet; - -typedef struct swpt_iterator -{ - void *pNext; - void *pCur; - void *pContext; -} wpt_iterator; - -/* Each specific channel dedicated information should be logged */ -typedef struct -{ - char channelName[WPT_TRPT_CHANNEL_NAME]; - v_U32_t numDesc; - v_U32_t numFreeDesc; - v_U32_t numRsvdDesc; - v_U32_t headDescOrder; - v_U32_t tailDescOrder; - v_U32_t ctrlRegVal; - v_U32_t statRegVal; - v_U32_t numValDesc; - v_U32_t numInvalDesc; -} wpt_log_data_stall_channel_type; - -/* Transport log context */ -typedef struct -{ - v_U32_t PowerState; - v_U32_t numFreeBd; - wpt_log_data_stall_channel_type dxeChannelInfo[WPT_NUM_TRPT_CHANNEL]; -} wpt_log_data_stall_type; - -//pPkt is a pointer to wpt_packet -#define WPAL_PACKET_SET_BD_POINTER(pPkt, pBd) ( (pPkt)->pBD = (pBd) ) -#define WPAL_PACKET_GET_BD_POINTER(pPkt) ( (pPkt)->pBD ) -//Access the physical address of BD -#define WPAL_PACKET_SET_BD_PHYS(pPkt, pBdPhys) ( (pPkt)->pBDPhys = (pBdPhys) ) -#define WPAL_PACKET_GET_BD_PHYS(pPkt) ( (pPkt)->pBDPhys ) -#define WPAL_PACKET_SET_BD_LENGTH(pPkt, len) ( (pPkt)->BDLength = (len) ) -#define WPAL_PACKET_GET_BD_LENGTH(pPkt) ( (pPkt)->BDLength ) -#define WPAL_PACKET_SET_METAINFO_POINTER(pPkt, p) ( (pPkt)->pktMetaInfo = (p) ) -#define WPAL_PACKET_GET_METAINFO_POINTER(pPkt) ( (pPkt)->pktMetaInfo ) -#define WPAL_PACKET_SET_TYPE(pPkt, type) ( (pPkt)->pktType = (type) ) -#define WPAL_PACKET_GET_TYPE(pPkt) ( (pPkt)->pktType ) -#define WPAL_PACKET_SET_OS_STRUCT_POINTER(pPkt, pStruct) ( (pPkt)->pOSStruct = (pStruct) ) -#define WPAL_PACKET_GET_OS_STRUCT_POINTER(pPkt) ( (pPkt)->pOSStruct ) -#define WPAL_PACKET_IS_FLAT_BUF(pktType) ( (eWLAN_PAL_PKT_TYPE_RX_RAW == (pktType)) || \ - (eWLAN_PAL_PKT_TYPE_TX_802_11_MGMT == (pktType)) ) - -/* RX RAW packet alloc fail due to out of resource CB function type */ -typedef void ( *wpalPacketLowPacketCB )( wpt_packet *pPacket, void *usrData ); - - -/*--------------------------------------------------------------------------- - wpalPacketInit Initialize all wpt_packet related objects. Allocate memory for wpt_packet. - Allocate memory for TX management frames and RX frames. - For our legacy UMAC, it is not needed because vos_packet contains wpt_packet. - Param: - pPalContext A context PAL uses?? - Return: - eWLAN_PAL_STATUS_SUCCESS -- success ----------------------------------------------------------------------------*/ -wpt_status wpalPacketInit(void *pPalContext); - -/*--------------------------------------------------------------------------- - wpalPacketClose Free all allocated resource by wpalPacketInit. - For our legacy UMAC, it is not needed because vos_packet contains pal_packet. - Param: - pPalContext A context PAL uses?? - Return: - eWLAN_PAL_STATUS_SUCCESS -- success ----------------------------------------------------------------------------*/ -wpt_status wpalPacketClose(void *pPalContext); - - -/*--------------------------------------------------------------------------- - wpalPacketAlloc Allocate a wpt_packet from PAL. - Param: - pPalContext A context PAL uses?? - pktType specify the type of wpt_packet to allocate - nPktSize - specify the maximum size of the packet buffer. - Return: - A pointer to the wpt_packet. NULL means fail. ----------------------------------------------------------------------------*/ -wpt_packet * wpalPacketAlloc(wpt_packet_type pktType, wpt_uint32 nPktSize, - wpalPacketLowPacketCB rxLowCB, void *usrdata); - -/*--------------------------------------------------------------------------- - wpalPacketFree Free a wpt_packet chain for one particular type. - Packet type is carried in wpt_packet structure. - Param: - pPalContext A context PAL uses?? - pPkt - pointer to a packet to be freed. - Return: - eWLAN_PAL_STATUS_SUCCESS - success ----------------------------------------------------------------------------*/ -wpt_status wpalPacketFree(wpt_packet *pPkt); - -/*--------------------------------------------------------------------------- - wpalPacketGetLength Get number of bytes in a wpt_packet. - Param: - pPalContext PAL context returned from PAL open - pPkt - pointer to a packet to be freed. - Return: - Length of the data include layer-2 headers. For example, if the frame is 802.3, - the length includes the ethernet header. ----------------------------------------------------------------------------*/ -wpt_uint32 wpalPacketGetLength(wpt_packet *pPkt); - -/*--------------------------------------------------------------------------- - wpalPacketRawTrimHead Move the starting offset and reduce packet length. - The function can only be used with raw packets, - whose buffer is one piece and allocated by WLAN driver. - Param: - pPkt - pointer to a wpt_packet. - size number of bytes to take off the head. - Return: - eWPAL_STATUS_SUCCESS - success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalPacketRawTrimHead(wpt_packet *pPkt, wpt_uint32 size); - -/*--------------------------------------------------------------------------- - wpalPacketRawTrimTail reduce the length of the packet. The function can - only be used with raw packets, whose buffer is one piece and - allocated by WLAN driver. This also reduce the length of the packet. - Param: - pPkt - pointer to a wpt_packet. - size number of bytes to take of the packet length - Return: - eWLAN_PAL_STATUS_SUCCESS success. Otherwise fail. ----------------------------------------------------------------------------*/ -wpt_status wpalPacketRawTrimTail(wpt_packet *pPkt, wpt_uint32 size); - - -/*--------------------------------------------------------------------------- - wpalPacketGetRawBuf Return the starting buffer's virtual address for the RAW flat buffer - It is inline in hope of faster implementation for certain platform. - Param: - pPkt - pointer to a wpt_packet. - Return: - NULL - fail. - Otherwise the address of the starting of the buffer ----------------------------------------------------------------------------*/ -extern wpt_uint8 *wpalPacketGetRawBuf(wpt_packet *pPkt); - - -/*--------------------------------------------------------------------------- - wpalPacketSetRxLength Set the valid data length on a RX packet. This function must - be called once per RX packet per receiving. It indicates the available data length from - the start of the buffer. - Param: - pPkt - pointer to a wpt_packet. - Return: - NULL - fail. - Otherwise the address of the starting of the buffer ----------------------------------------------------------------------------*/ -extern wpt_status wpalPacketSetRxLength(wpt_packet *pPkt, wpt_uint32 len); - - -/*--------------------------------------------------------------------------- - wpalIteratorInit Initialize an interator by updating pCur to first item. - Param: - pIter pointer to a caller allocated wpt_iterator - pPacket pointer to a wpt_packet - Return: - eWLAN_PAL_STATUS_SUCCESS - success ----------------------------------------------------------------------------*/ -wpt_status wpalIteratorInit(wpt_iterator *pIter, wpt_packet *pPacket); - -/*--------------------------------------------------------------------------- - wpalIteratorNext Get the address for the next item - Param: - pIter pointer to a caller allocated wpt_iterator - pPacket pointer to a wpt_packet - ppAddr Caller allocated pointer to return the address of the item. For DMA-able devices, this is the physical address of the item. - pLen To return the number of bytes in the item. - Return: - eWLAN_PAL_STATUS_SUCCESS - success ----------------------------------------------------------------------------*/ -wpt_status wpalIteratorNext(wpt_iterator *pIter, wpt_packet *pPacket, void **ppAddr, wpt_uint32 *pLen); - - -/*--------------------------------------------------------------------------- - wpalLockPacketForTransfer Packet must be locked before transfer can begin, - the lock will ensure that the DMA engine has access to the data packet - in a cache coherent manner - - Param: - pPacket pointer to a wpt_packet - - Return: - eWLAN_PAL_STATUS_SUCCESS - success ----------------------------------------------------------------------------*/ -wpt_status wpalLockPacketForTransfer( wpt_packet *pPacket); - -/*--------------------------------------------------------------------------- - wpalUnlockPacket Once the transfer has been completed the packet should - be unlocked so that normal operation may resume - Param: - pPacket pointer to a wpt_packet - - Return: - eWLAN_PAL_STATUS_SUCCESS - success ----------------------------------------------------------------------------*/ -wpt_status wpalUnlockPacket( wpt_packet *pPacket); - -/*--------------------------------------------------------------------------- - wpalPacketGetFragCount Get count of memory chains (fragments) - in a packet - Param: - pPacket pointer to a wpt_packet - - Return: - memory fragment count in a packet ----------------------------------------------------------------------------*/ -wpt_int32 wpalPacketGetFragCount(wpt_packet *pPkt); - -/*--------------------------------------------------------------------------- - wpalIsPacketLocked Check whether the Packet is locked for DMA. - Param: - pPacket pointer to a wpt_packet - - Return: - eWLAN_PAL_STATUS_SUCCESS - eWLAN_PAL_STATUS_E_FAILURE - eWLAN_PAL_STATUS_E_INVAL ----------------------------------------------------------------------------*/ -wpt_status wpalIsPacketLocked( wpt_packet *pPacket); - -/*--------------------------------------------------------------------------- - wpalGetNumRxRawPacket Query available RX RAW total buffer count - param: - numRxResource pointer of queried value - - return: - eWLAN_PAL_STATUS_SUCCESS ----------------------------------------------------------------------------*/ -wpt_status wpalGetNumRxRawPacket(wpt_uint32 *numRxResource); - -/*--------------------------------------------------------------------------- - wpalPacketStallUpdateInfo Update each channel information when stall - detected, also power state and free resource count - - Param: - powerState ? WLAN system power state when stall detected - numFreeBd ? Number of free resource count in HW - channelInfo ? Each channel specific information when stall happen - channelNum ? Channel number update information - - Return: - NONE - ----------------------------------------------------------------------------*/ -void wpalPacketStallUpdateInfo -( - v_U32_t *powerState, - v_U32_t *numFreeBd, - wpt_log_data_stall_channel_type *channelInfo, - v_U8_t channelNum -); - -#ifdef FEATURE_WLAN_DIAG_SUPPORT -/*--------------------------------------------------------------------------- - wpalPacketStallDumpLog Trigger to send log packet to DIAG - Updated transport system information will be sent to DIAG - - Param: - NONE - - Return: - NONE - ----------------------------------------------------------------------------*/ -void wpalPacketStallDumpLog -( - void -); -#endif /* FEATURE_WLAN_DIAG_SUPPORT */ - -#endif // __WLAN_QCT_PAL_PACKET_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_status.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_status.h deleted file mode 100644 index 43b4e93b88fa..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_status.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_STATUS_H ) -#define __WLAN_QCT_PAL_STATUS_H - -/**========================================================================= - - \file wlan_qct_pal_status.h - - \brief define status PAL exports. wpt = (Wlan Pal Type) - - Definitions for platform independent. - - ========================================================================*/ - -typedef enum -{ - /// Request succeeded! - eWLAN_PAL_STATUS_SUCCESS, - - /// Request failed because system resources (other than memory) to - /// fulfill request are not available. - eWLAN_PAL_STATUS_E_RESOURCES, - - /// Request failed because not enough memory is available to - /// fulfill the request. - eWLAN_PAL_STATUS_E_NOMEM, - - /// Request failed because there of an invalid request. This is - /// typically the result of invalid parameters on the request. - eWLAN_PAL_STATUS_E_INVAL, - - /// Request failed because handling the request would cause a - /// system fault. This error is typically returned when an - /// invalid pointer to memory is detected. - eWLAN_PAL_STATUS_E_FAULT, - - /// Request failed because device or resource is busy. - eWLAN_PAL_STATUS_E_BUSY, - - /// Request did not complete because it was canceled. - eWLAN_PAL_STATUS_E_CANCELED, - - /// Request did not complete because it was aborted. - eWLAN_PAL_STATUS_E_ABORTED, - - /// Request failed because the request is valid, though not supported - /// by the entity processing the request. - eWLAN_PAL_STATUS_E_NOSUPPORT, - - /// Request failed because of an empty condition - eWLAN_PAL_STATUS_E_EMPTY, - - /// Existance failure. Operation could not be completed because - /// something exists or does not exist. - eWLAN_PAL_STATUS_E_EXISTS, - - /// Operation timed out - eWLAN_PAL_STATUS_E_TIMEOUT, - - /// Request failed for some unknown reason. Note don't use this - /// status unless nothing else applies - eWLAN_PAL_STATUS_E_FAILURE, -} wpt_status; - - -#define WLAN_PAL_IS_STATUS_SUCCESS(status) ( eWLAN_PAL_STATUS_SUCCESS == (status) ) - -#endif // __WLAN_QCT_PAL_STATUS_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_sync.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_sync.h deleted file mode 100644 index d0055cc4d0cf..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_sync.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_SYNC_H ) -#define __WLAN_QCT_PAL_SYNC_H - -/**========================================================================= - - \file wlan_pal_sync.h - - \brief define synchronization objects PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform independent. - - ========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" -#include "wlan_qct_os_sync.h" - - -#define WLAN_PAL_WAIT_INFINITE 0xFFFFFFFF - -/*--------------------------------------------------------------------------- - wpalMutexInit initialize a mutex object - Param: - pMutex a pointer to caller allocated object of wpt_mutex - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalMutexInit(wpt_mutex *pMutex); - -/*--------------------------------------------------------------------------- - wpalMutexDelete invalidate a mutex object - Param: - pMutex a pointer to caller allocated object of wpt_mutex - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalMutexDelete(wpt_mutex *pMutex); - -/*--------------------------------------------------------------------------- - wpalMutexAcquire acquire a mutex object. It is blocked until the object is acquired. - Param: - pMutex a pointer to caller allocated object of wpt_mutex - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalMutexAcquire(wpt_mutex *pMutex); - -/*--------------------------------------------------------------------------- - wpalMutexRelease Release a held mutex object - Param: - pMutex a pointer to caller allocated object of wpt_mutex - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalMutexRelease(wpt_mutex *pMutex); - -/*--------------------------------------------------------------------------- - wpalEventInit initialize an event object - Param: - pEvent a pointer to caller allocated object of wpt_event - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalEventInit(wpt_event *pEvent); - -/*--------------------------------------------------------------------------- - wpalEventDelete invalidate an event object - Param: - pEvent a pointer to caller allocated object of wpt_event - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalEventDelete(wpt_event *pEvent); - -/*--------------------------------------------------------------------------- - wpalEventWait Wait on an event object - Param: - pEvent a pointer to caller allocated object of wpt_event - timeout timerout value at unit of milli-seconds. 0xffffffff means infinite wait - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalEventWait(wpt_event *pEvent, wpt_uint32 timeout); - -/*--------------------------------------------------------------------------- - wpalEventSet Set an event object to signaled state - Param: - pEvent a pointer to caller allocated object of wpt_event - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalEventSet(wpt_event *pEvent); - -/*--------------------------------------------------------------------------- - wpalEventReset Set an event object to non-signaled state - Param: - pEvent a pointer to caller allocated object of wpt_event - Return: - eWLAN_PAL_STATUS_SUCCESS success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalEventReset(wpt_event *pEvent); - - -#endif // __WLAN_QCT_PAL_SYNC_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_timer.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_timer.h deleted file mode 100644 index 1b6964e3750b..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_timer.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_TIMER_H ) -#define __WLAN_QCT_PAL_TIMER_H - -/**========================================================================= - - \file wlan_qct_pal_timer.h - - \brief define synchronization objects PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL) - - Definitions for platform independent. - - ========================================================================*/ - -#include "wlan_qct_pal_type.h" -#include "wlan_qct_pal_status.h" -#include "wlan_qct_os_timer.h" - - -typedef VOS_TIMER_STATE WPAL_TIMER_STATE; - -typedef void (*wpal_timer_callback)(void *pUserData); - -typedef struct -{ - wpt_os_timer timer; - wpal_timer_callback callback; - void *pUserData; -} wpt_timer; - - -/*--------------------------------------------------------------------------- - wpalTimerInit - initialize a wpt_timer object - Param: - pTimer - a pointer to caller allocated wpt_timer object - callback - A callback function - pUserData - A pointer to data pass as parameter of the callback function. - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalTimerInit(wpt_timer * pTimer, wpal_timer_callback callback, void *pUserData); - -/*--------------------------------------------------------------------------- - wpalTimerDelete - invalidate a wpt_timer object - Param: - pTimer - a pointer to caller allocated wpt_timer object - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalTimerDelete(wpt_timer * pTimer); - -/*--------------------------------------------------------------------------- - wpalTimerStart - start a wpt_timer object with a timeout value - Param: - pTimer - a pointer to caller allocated wpt_timer object - timeout - timeout value of the timer. In unit of milli-seconds. - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalTimerStart(wpt_timer * pTimer, wpt_uint32 timeout); - -/*--------------------------------------------------------------------------- - wpalTimerStop - stop a wpt_timer object. Stop doesnt guarantee the timer handler is not called if it is already timeout. - Param: - pTimer - a pointer to caller allocated wpt_timer object - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalTimerStop(wpt_timer * pTimer); - -/*--------------------------------------------------------------------------- - wpalTimerGetCurStatus - Get the current status of timer - - pTimer - a pointer to caller allocated wpt_timer object - - return - WPAL_TIMER_STATE ----------------------------------------------------------------------------*/ -WPAL_TIMER_STATE wpalTimerGetCurStatus(wpt_timer * pTimer); - -/*--------------------------------------------------------------------------- - wpalGetSystemTime - Get the system time in milliseconds - - return - current time in milliseconds ----------------------------------------------------------------------------*/ -wpt_uint32 wpalGetSystemTime(void); - -/*--------------------------------------------------------------------------- - wpalSleep - sleep for a specified interval - Param: - timeout - amount of time to sleep. In unit of milli-seconds. - Return: - eWLAN_PAL_STATUS_SUCCESS - success. Fail otherwise. ----------------------------------------------------------------------------*/ -wpt_status wpalSleep(wpt_uint32 timeout); - -/*--------------------------------------------------------------------------- - wpalBusyWait - Thread busy wait with specified usec - Param: - usecDelay - amount of time to wait. In unit of micro-seconds. - Return: - NONE ----------------------------------------------------------------------------*/ -void wpalBusyWait(wpt_uint32 usecDelay); - -#endif // __WLAN_QCT_PAL_TIMER_H diff --git a/CORE/WDI/WPAL/inc/wlan_qct_pal_type.h b/CORE/WDI/WPAL/inc/wlan_qct_pal_type.h deleted file mode 100644 index 9864060a0cb1..000000000000 --- a/CORE/WDI/WPAL/inc/wlan_qct_pal_type.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2014 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( __WLAN_QCT_PAL_TYPE_H ) -#define __WLAN_QCT_PAL_TYPE_H - -/**========================================================================= - - \file wlan_qct_pal_type.h - - \brief define basic types PAL exports. wpt = (Wlan Pal Type) - - Definitions for platform independent. - - ========================================================================*/ -#include "wlan_qct_os_type.h" - -typedef wpt_uint8 wpt_macAddr[6]; - -enum -{ - eWLAN_PAL_FALSE = 0, - eWLAN_PAL_TRUE = 1, -}; - -typedef enum -{ - eWLAN_MODULE_DAL, - eWLAN_MODULE_DAL_CTRL, - eWLAN_MODULE_DAL_DATA, - eWLAN_MODULE_PAL, - - //Always the last one - eWLAN_MODULE_COUNT -} wpt_moduleid; - - -typedef struct -{ - //BIT order is most likely little endian. - //This structure is for netowkr-order byte array (or big-endian byte order) -#ifndef WLAN_PAL_BIG_ENDIAN_BIT - wpt_byte protVer :2; - wpt_byte type :2; - wpt_byte subType :4; - - wpt_byte toDS :1; - wpt_byte fromDS :1; - wpt_byte moreFrag :1; - wpt_byte retry :1; - wpt_byte powerMgmt :1; - wpt_byte moreData :1; - wpt_byte wep :1; - wpt_byte order :1; - -#else - - wpt_byte subType :4; - wpt_byte type :2; - wpt_byte protVer :2; - - wpt_byte order :1; - wpt_byte wep :1; - wpt_byte moreData :1; - wpt_byte powerMgmt :1; - wpt_byte retry :1; - wpt_byte moreFrag :1; - wpt_byte fromDS :1; - wpt_byte toDS :1; - -#endif - -} wpt_FrameCtrl; - -typedef struct -{ - /* Frame control field */ - wpt_FrameCtrl frameCtrl; - /* Duration ID */ - wpt_uint16 usDurationId; - /* Address 1 field */ - wpt_macAddr vA1; - /* Address 2 field */ - wpt_macAddr vA2; - /* Address 3 field */ - wpt_macAddr vA3; - /* Sequence control field */ - wpt_uint16 sSeqCtrl; - /* Optional A4 address */ - wpt_macAddr optvA4; - /* Optional QOS control field */ - wpt_uint16 usQosCtrl; -}wpt_80211Header; - -typedef struct -{ - wpt_macAddr dest; - wpt_macAddr sec; - wpt_uint16 lenOrType; -} wpt_8023Header; - - -#endif // __WLAN_QCT_PAL_TYPE_H diff --git a/firmware_bin/WCNSS_qcom_cfg.ini b/firmware_bin/WCNSS_qcom_cfg.ini index cf403054733b..3909c3a6a08a 100755 --- a/firmware_bin/WCNSS_qcom_cfg.ini +++ b/firmware_bin/WCNSS_qcom_cfg.ini @@ -276,11 +276,6 @@ gApAutoChannelSelection=0 gEnablePhyAgcListenMode=128 -#Preferred channel to start BT AMP AP mode (0 means, any channel) - -BtAmpPreferredChannel=0 - - #Preferred band (both or 2.4 only or 5 only) BandCapability=0 @@ -293,11 +288,6 @@ enableBeaconEarlyTermination=0 beaconEarlyTerminationWakeInterval=3 -#Bluetooth Alternate Mac Phy (1 = enable the BT AMP feature, 0 = disable) - -gEnableBtAmp=0 - - #SOFTAP Channel Range selection gAPChannelSelectStartChannel=1 @@ -541,10 +531,6 @@ ssdp = 0 #Enable Hysteretic mode gEnableHystereticMode=1 -#Disable/Enable Strict FCC Regulatory -# 0 to disable, 1 to enable -gEnableStrictRegulatoryForFCC=0 - #Disable packet log feature gEnablePacketLog=0 diff --git a/firmware_bin/WCNSS_qcom_cfg.usb.ini b/firmware_bin/WCNSS_qcom_cfg.usb.ini index 58225c200c9b..dce1d8804c4c 100644 --- a/firmware_bin/WCNSS_qcom_cfg.usb.ini +++ b/firmware_bin/WCNSS_qcom_cfg.usb.ini @@ -270,11 +270,6 @@ gApAutoChannelSelection=0 gEnablePhyAgcListenMode=128 -#Preferred channel to start BT AMP AP mode (0 means, any channel) - -BtAmpPreferredChannel=0 - - #Preferred band (both or 2.4 only or 5 only) BandCapability=0 @@ -287,11 +282,6 @@ enableBeaconEarlyTermination=0 beaconEarlyTerminationWakeInterval=3 -#Bluetooth Alternate Mac Phy (1 = enable the BT AMP feature, 0 = disable) - -gEnableBtAmp=0 - - #SOFTAP Channel Range selection gAPChannelSelectStartChannel=1 diff --git a/tools/fwdebuglog/cld-diag-parser.c b/tools/fwdebuglog/cld-diag-parser.c index 6af0e1600d4c..de418397658a 100644 --- a/tools/fwdebuglog/cld-diag-parser.c +++ b/tools/fwdebuglog/cld-diag-parser.c @@ -903,14 +903,6 @@ process_diagfw_msg(uint8_t *datap, uint16_t len, uint32_t optionflag, } } - if (gdiag_header->file_version != version) { - snprintf(buf, BUF_SIZ, "**ERROR**" - " Data.msc Version %d doesn't match" - " with Firmware version %d", - gdiag_header->file_version, version); - diag_printf(buf, 0, 4, optionflag, 0, NULL); - return -1; - } buffer = (uint32_t *)datap ; buffer ++; /* increment 1 to skip dropped */ num_buf = len - 4; @@ -975,6 +967,14 @@ process_diagfw_msg(uint8_t *datap, uint16_t len, uint32_t optionflag, debug_printf(" DIAG_TYPE_FW_DEBUG_MSG: " " vdevid %d vdevlevel %d payloadlen = %d id = %d\n", vdevid, vdevlevel, payloadlen, id); + if (gdiag_header->file_version != version) { + snprintf(buf, BUF_SIZ, "**ERROR**" + " Data.msc Version %d doesn't match" + " with Firmware version %d id = %d", + gdiag_header->file_version, version, id); + diag_printf(buf, 0, 4, optionflag, 0, NULL); + break; + } entry = diag_find_by_id(id); if (entry) { debug_printf(" entry->format = %s pack = %s\n", diff --git a/tools/fwdebuglog/cld-diag-parser.h b/tools/fwdebuglog/cld-diag-parser.h index 513c4e9239dc..1c3dcdaa2eb9 100644 --- a/tools/fwdebuglog/cld-diag-parser.h +++ b/tools/fwdebuglog/cld-diag-parser.h @@ -31,6 +31,10 @@ #define FEATURE_LOG_EXPOSED_HEADER #include <stdint.h> +#ifndef __KERNEL__ +#include <sys/socket.h> +#include <netinet/in.h> +#endif // __KERNEL__ #include "event.h" #include "msg.h" #include "log.h" @@ -39,11 +43,6 @@ #include "diagcmd.h" #include "diag.h" -#ifdef ANDROID -#include "aniNlMsg.h" -#include "aniNlFuncs.h" -#endif - /* KERNEL DEFS START */ #define DBGLOG_MAX_VDEVID 15 /* 0-15 */ #define DBGLOG_TIMESTAMP_OFFSET 0 @@ -144,6 +143,8 @@ #define SIZEOF_NL_MSG_UNLOAD 28 /* sizeof nlmsg and Unload length */ #define DIAG_TYPE_LOGS 1 #define DIAG_TYPE_EVENTS 2 +/* General purpose MACROS to handle the WNI Netlink msgs */ +#define ANI_NL_MASK 3 /* Debug Log levels*/ @@ -176,6 +177,34 @@ enum wlan_diag_frame_type { WLAN_DIAG_TYPE_LEGACY_MSG, }; +/* + * The following enum defines the target kernel module for which the netlink + * message is intended for. Each kernel module along with its counterpart + * in the user space, will then define a set of messages they recognize. + * Each of this message will have an header of type tAniHdr define below. + * Each Netlink message to/from a kernel module will contain only one + * message which is preceded by a tAniHdr. + * + * +------------+-------+-------+----------+ + * |Netlink hdr | Align |tAniHdr| msg body | + * +------------+-------+-------|----------+ + */ +#define ANI_NL_MSG_BASE 0x10 /* Some arbitrary base */ +typedef enum eAniNlModuleTypes { + ANI_NL_MSG_NETSIM = ANI_NL_MSG_BASE,// NetSim Messages (to the server) + ANI_NL_MSG_PUMAC, // Messages for/from the Upper MAC driver + ANI_NL_MSG_WNS, // Messages for the Wireless Networking + // Services module(s) + ANI_NL_MSG_MACSW, // Messages from MAC + ANI_NL_MSG_ES, // Messages from ES + ANI_NL_MSG_WSM, // Message from the WSM in user space + ANI_NL_MSG_DVT, // Message from the DVT application + ANI_NL_MSG_PTT, // Message from the PTT application + ANI_NL_MSG_MAC_CLONE, //Message from the Mac clone App + ANI_NL_MSG_LOG = ANI_NL_MSG_BASE + 0x0C, // Message for WLAN logging + ANI_NL_MSG_MAX +} tAniNlModTypes; + struct dbglog_slot { unsigned int diag_type; unsigned int timestamp; @@ -196,11 +225,56 @@ typedef struct wlan_bringup_s { char driverVersion[10]; } wlan_bringup_t; +//All Netlink messages must contain this header +typedef struct sAniHdr { + unsigned short type; + unsigned short length; +} tAniHdr, tAniMsgHdr; + +/* + * This msg hdr will always follow tAniHdr in all the messages exchanged + * between the Applications in userspace the Pseudo Driver, in either + * direction. + */ +typedef struct sAniNlMsg { + struct nlmsghdr nlh; // Netlink Header + int radio; // unit number of the radio + tAniHdr wmsg; // Airgo Message Header +} tAniNlHdr; + +typedef struct sAniAppRegReq { + tAniNlModTypes type; /* The module id that the application is + registering for */ + int pid; /* Pid returned in the nl_sockaddr structure + in the call getsockbyname after the + application opens and binds a netlink + socket */ +} tAniNlAppRegReq; + static inline unsigned int get_32(const unsigned char *pos) { return pos[0] | (pos[1] << 8) | (pos[2] << 16) | (pos[3] << 24); } +static inline unsigned int aniNlAlign(unsigned int len) +{ + return ((len + ANI_NL_MASK) & ~ANI_NL_MASK); +} + +static inline void *aniNlAlignBuf(void *buf) +{ + return (void *)aniNlAlign((unsigned int)buf); +} + +/* + * Determines the aligned length of the WNI MSG including the hdr + * for a given payload of length 'len'. + */ +static inline unsigned int aniNlLen(unsigned int len) +{ + return (aniNlAlign(sizeof(tAniHdr)) + len); +} + /* KENEL DEFS END */ #define WLAN_NL_MSG_CNSS_DIAG 27 /* Msg type between user space/wlan driver */ diff --git a/wcnss/inc/halLegacyPalTypes.h b/wcnss/inc/halLegacyPalTypes.h index 3dd3f3354f3b..21658e3bba23 100644 --- a/wcnss/inc/halLegacyPalTypes.h +++ b/wcnss/inc/halLegacyPalTypes.h @@ -39,7 +39,7 @@ * *=========================================================================*/ -#include "qwlanfw_defs.h" +#include "wlan_types.h" /* Common type definitions */ typedef uint8 tANI_U8; diff --git a/wcnss/inc/wlan_hal_cfg.h b/wcnss/inc/wlan_hal_cfg.h index ceca24ceef10..98d5f6cff892 100644 --- a/wcnss/inc/wlan_hal_cfg.h +++ b/wcnss/inc/wlan_hal_cfg.h @@ -42,7 +42,7 @@ /*------------------------------------------------------------------------- Include Files -------------------------------------------------------------------------*/ -#include "qwlanfw_defs.h" +#include "wlan_types.h" /*------------------------------------------------------------------------- Preprocessor definitions and constants |
