Prechádzať zdrojové kódy

fw-api: update fw common interface files

Update fw common interface files from the following CLs
CL 1692916,
CL 1699142,
CL 1704659,
CL 1705684,
CL 1706778,
CL 2679656.

Bulk propagated from cld-3.0 project

Change-Id: I4371127211ac4c08cbd8b1672cb3b7655afaf3a0
CRs-Fixed: 1093452
Krishna Kumaar Natarajan 8 rokov pred
rodič
commit
e662bfb38d
3 zmenil súbory, kde vykonal 109 pridanie a 31 odobranie
  1. 13 6
      fw/wmi_tlv_defs.h
  2. 95 24
      fw/wmi_unified.h
  3. 1 1
      fw/wmi_version.h

+ 13 - 6
fw/wmi_tlv_defs.h

@@ -764,6 +764,7 @@ typedef enum {
 	WMITLV_TAG_STRUC_wmi_pdev_dfs_radar_detection_event_fixed_param,
 	WMITLV_TAG_STRUC_wmi_vdev_adfs_ocac_complete_event_fixed_param,
 	WMITLV_TAG_STRUC_wmi_vdev_dfs_cac_complete_event_fixed_param,
+	WMITLV_TAG_STRUC_wmi_vendor_oui,
 
 } WMITLV_TAG_ID;
 
@@ -1425,7 +1426,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_PLMREQ_STOP_CMDID);
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) \
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_ssid, ssid_list, WMITLV_SIZE_VAR) \
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, bssid_list, WMITLV_SIZE_VAR) \
-	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR)
 
 WMITLV_CREATE_PARAM_STRUC(WMI_START_SCAN_CMDID);
 
@@ -1813,7 +1815,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_LINK_STATS_CMDID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, nlo_configured_parameters, nlo_list, WMITLV_SIZE_VAR) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, nlo_channel_prediction_cfg, channel_prediction_param, WMITLV_SIZE_VAR) \
-	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_enlo_candidate_score_param, enlo_candidate_score_params, candidate_score_params, WMITLV_SIZE_FIX)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_enlo_candidate_score_param, enlo_candidate_score_params, candidate_score_params, WMITLV_SIZE_FIX) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR)
 
 WMITLV_CREATE_PARAM_STRUC(WMI_NETWORK_LIST_OFFLOAD_CONFIG_CMDID);
 
@@ -2252,7 +2255,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_RESUME_CMDID);
 WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_UPDATE_REQUEST_CMDID);
 
 #define WMITLV_TABLE_WMI_SCAN_PROB_REQ_OUI_CMDID(id,op,buf,len)	\
-	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_prob_req_oui_cmd_fixed_param, wmi_scan_prob_req_oui_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_scan_prob_req_oui_cmd_fixed_param, wmi_scan_prob_req_oui_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui, vendor_oui, WMITLV_SIZE_VAR)
 
 WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_PROB_REQ_OUI_CMDID);
 
@@ -2536,7 +2540,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDI_GET_CAP_REQ_CMDID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ndp_initiator_req_fixed_param, wmi_ndp_initiator_req_fixed_param_PROTOTYPE, fixed_param, WMITLV_SIZE_FIX) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_channel, wmi_channel, channel, WMITLV_SIZE_FIX) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_cfg, WMITLV_SIZE_VAR) \
-	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \
+	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_pmk, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INITIATOR_REQ_CMDID);
 
 /*
@@ -2549,7 +2554,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INITIATOR_REQ_CMDID);
 #define WMITLV_TABLE_WMI_NDP_RESPONDER_REQ_CMDID(id, op, buf, len) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ndp_responder_rsp_event_fixed_param, wmi_ndp_responder_req_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_cfg, WMITLV_SIZE_VAR) \
-	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \
+	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_pmk, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_NDP_RESPONDER_REQ_CMDID);
 
 /*
@@ -3695,7 +3701,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_END_RSP_EVENTID);
 #define WMITLV_TABLE_WMI_NDP_INDICATION_EVENTID(id, op, buf, len) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ndp_indication_event_fixed_param, wmi_ndp_indication_event_fixed_param_PROTOTYPE, fixed_param, WMITLV_SIZE_FIX) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_cfg, WMITLV_SIZE_VAR) \
-	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR)
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_app_info, WMITLV_SIZE_VAR) \
+	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ndp_scid, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_NDP_INDICATION_EVENTID);
 
 /**

+ 95 - 24
fw/wmi_unified.h

@@ -1734,27 +1734,30 @@ enum {
  * Note that in these macros, "ru" is one-based, not zero-based, while
  * nssm1 is zero-based.
  */
