summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRavi Joshi <ravij@qca.qualcomm.com>2016-01-22 12:01:52 -0800
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-03-09 18:09:23 +0530
commit4eb25cb0d431e0bf53182c0424a6b25e8097b5c8 (patch)
tree0c6f2476ee448a65a6d1fa849ab2c8a91bfb4ad2
parent9aa120f645286aba34c6df0ec5e6c6cc5fd99ff3 (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.h5
-rw-r--r--CORE/MAC/inc/sirApi.h27
-rw-r--r--CORE/MAC/inc/wniApi.h11
-rw-r--r--CORE/MAC/src/include/sirParams.h16
-rw-r--r--CORE/MAC/src/pe/include/limApi.h2
-rw-r--r--CORE/MAC/src/pe/include/limGlobal.h3
-rw-r--r--CORE/SERVICES/COMMON/ol_txrx_ctrl_api.h1
-rw-r--r--CORE/SME/inc/csrApi.h31
-rw-r--r--CORE/VOSS/inc/vos_types.h3
-rw-r--r--CORE/WDA/inc/legacy/halMsgApi.h1
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