qcacld-3.0: Add messaging interface to support NAN datapath

qcacld-2.0 to qcacld-3.0 propagation

Add messaging interface to support NAN datapath.
"NAN" terminology is used for referencing NAN discovery.
"NDI" and "NDP" are for NAN datapath.

CRs-Fixed: 962367
Change-Id: I1f42c8dab17b3a300db61756c29fc02d3d3bc504
This commit is contained in:
Deepak Dhamdhere 2016-05-26 02:12:58 -07:00 • committed by Nandini Suresh
commit c9acc447ea
7 changed files with 66 additions and 7 deletions

View file

@ -489,13 +489,23 @@ struct sir_set_antenna_mode {
struct sir_antenna_mode_param set_antenna_mode;
};
/* / BSS type enum used in while scanning/joining etc */
/**
* enum tSirBssType - Enum for BSS type used in scanning/joining etc.
*
* @eSIR_INFRASTRUCTURE_MODE: Infrastructure station
* @eSIR_INFRA_AP_MODE: softAP mode
* @eSIR_IBSS_MODE: IBSS mode
* @eSIR_AUTO_MODE: Auto role
* @eSIR_MONITOR_MODE: Monitor mode
* @eSIR_NDI_MODE: NAN datapath mode
*/
typedef enum eSirBssType {
eSIR_INFRASTRUCTURE_MODE,
eSIR_INFRA_AP_MODE, /* Added for softAP support */
eSIR_INFRA_AP_MODE,
eSIR_IBSS_MODE,
eSIR_AUTO_MODE,
eSIR_MONITOR_MODE,
eSIR_NDI_MODE,
eSIR_DONOT_USE_BSS_TYPE = SIR_MAX_ENUM_SIZE
} tSirBssType;
@ -4777,6 +4787,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 */

View file

@ -252,6 +252,16 @@ enum eWniMsgTypes {
eWNI_SME_TSF_EVENT,
eWNI_SME_MON_INIT_SESSION,
eWNI_SME_PDEV_SET_HT_VHT_IE,
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
};

View file

@ -617,6 +617,18 @@ typedef struct sSirMbMsgP2p {
#define SIR_HAL_TDLS_CONNECTION_TRACKER_NOTIFICATION (SIR_HAL_ITC_MSG_TYPES_BEGIN + 346)
#endif
#define SIR_HAL_NDP_GET_CAP_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 344)
#define SIR_HAL_NDP_INITIATOR_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 345)
#define SIR_HAL_NDP_RESPONDER_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 346)
#define SIR_HAL_NDP_END_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 347)
#define SIR_HAL_NDI_CAP_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 348)
#define SIR_HAL_NDP_INITIATOR_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 349)
#define SIR_HAL_NDP_RESPONDER_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 350)
#define SIR_HAL_NDP_END_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 351)
#define SIR_HAL_NDP_INDICATION (SIR_HAL_ITC_MSG_TYPES_BEGIN + 352)
#define SIR_HAL_NDP_CONFIRM (SIR_HAL_ITC_MSG_TYPES_BEGIN + 353)
#define SIR_HAL_NDP_END_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 354)
#define SIR_HAL_MSG_TYPES_END (SIR_HAL_MSG_TYPES_BEGIN + 0x1FF)
/* CFG message types */

View file

@ -62,6 +62,8 @@
#define LIM_IS_UNKNOWN_ROLE(psessionEntry) (GET_LIM_SYSTEM_ROLE(psessionEntry) == eLIM_UNKNOWN_ROLE)
#define LIM_IS_P2P_DEVICE_ROLE(psessionEntry) (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)

View file

@ -83,7 +83,8 @@ typedef enum eLimSystemRole {
eLIM_STA_ROLE,
eLIM_P2P_DEVICE_ROLE,
eLIM_P2P_DEVICE_GO,
eLIM_P2P_DEVICE_CLIENT
eLIM_P2P_DEVICE_CLIENT,
eLIM_NDI_ROLE
} tLimSystemRole;
/*

View file

@ -141,12 +141,22 @@ typedef enum {
eCSR_NUM_PHY_MODE = 16,
} eCsrPhyMode;
/**
* enum eCsrRoamBssType - BSS type in CSR operations
* @eCSR_BSS_TYPE_INFRASTRUCTURE: Infrastructure station
* @eCSR_BSS_TYPE_INFRA_AP: SoftAP
* @eCSR_BSS_TYPE_IBSS: IBSS network we'll not start
* @eCSR_BSS_TYPE_START_IBSS: IBSS network we'll start if no partners found
* @eCSR_BSS_TYPE_NDI: NAN datapath interface
* @eCSR_BSS_TYPE_ANY: any BSS type (IBSS or Infrastructure)
*/
typedef enum {
eCSR_BSS_TYPE_INFRASTRUCTURE,
eCSR_BSS_TYPE_INFRA_AP, /* SoftAP AP */
eCSR_BSS_TYPE_IBSS, /* IBSS network we'll NOT start */
eCSR_BSS_TYPE_START_IBSS, /* IBSS network we'll start if no partners */
eCSR_BSS_TYPE_ANY, /* any BSS type (IBSS or Infrastructure).*/
eCSR_BSS_TYPE_INFRA_AP,
eCSR_BSS_TYPE_IBSS,
eCSR_BSS_TYPE_START_IBSS,
eCSR_BSS_TYPE_NDI,
eCSR_BSS_TYPE_ANY,
} eCsrRoamBssType;
typedef enum {
@ -501,6 +511,7 @@ typedef enum {
eCSR_ROAM_DISABLE_QUEUES,
eCSR_ROAM_ENABLE_QUEUES,
eCSR_ROAM_STA_CHANNEL_SWITCH,
eCSR_ROAM_NDP_STATUS_UPDATE,
} eRoamCmdStatus;
/* comment inside indicates what roaming callback gets */
@ -598,6 +609,16 @@ typedef enum {
eCSR_ROAM_RESULT_CHANNEL_CHANGE_FAILURE,
eCSR_ROAM_RESULT_DFS_CHANSW_UPDATE_SUCCESS,
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;
/*----------------------------------------------------------------------------
@ -1578,6 +1599,7 @@ typedef QDF_STATUS (*csr_roamSessionCloseCallback)(void *pContext);
(pProfile)->BSSType)
#define CSR_IS_INFRA_AP(pProfile) (eCSR_BSS_TYPE_INFRA_AP == \
(pProfile)->BSSType)
#define CSR_IS_NDI(pProfile) (eCSR_BSS_TYPE_NDI == (pProfile)->BSSType)
#define CSR_IS_CONN_INFRA_AP(pProfile) (eCSR_BSS_TYPE_INFRA_AP == \
(pProfile)->BSSType)
#define CSR_IS_CLOSE_SESSION_COMMAND(pCommand) \

View file

@ -72,6 +72,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