-#define WMI_SET_PPET16(ppet16_ppet8_ru3_ru0, ppet, ru, nssm1) \
+#define WMI_SET_PPET16(ppet16_ppet8_ru3_ru0, ru, nssm1, ppet) \
 	do { \
-		ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)%4)*6));       \
-		ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)%4)*6)); \
+		ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)&3)*6));       \
+		ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)&3)*6)); \
 	} while (0)
 
 #define WMI_GET_PPET16(ppet16_ppet8_ru3_ru0, ru, nssm1) \
-	((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6))&7)
+	((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)&3)*6))&7)
 
-#define WMI_SET_PPET8(ppet16_ppet8_ru3_ru0, ppet, ru, nssm1) \
+#define WMI_SET_PPET8(ppet16_ppet8_ru3_ru0, ru, nssm1, ppet) \
 	do { \
-		ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)%4)*6+3));       \
-		ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)%4)*6+3)); \
+		ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)&3)*6+3));       \
+		ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)&3)*6+3)); \
 	} while (0)
 
 #define WMI_GET_PPET8(ppet16_ppet8_ru3_ru0, ru, nssm1) \
-	((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6+3))&7)
+	((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)&3)*6+3))&7)
 
 typedef struct _wmi_ppe_threshold {
 	A_UINT32 numss_m1; /** NSS - 1*/
-	A_UINT32 ru_count; /** Max RU count */
+	union {
+		A_UINT32 ru_count; /** RU COUNT OBSOLETE to be removed after few versions */
+		A_UINT32 ru_mask; /** RU index mask */
+	};
 	/** ppet8 and ppet16 for max num ss */
 	A_UINT32 ppet16_ppet8_ru3_ru0[WMI_MAX_NUM_SS];
 } wmi_ppe_threshold;
