diff options
| author | Ravi Joshi <ravij@qca.qualcomm.com> | 2016-01-22 12:01:52 -0800 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-03-09 18:09:23 +0530 |
| commit | 4eb25cb0d431e0bf53182c0424a6b25e8097b5c8 (patch) | |
| tree | 0c6f2476ee448a65a6d1fa849ab2c8a91bfb4ad2 | |
| parent | 9aa120f645286aba34c6df0ec5e6c6cc5fd99ff3 (diff) | |
qcacld-2.0: Add messaging interface to support NAN data path
Add messaging interface to support NAN data path. Also add commonly
used definitions for NAN Data Interface, like VOS_NDI_MODE.
"NAN" terminology is used for referencing NAN discovery and "NDI"
for NAN data path
CRs-Fixed: 962367
Change-Id: I1f42c8dab17b3a300db61756c29fc02d3d3bc504
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_main.h | 5 | ||||
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 27 | ||||
| -rw-r--r-- | CORE/MAC/inc/wniApi.h | 11 | ||||
| -rw-r--r-- | CORE/MAC/src/include/sirParams.h | 16 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/include/limApi.h | 2 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/include/limGlobal.h | 3 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h | 1 | ||||
| -rw-r--r-- | CORE/SME/inc/csrApi.h | 31 | ||||
| -rw-r--r-- | CORE/VOSS/inc/vos_types.h | 3 | ||||
| -rw-r--r-- | CORE/WDA/inc/legacy/halMsgApi.h | 1 |
10 files changed, 77 insertions, 23 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h index f412a6de6e87..3954fe55c307 100644 --- a/CORE/HDD/inc/wlan_hdd_main.h +++ b/CORE/HDD/inc/wlan_hdd_main.h @@ -572,8 +572,9 @@ typedef enum device_mode WLAN_HDD_FTM, WLAN_HDD_IBSS, WLAN_HDD_P2P_DEVICE, - WLAN_HDD_OCB -}device_mode_t; + WLAN_HDD_OCB, + WLAN_HDD_NDI +} device_mode_t; typedef enum rem_on_channel_request_type { diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index 8bb9b110cc57..a6fdaa09005e 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -529,17 +529,27 @@ typedef struct sSirLoad tANI_U16 channelUtilization; } tSirLoad, *tpSirLoad; -/// BSS type enum used in while scanning/joining etc -typedef enum eSirBssType -{ +/** + * enum tSirBssType - BSS type enum used in while scanning/joining etc + * + * @eSIR_INFRASTRUCTURE_MODE: Infrastructure station + * @eSIR_INFRA_AP_MODE: softAP mode + * @eSIR_IBSS_MODE: IBSS mode + * @eSIR_BTAMP_STA_MODE: BT-AMP STA mode + * @eSIR_BTAMP_AP_MODE: BT-AMP AP mode + * @eSIR_MONITOR_MODE: Monitor mode + * @eSIR_NDI_MODE: NAN data path mide + * @eSIR_AUTO_MODE: Auto role + */ +typedef enum eSirBssType { eSIR_INFRASTRUCTURE_MODE, - eSIR_INFRA_AP_MODE, //Added for softAP support + eSIR_INFRA_AP_MODE, eSIR_IBSS_MODE, - eSIR_BTAMP_STA_MODE, //Added for BT-AMP support - eSIR_BTAMP_AP_MODE, //Added for BT-AMP support - eSIR_AUTO_MODE, + eSIR_BTAMP_STA_MODE, + eSIR_BTAMP_AP_MODE, eSIR_MONITOR_MODE, - eSIR_DONOT_USE_BSS_TYPE = SIR_MAX_ENUM_SIZE + eSIR_NDI_MODE, + eSIR_AUTO_MODE, } tSirBssType; /// Power Capability info used in 11H @@ -5733,6 +5743,7 @@ typedef enum WIFI_INTERFACE_P2P_GO = 4, WIFI_INTERFACE_NAN = 5, WIFI_INTERFACE_MESH = 6, + WIFI_INTERFACE_NDI = 7, } tSirWifiInterfaceMode; /* set for QOS association */ diff --git a/CORE/MAC/inc/wniApi.h b/CORE/MAC/inc/wniApi.h index 13cb00cc64d7..e46e4be8ce29 100644 --- a/CORE/MAC/inc/wniApi.h +++ b/CORE/MAC/inc/wniApi.h @@ -406,6 +406,17 @@ enum eWniMsgTypes eWNI_SME_MON_INIT_SESSION, eWNI_SME_DEL_ALL_TDLS_PEERS, eWNI_SME_SEND_DISASSOC_FRAME, + + eWNI_SME_NDP_INITIATOR_RSP, + eWNI_SME_NDP_NEW_PEER_IND, + eWNI_SME_NDP_CONFIRM_IND, + eWNI_SME_NDP_INDICATION, + eWNI_SME_NDP_RESPONDER_REQ, + eWNI_SME_NDP_RESPONDER_RSP, + eWNI_SME_NDP_END_RSP, + eWNI_SME_NDP_PEER_DEPARTED_IND, + eWNI_SME_NDP_END_IND, + eWNI_SME_MSG_TYPES_END }; diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h index a5487c81a2af..7893f808ae53 100644 --- a/CORE/MAC/src/include/sirParams.h +++ b/CORE/MAC/src/include/sirParams.h @@ -753,15 +753,27 @@ typedef struct sSirMbMsgP2p #define SIR_HAL_SET_EGAP_CONF_PARAMS (SIR_HAL_ITC_MSG_TYPES_BEGIN + 339) -#define SIR_HAL_BPF_GET_CAPABILITIES_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 340) +#define SIR_HAL_BPF_GET_CAPABILITIES_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 340) #define SIR_HAL_BPF_SET_INSTRUCTIONS_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 341) #define SIR_HAL_MIB_STATS_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 342) #define SIR_HAL_SET_MIB_STATS_ENABLE (SIR_HAL_ITC_MSG_TYPES_BEGIN + 343) #define SIR_HAL_SET_MIB_STATS_DISABLE (SIR_HAL_ITC_MSG_TYPES_BEGIN + 344) -#define SIR_HAL_UPDATE_TX_RATE (SIR_HAL_ITC_MSG_TYPES_BEGIN + 345) +#define SIR_HAL_UPDATE_TX_RATE (SIR_HAL_ITC_MSG_TYPES_BEGIN + 345) #define SIR_HAL_ADD_BCN_FILTER_CMDID (SIR_HAL_ITC_MSG_TYPES_BEGIN + 346) #define SIR_HAL_REMOVE_BCN_FILTER_CMDID (SIR_HAL_ITC_MSG_TYPES_BEGIN + 347) +#define SIR_HAL_NDP_GET_CAP_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 348) +#define SIR_HAL_NDP_INITIATOR_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 349) +#define SIR_HAL_NDP_RESPONDER_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 350) +#define SIR_HAL_NDP_END_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 351) +#define SIR_HAL_NDI_CAP_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 352) +#define SIR_HAL_NDP_INITIATOR_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 353) +#define SIR_HAL_NDP_RESPONDER_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 354) +#define SIR_HAL_NDP_END_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 355) +#define SIR_HAL_NDP_INDICATION (SIR_HAL_ITC_MSG_TYPES_BEGIN + 356) +#define SIR_HAL_NDP_CONFIRM (SIR_HAL_ITC_MSG_TYPES_BEGIN + 357) +#define SIR_HAL_NDP_END_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 358) + #define SIR_HAL_MSG_TYPES_END (SIR_HAL_MSG_TYPES_BEGIN + 0x1FF) // CFG message types diff --git a/CORE/MAC/src/pe/include/limApi.h b/CORE/MAC/src/pe/include/limApi.h index e54c783b9f39..83301a4230de 100644 --- a/CORE/MAC/src/pe/include/limApi.h +++ b/CORE/MAC/src/pe/include/limApi.h @@ -72,6 +72,8 @@ (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_P2P_DEVICE_ROLE) #define LIM_IS_P2P_DEVICE_GO(psessionEntry) \ (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_P2P_DEVICE_GO) +#define LIM_IS_NDI_ROLE(psessionEntry) \ + (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_NDI_ROLE) /* gLimSmeState */ #define GET_LIM_SME_STATE(pMac) (pMac->lim.gLimSmeState) #define SET_LIM_SME_STATE(pMac, state) (pMac->lim.gLimSmeState = state) diff --git a/CORE/MAC/src/pe/include/limGlobal.h b/CORE/MAC/src/pe/include/limGlobal.h index f768544e4dd7..db2340229a05 100644 --- a/CORE/MAC/src/pe/include/limGlobal.h +++ b/CORE/MAC/src/pe/include/limGlobal.h @@ -87,7 +87,8 @@ typedef enum eLimSystemRole eLIM_BT_AMP_AP_ROLE, eLIM_P2P_DEVICE_ROLE, eLIM_P2P_DEVICE_GO, - eLIM_P2P_DEVICE_CLIENT + eLIM_P2P_DEVICE_CLIENT, + eLIM_NDI_ROLE } tLimSystemRole; /** diff --git a/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h b/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h index 1796b8b94595..f5ad5e613cb1 100644 --- a/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h +++ b/CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h @@ -56,6 +56,7 @@ enum wlan_op_mode { wlan_op_mode_sta, wlan_op_mode_monitor, wlan_op_mode_ocb, + wlan_op_mode_ndi, }; #define OL_TXQ_PAUSE_REASON_FW (1 << 0) diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h index 601f78808bc8..710b31dc87ff 100644 --- a/CORE/SME/inc/csrApi.h +++ b/CORE/SME/inc/csrApi.h @@ -148,17 +148,17 @@ typedef enum { typedef tANI_U8 tCsrBssid[VOS_MAC_ADDR_SIZE]; -typedef enum -{ +typedef enum { eCSR_BSS_TYPE_NONE, eCSR_BSS_TYPE_INFRASTRUCTURE, - eCSR_BSS_TYPE_INFRA_AP, // SoftAP AP - eCSR_BSS_TYPE_IBSS, // an IBSS network we will NOT start - eCSR_BSS_TYPE_START_IBSS, // an IBSS network we will start if no partners detected. - eCSR_BSS_TYPE_WDS_AP, // BT-AMP AP - eCSR_BSS_TYPE_WDS_STA, // BT-AMP station - eCSR_BSS_TYPE_ANY, // any BSS type (IBSS or Infrastructure). -}eCsrRoamBssType; + eCSR_BSS_TYPE_INFRA_AP, /* Soft AP */ + eCSR_BSS_TYPE_IBSS, /* IBSS network, will NOT start */ + eCSR_BSS_TYPE_START_IBSS, /* IBSS network, will start if no partner */ + eCSR_BSS_TYPE_WDS_AP, /* BT-AMP AP */ + eCSR_BSS_TYPE_WDS_STA, /* BT-AMP station */ + eCSR_BSS_TYPE_NDI, /* NAN data path interface */ + eCSR_BSS_TYPE_ANY, /* any BSS type (IBSS or Infrastructure) */ +} eCsrRoamBssType; @@ -540,6 +540,8 @@ typedef enum // Channel sw update notification eCSR_ROAM_DFS_CHAN_SW_NOTIFY, eCSR_ROAM_EXT_CHG_CHNL_IND, + + eCSR_ROAM_NDP_STATUS_UPDATE, }eRoamCmdStatus; @@ -641,6 +643,16 @@ typedef enum eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_SUCCESS, eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_FAILURE, eCSR_ROAM_EXT_CHG_CHNL_UPDATE_IND, + + eCSR_ROAM_RESULT_NDP_INITIATOR_RSP, + eCSR_ROAM_RESULT_NDP_NEW_PEER_IND, + eCSR_ROAM_RESULT_NDP_CONFIRM_IND, + eCSR_ROAM_RESULT_NDP_INDICATION, + eCSR_ROAM_RESULT_NDP_RESPONDER_REQ, + eCSR_ROAM_RESULT_NDP_RESPONDER_RSP, + eCSR_ROAM_RESULT_NDP_END_RSP, + eCSR_ROAM_RESULT_NDP_PEER_DEPARTED_IND, + eCSR_ROAM_RESULT_NDP_END_IND, }eCsrRoamResult; @@ -1700,6 +1712,7 @@ typedef eHalStatus (*csrRoamSessionCloseCallback)(void *pContext); #define CSR_IS_WDS_STA( pProfile ) ( eCSR_BSS_TYPE_WDS_STA == (pProfile)->BSSType ) #define CSR_IS_WDS( pProfile ) ( CSR_IS_WDS_AP( pProfile ) || CSR_IS_WDS_STA( pProfile ) ) #define CSR_IS_INFRA_AP( pProfile ) ( eCSR_BSS_TYPE_INFRA_AP == (pProfile)->BSSType ) +#define CSR_IS_NDI(pProfile) (eCSR_BSS_TYPE_NDI == (pProfile)->BSSType) //pProfile - pointer to tCsrRoamConnectedProfile #define CSR_IS_CONN_INFRA_AP( pProfile ) ( eCSR_BSS_TYPE_INFRA_AP == (pProfile)->BSSType ) diff --git a/CORE/VOSS/inc/vos_types.h b/CORE/VOSS/inc/vos_types.h index 69f2abe41f61..bf209169b6ae 100644 --- a/CORE/VOSS/inc/vos_types.h +++ b/CORE/VOSS/inc/vos_types.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2014, 2016 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -147,6 +147,7 @@ typedef enum VOS_IBSS_MODE, VOS_P2P_DEVICE_MODE, VOS_OCB_MODE, + VOS_NDI_MODE, VOS_MAX_NO_OF_MODE } tVOS_CON_MODE; diff --git a/CORE/WDA/inc/legacy/halMsgApi.h b/CORE/WDA/inc/legacy/halMsgApi.h index b6ce3909569b..89ccfd6b0828 100644 --- a/CORE/WDA/inc/legacy/halMsgApi.h +++ b/CORE/WDA/inc/legacy/halMsgApi.h @@ -38,6 +38,7 @@ #define BSS_OPERATIONAL_MODE_AP 0 #define BSS_OPERATIONAL_MODE_STA 1 #define BSS_OPERATIONAL_MODE_IBSS 2 +#define BSS_OPERATIONAL_MODE_NDI 3 /* STA entry type in add sta message */ #define STA_ENTRY_SELF 0 |
