From 62f7c8015a08b2b1f3bd7c97e3e6aa83b3496b7e Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 31 May 2018 16:48:14 -0700 Subject: [PATCH] fw-api: CL 4703725 - update fw common interface files Change-Id: I97f6f02f4a48e6f0d3e0a3af465551fed80c310c WMI: MBSSID configuration CRs-Fixed: 1107600 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 22 ++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 70b6e9daf679..e9bbeff19d90 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -254,6 +254,7 @@ typedef enum { WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_SCC_SUPPORT=158, /* Support dual beacon on same channel on single MAC */ WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_MCC_SUPPORT=159, /* Support dual beacon on different channel on single MAC */ WMI_SERVICE_MOTION_DET=160, /* support for motion detection config */ + WMI_SERVICE_INFRA_MBSSID=161, /* support infra multi-BSSID feature */ /******* ADD NEW SERVICES HERE *******/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 9a6c5dc558bf..19e2e3f1897f 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2315,6 +2315,11 @@ typedef struct { * is equal to or less than the target capability limit reported here. */ A_UINT32 max_nlo_ssids; + /* ref to section 8.4.2.48 Multiple BSSID element + * The Max BSSID Indicator field contains a value assigned to n, + * where 2^n is the maximum number of BSSIDs + */ + A_UINT32 max_bssid_indicator; } wmi_service_ready_ext_event_fixed_param; typedef enum { @@ -2880,6 +2885,12 @@ typedef struct { * 0 - fw chooses its default value: 'num_vdevs' of this structure. */ A_UINT32 num_max_sta_vdevs; + + /* ref to section 8.4.2.48 Multiple BSSID element + * The Max BSSID Indicator field contains a value assigned to n, + * where 2^n is the maximum number of BSSIDs + */ + A_UINT32 max_bssid_indicator; } wmi_resource_config; #define WMI_RSRC_CFG_FLAG_SET(word32, flag, value) \ @@ -7031,6 +7042,11 @@ typedef struct { */ } wmi_per_chain_rssi_stats; +/* vdev control flags (per bits) */ +#define VDEV_FLAGS_NON_MBSSID_AP 0x00000001 /* legacy AP */ +#define VDEV_FLAGS_TRANSMIT_AP 0x00000002 /* indicate if this vdev is transmitting AP */ +#define VDEV_FLAGS_NON_TRANSMIT_AP 0x00000004 /* explicitly indicate this vdev is non-transmitting AP */ + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */ /** unique id identifying the VDEV, generated by the caller */ @@ -7048,6 +7064,10 @@ typedef struct { * See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; + /** control flags for this vdev */ + A_UINT32 flags; + /** vdevid of transmitted AP (mbssid case) */ + A_UINT32 vdevid_trans; /* This TLV is followed by another TLV of array of structures * wmi_vdev_txrx_streams cfg_txrx_streams[]; */ @@ -8860,6 +8880,8 @@ typedef struct { * is 0, 1, 4 and 5, set the bitmap to (0X80000033) */ A_UINT32 csa_event_bitmap; + /** offset (in octets/bytes) of MBSSID IE in beacon frame */ + A_UINT32 mbssid_ie_offset; /* * The TLVs follows: diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fe0ac9170459..ff8238d1c729 100644 --- a/fw/wmi_version.h +++ b/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_ 542 +#define __WMI_REVISION_ 543 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work