@@ -2648,6 +2651,9 @@ typedef struct {
 #define WLAN_SCAN_PARAMS_MAX_BSSID   4
 #define WLAN_SCAN_PARAMS_MAX_IE_LEN  512
 
+/* NOTE: This constant cannot be changed without breaking WMI compatibility */
+#define WMI_IE_BITMAP_SIZE 8
+
 typedef struct {
 	A_UINT32 tlv_header;            /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_start_scan_cmd_fixed_param */
 	/** Scan ID */
@@ -2702,6 +2708,14 @@ typedef struct {
 	A_UINT32 ie_len;
 	/** Max number of probes to be sent */
 	A_UINT32 n_probes;
+	/** MAC Address to use in Probe Req as SA **/
+	wmi_mac_addr mac_addr;
+	/** Mask on which MAC has to be randomized **/
+	wmi_mac_addr mac_mask;
+	/**  ie bitmap to use in probe req **/
+	A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE];
+	/** Number of vendor OUIs. In the TLV vendor_oui[] **/
+	A_UINT32 num_vendor_oui;
 
 	/**
 	 * TLV (tag length value ) parameters follow the scan_cmd
@@ -2710,6 +2724,7 @@ typedef struct {
 	 *     wmi_ssid ssid_list[];
 	 *     wmi_mac_addr bssid_list[];
 	 *     A_UINT8 ie_data[];
+	 *     wmi_vendor_oui vendor_oui[];
 	 */
 } wmi_start_scan_cmd_fixed_param;
 
@@ -2758,6 +2773,8 @@ typedef struct {
 #define WMI_SCAN_FLAG_HALF_RATE_SUPPORT      0x20000
 /** set Quarter (5MHz) rate support */
 #define WMI_SCAN_FLAG_QUARTER_RATE_SUPPORT   0x40000
+#define WMI_SCAN_RANDOM_SEQ_NO_IN_PROBE_REQ 0x80000
+#define WMI_SCAN_ENABLE_IE_WHTELIST_IN_PROBE_REQ 0x100000
 
 /** for adaptive scan mode using 3 bits (21 - 23 bits) */
 #define WMI_SCAN_DWELL_MODE_MASK 0x00E00000
@@ -2887,6 +2904,15 @@ typedef struct {
 	A_UINT32 max_rest_time;
 } wmi_scan_update_request_cmd_fixed_param;
 
+#define WMI_SCAN_PROBE_OUI_SPOOFED_MAC_IN_PROBE_REQ 0x1
+#define WMI_SCAN_PROBE_OUI_RANDOM_SEQ_NO_IN_PROBE_REQ 0x2
+#define WMI_SCAN_PROBE_OUI_ENABLE_IE_WHITELIST_IN_PROBE_REQ 0x4
+
+typedef struct _wmi_vendor_oui {
+	A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vendor_oui */
+	A_UINT32 oui_type_subtype; /** Vendor OUI type and subtype, lower 3 bytes is type and highest byte is subtype**/
+} wmi_vendor_oui;
+
 typedef struct {
 	A_UINT32 tlv_header;
 	/** oui to be used in probe request frame when  random mac addresss is
@@ -2894,6 +2920,15 @@ typedef struct {
 	 * host initated scans. host can request for random mac address with
 	 * WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ flag.     */
 	A_UINT32 prob_req_oui;
+	A_UINT32 vdev_id;
+	/** Control Flags **/
+	A_UINT32 flags;
+	/**  ie bitmap to use in probe req **/
+	A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE];
+	/** Number of vendor OUIs. In the TLV vendor_oui[] **/
+	A_UINT32 num_vendor_oui;
+	/* Following this tlv, there comes an array of structure of type wmi_vendor_ouiwmi_vendor_oui vendor_oui[];*/
+
 } wmi_scan_prob_req_oui_cmd_fixed_param;
 
 enum wmi_scan_event_type {
@@ -3943,6 +3978,11 @@ typedef enum {
 	WMI_PDEV_PARAM_RX_MPDU_AGGR_ARRAY_LEN,
 	/** Set TX delay value in TX sch module, unit is microseconds */
 	WMI_PDEV_PARAM_TX_SCH_DELAY,
+	/** Set RTS enable for SIFS bursting */
+	WMI_PDEV_PARAM_ENABLE_RTS_SIFS_BURSTING,
+	/** Set Maximum number of MPDUs in an AMPDU*/
+	WMI_PDEV_PARAM_MAX_MPDUS_IN_AMPDU,
+
 } WMI_PDEV_PARAM;
 
 typedef enum {
@@ -5017,6 +5057,10 @@ typedef struct {
 	 * channel and after receiving an ACK for
 	 * a data frame with PM bit set) */
 	A_UINT32 rx_leak_window;
+	A_UINT32 tx_rts_succ_cnt;
+	A_UINT32 tx_rts_fail_cnt;
+	A_UINT32 tx_ppdu_succ_cnt;
+	A_UINT32 tx_ppdu_fail_cnt;
 } wmi_iface_link_stats;
 
 /** Interface statistics (once started) reset and start afresh after each connection */
@@ -5814,14 +5858,14 @@ typedef struct {
 #define WMI_HEOPS_TWT_GET(he_ops) WMI_GET_BITS(he_ops, 9, 1)
 #define WMI_HEOPS_TWT_SET(he_ops, value) WMI_SET_BITS(he_ops, 9, 1, value)
 
-#define WMI_HEOPS_RTSTHLD_GET(he_ops) WMI_GET_BITS(he_ops, 10, 7)
-#define WMI_HEOPS_RTSTHLD_SET(he_ops, value) WMI_SET_BITS(he_ops, 10, 7, value)
+#define WMI_HEOPS_RTSTHLD_GET(he_ops) WMI_GET_BITS(he_ops, 10, 10)
+#define WMI_HEOPS_RTSTHLD_SET(he_ops, value) WMI_SET_BITS(he_ops, 10, 10, value)
 
-#define WMI_HEOPS_PDMIN_GET(he_ops) WMI_GET_BITS(he_ops, 17, 5)
-#define WMI_HEOPS_PDMIN_SET(he_ops, value) WMI_SET_BITS(he_ops, 17, 5, value)
+#define WMI_HEOPS_PDMIN_GET(he_ops) WMI_GET_BITS(he_ops, 20, 5)
+#define WMI_HEOPS_PDMIN_SET(he_ops, value) WMI_SET_BITS(he_ops, 20, 5, value)
 
-#define WMI_HEOPS_PDMAX_GET(he_ops) WMI_GET_BITS(he_ops, 22, 5)
-#define WMI_HEOPS_PDMAX_SET(he_ops, value) WMI_SET_BITS(he_ops, 22, 5, value)
+#define WMI_HEOPS_PDMAX_GET(he_ops) WMI_GET_BITS(he_ops, 25, 5)
+#define WMI_HEOPS_PDMAX_SET(he_ops, value) WMI_SET_BITS(he_ops, 25, 5, value)
 
 #define WMI_MAX_HECAP_PHY_SIZE                 (3)
 #define WMI_HECAP_PHY_COD_GET(he_cap_phy) WMI_GET_BITS(he_cap_phy[0], 0, 1)
@@ -10173,17 +10217,20 @@ typedef enum _WMI_NLO_SSID_BcastNwType {
 #define WMI_NLO_MAX_SSIDS    16
 #define WMI_NLO_MAX_CHAN     48
 
-#define WMI_NLO_CONFIG_STOP             (0x1 << 0)
-#define WMI_NLO_CONFIG_START            (0x1 << 1)
-#define WMI_NLO_CONFIG_RESET            (0x1 << 2)
-#define WMI_NLO_CONFIG_SLOW_SCAN        (0x1 << 4)
-#define WMI_NLO_CONFIG_FAST_SCAN        (0x1 << 5)
-#define WMI_NLO_CONFIG_SSID_HIDE_EN     (0x1 << 6)
+#define WMI_NLO_CONFIG_STOP                             (0x1 << 0)
+#define WMI_NLO_CONFIG_START                            (0x1 << 1)
+#define WMI_NLO_CONFIG_RESET                            (0x1 << 2)
+#define WMI_NLO_CONFIG_SLOW_SCAN                        (0x1 << 4)
+#define WMI_NLO_CONFIG_FAST_SCAN                        (0x1 << 5)
+#define WMI_NLO_CONFIG_SSID_HIDE_EN                     (0x1 << 6)
 /* This bit is used to indicate if EPNO or supplicant PNO is enabled. Only
   * one of them can be enabled at a given time */
-#define WMI_NLO_CONFIG_ENLO             (0x1 << 7)
-#define WMI_NLO_CONFIG_SCAN_PASSIVE     (0x1 << 8)
-#define WMI_NLO_CONFIG_ENLO_RESET       (0x1 << 9)
+#define WMI_NLO_CONFIG_ENLO                             (0x1 << 7)
+#define WMI_NLO_CONFIG_SCAN_PASSIVE                     (0x1 << 8)
+#define WMI_NLO_CONFIG_ENLO_RESET                       (0x1 << 9)
+#define WMI_NLO_CONFIG_SPOOFED_MAC_IN_PROBE_REQ         (0x1 << 10)
+#define WMI_NLO_CONFIG_RANDOM_SEQ_NO_IN_PROBE_REQ       (0x1 << 11)
+#define WMI_NLO_CONFIG_ENABLE_IE_WHITELIST_IN_PROBE_REQ (0x1 << 12)
 
 /* Whether directed scan needs to be performed (for hidden SSIDs) */
 #define WMI_ENLO_FLAG_DIRECTED_SCAN      1
@@ -10308,11 +10355,20 @@ typedef struct wmi_nlo_config {
 	A_UINT32 no_of_ssids;
 	A_UINT32 num_of_channels;
 	A_UINT32 delay_start_time;              /* NLO scan start delay time in milliseconds */
+	/** MAC Address to use in Probe Req as SA **/
+	wmi_mac_addr mac_addr;
+	/** Mask on which MAC has to be randomized **/
+	wmi_mac_addr mac_mask;
+	/** IE bitmap to use in Probe Req **/
+	A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE];
+	/** Number of vendor OUIs. In the TLV vendor_oui[] **/
+	A_UINT32 num_vendor_oui;
 	/* The TLVs will follow.
 	 * nlo_configured_parameters nlo_list[];
 	 * A_UINT32 channel_list[];
 	 * nlo_channel_prediction_cfg ch_prediction_cfg;
 	 * enlo_candidate_score_params candidate_score_params;
+	 * wmi_vendor_oui vendor_oui[];
 	 */
 
 } wmi_nlo_config_cmd_fixed_param;
@@ -12613,12 +12669,17 @@ typedef struct {
 	A_UINT32 ndp_app_info_len;
 	/** NDP channel configuration type defined in wmi_ndp_channel_cfg */
 	A_UINT32 ndp_channel_cfg;
+	/**  NAN Cipher Suite Shared Key */
+	A_UINT32 nan_csid;
+	/** Actual number of bytes in TLV nan_pmk */
+	A_UINT32 nan_pmk_len;
 	/**
 	 * TLV (tag length value ) parameters follow the ndp_initiator_req
 	 * structure. The TLV's are:
 	 * wmi_channel channel;
 	 * A_UINT8 ndp_cfg[];
 	 * A_UINT8 ndp_app_info[];
+	 * A_UINT8 nan_pmk[];
 	 */
 } wmi_ndp_initiator_req_fixed_param_PROTOTYPE;
 
@@ -12649,11 +12710,16 @@ typedef struct {
 	A_UINT32 ndp_cfg_len;
 	/** Number of bytes in TLV ndp_app_info */
 	A_UINT32 ndp_app_info_len;
+	/**  NAN Cipher Suite Shared Key */
+	A_UINT32 nan_csid;
+	/** Actual number of bytes in TLV nan_pmk */
+	A_UINT32 nan_pmk_len;
 	/**
 	 * TLV (tag length value ) parameters follow the ndp_responder_req
 	 * structure. The TLV's are:
 	 * A_UINT8 ndp_cfg[];
 	 * A_UINT8 ndp_app_info[];
+	 * A_UINT8 nan_pmk[];
 	 */
 } wmi_ndp_responder_req_fixed_param_PROTOTYPE;
 
@@ -12917,11 +12983,16 @@ typedef struct {
 	A_UINT32 ndp_cfg_len;
 	/** Number of bytes in TLV wmi_ndp_app_info */
 	A_UINT32 ndp_app_info_len;
+	/** Peer NAN Cipher Suite Shared Key */
+	A_UINT32 nan_csid;
+	/** Actual number of bytes in TLV nan_scid */
+	A_UINT32 nan_scid_len;
 	/**
 	 * TLV (tag length value ) parameters follow the ndp_indication
 	 * structure. The TLV's are:
 	 * A_UINT8 ndp_cfg[];
 	 * A_UINT8 ndp_app_info[];
+	 * A_UINT8 nan_scid[];
 	 */
 } wmi_ndp_indication_event_fixed_param_PROTOTYPE;
 

+ 1 - 1
fw/wmi_version.h

@@ -36,7 +36,7 @@
 #define __WMI_VER_MINOR_    0
 /** WMI revision number has to be incremented when there is a
  *  change that may or may not break compatibility */
-#define __WMI_REVISION_ 309
+#define __WMI_REVISION_ 316
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work