summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2017-10-09 09:05:59 -0700
committersnandini <snandini@codeaurora.org>2017-10-12 03:42:34 -0700
commit767fe632c8cdeebf0ee05bea015360168d44a856 (patch)
tree576a4b3353969b68e6d3b5d8bb6c960f53d0b091
parente649d78abdc6aeac02eb2bd349a3efb5261b73c8 (diff)
fw-api: CL 3554700 - update fw common interface files
Add WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMD msg def Change-Id: Ie13ca09ce0aa15304525f0875dd8a4a8501ab661 CRs-Fixed: 1107600
-rwxr-xr-xfw/wmi_tlv_defs.h10
-rwxr-xr-xfw/wmi_unified.h326
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 211 insertions, 127 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index 16c714942c31..b51356b6abcb 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -858,6 +858,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_request_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_update_ctltable_event_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_cnd_scoring_param,
+ WMITLV_TAG_STRUC_wmi_pdev_config_vendor_oui_action_fixed_param,
+ WMITLV_TAG_STRUC_wmi_vendor_oui_ext,
} WMITLV_TAG_ID;
/*
@@ -1202,6 +1204,7 @@ typedef enum {
OP(WMI_ROAM_BTM_CONFIG_CMDID) \
OP(WMI_WLM_CONFIG_CMDID) \
OP(WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID) \
+ OP(WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -2495,6 +2498,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_UPDATE_REQUEST_CMDID);
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);
+#define WMITLV_TABLE_WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_config_vendor_oui_action_fixed_param, \
+ wmi_pdev_config_vendor_oui_action_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vendor_oui_ext, vendor_oui_ext, WMITLV_SIZE_VAR) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID);
+
#define WMITLV_TABLE_WMI_CHATTER_ADD_COALESCING_FILTER_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len,WMITLV_TAG_STRUC_wmi_chatter_coalescing_add_filter_cmd_fixed_param, wmi_chatter_coalescing_add_filter_cmd_fixed_param, fixed_param,WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, chatter_pkt_coalescing_filter, coalescing_filter, WMITLV_SIZE_VAR)
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index 862f1626e4f2..306b8d9cf957 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -377,6 +377,8 @@ typedef enum {
WMI_PDEV_UPDATE_FILS_HLP_PKT_CMDID,
/** update ctltable request **/
WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID,
+ /** Command to set beacon OUI **/
+ WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID,
/* VDEV (virtual device) specific commands */
/** vdev create */
@@ -6631,12 +6633,6 @@ typedef struct {
#define WMI_MAX_HECAP_PHY_SIZE (3)
-
-
-
-
-
-
/* Dual Band both 2.4 GHz and 5 GHz Supported */
#define WMI_HECAP_PHY_DB_GET(he_cap_phy) WMI_GET_BITS(he_cap_phy[0], 0, 1)
#define WMI_HECAP_PHY_DB_SET(he_cap_phy, value) WMI_SET_BITS(he_cap_phy[0], 0, 1, value)
@@ -7316,55 +7312,55 @@ typedef enum {
/** RTS Threshold */
WMI_VDEV_PARAM_RTS_THRESHOLD = 0x1,
/** Fragmentation threshold */
- WMI_VDEV_PARAM_FRAGMENTATION_THRESHOLD,
+ WMI_VDEV_PARAM_FRAGMENTATION_THRESHOLD, /* 0x2 */
/** beacon interval in TUs */
- WMI_VDEV_PARAM_BEACON_INTERVAL,
+ WMI_VDEV_PARAM_BEACON_INTERVAL, /* 0x3 */
/** Listen interval in TUs */
- WMI_VDEV_PARAM_LISTEN_INTERVAL,
+ WMI_VDEV_PARAM_LISTEN_INTERVAL, /* 0x4 */
/** muticast rate in Mbps */
- WMI_VDEV_PARAM_MULTICAST_RATE,
+ WMI_VDEV_PARAM_MULTICAST_RATE, /* 0x5 */
/** management frame rate in Mbps */
- WMI_VDEV_PARAM_MGMT_TX_RATE,
+ WMI_VDEV_PARAM_MGMT_TX_RATE, /* 0x6 */
/** slot time (long vs short) */
- WMI_VDEV_PARAM_SLOT_TIME,
+ WMI_VDEV_PARAM_SLOT_TIME, /* 0x7 */
/** preamble (long vs short) */
- WMI_VDEV_PARAM_PREAMBLE,
+ WMI_VDEV_PARAM_PREAMBLE, /* 0x8 */
/** SWBA time (time before tbtt in msec) */
- WMI_VDEV_PARAM_SWBA_TIME,
+ WMI_VDEV_PARAM_SWBA_TIME, /* 0x9 */
/** time period for updating VDEV stats */
- WMI_VDEV_STATS_UPDATE_PERIOD,
+ WMI_VDEV_STATS_UPDATE_PERIOD, /* 0xa */
/** age out time in msec for frames queued for station in power save*/
- WMI_VDEV_PWRSAVE_AGEOUT_TIME,
+ WMI_VDEV_PWRSAVE_AGEOUT_TIME, /* 0xb */
/** Host SWBA interval (time in msec before tbtt for SWBA event generation) */
- WMI_VDEV_HOST_SWBA_INTERVAL,
+ WMI_VDEV_HOST_SWBA_INTERVAL, /* 0xc */
/** DTIM period (specified in units of num beacon intervals) */
- WMI_VDEV_PARAM_DTIM_PERIOD,
+ WMI_VDEV_PARAM_DTIM_PERIOD, /* 0xd */
/** scheduler air time limit for this VDEV. used by off chan scheduler */
- WMI_VDEV_OC_SCHEDULER_AIR_TIME_LIMIT,
+ WMI_VDEV_OC_SCHEDULER_AIR_TIME_LIMIT, /* 0xe */
/** enable/dsiable WDS for this VDEV */
- WMI_VDEV_PARAM_WDS,
+ WMI_VDEV_PARAM_WDS, /* 0xf */
/** ATIM Window */
- WMI_VDEV_PARAM_ATIM_WINDOW,
+ WMI_VDEV_PARAM_ATIM_WINDOW, /* 0x10 */
/** BMISS max */
- WMI_VDEV_PARAM_BMISS_COUNT_MAX,
+ WMI_VDEV_PARAM_BMISS_COUNT_MAX, /* 0x11 */
/** BMISS first time */
- WMI_VDEV_PARAM_BMISS_FIRST_BCNT,
+ WMI_VDEV_PARAM_BMISS_FIRST_BCNT, /* 0x12 */
/** BMISS final time */
- WMI_VDEV_PARAM_BMISS_FINAL_BCNT,
+ WMI_VDEV_PARAM_BMISS_FINAL_BCNT, /* 0x13 */
/** WMM enables/disabled */
- WMI_VDEV_PARAM_FEATURE_WMM,
+ WMI_VDEV_PARAM_FEATURE_WMM, /* 0x14 */
/** Channel width */
- WMI_VDEV_PARAM_CHWIDTH,
+ WMI_VDEV_PARAM_CHWIDTH, /* 0x15 */
/** Channel Offset */
- WMI_VDEV_PARAM_CHEXTOFFSET,
+ WMI_VDEV_PARAM_CHEXTOFFSET, /* 0x16 */
/** Disable HT Protection */
- WMI_VDEV_PARAM_DISABLE_HTPROTECTION,
+ WMI_VDEV_PARAM_DISABLE_HTPROTECTION, /* 0x17 */
/** Quick STA Kickout */
- WMI_VDEV_PARAM_STA_QUICKKICKOUT,
+ WMI_VDEV_PARAM_STA_QUICKKICKOUT, /* 0x18 */
/** Rate to be used with Management frames */
- WMI_VDEV_PARAM_MGMT_RATE,
+ WMI_VDEV_PARAM_MGMT_RATE, /* 0x19 */
/** Protection Mode */
- WMI_VDEV_PARAM_PROTECTION_MODE,
+ WMI_VDEV_PARAM_PROTECTION_MODE, /* 0x1a */
/** Fixed rate setting
* The top nibble is used to select which format to use for encoding
* the rate specification: 0xVXXXXXXX
@@ -7377,38 +7373,38 @@ typedef enum {
* host driver, or through WMI_SERVICE_READY PHY capabilities provided
* by the target).
*/
- WMI_VDEV_PARAM_FIXED_RATE,
+ WMI_VDEV_PARAM_FIXED_RATE, /* 0x1b */
/**
* 11AX: GI =
* WMI_GI_400_NS, WMI_GI_800_NS, WMI_GI_1600_NS, or WMI_GI_3200_NS
* 11N: SGI=WMI_GI_400_NS
*/
- WMI_VDEV_PARAM_SGI,
+ WMI_VDEV_PARAM_SGI, /* 0x1c */
/** Enable LDPC */
- WMI_VDEV_PARAM_LDPC,
+ WMI_VDEV_PARAM_LDPC, /* 0x1d */
/** Enable Tx STBC */
- WMI_VDEV_PARAM_TX_STBC,
+ WMI_VDEV_PARAM_TX_STBC, /* 0x1e */
/** Enable Rx STBC */
- WMI_VDEV_PARAM_RX_STBC,
+ WMI_VDEV_PARAM_RX_STBC, /* 0x1f */
/** Intra BSS forwarding */
- WMI_VDEV_PARAM_INTRA_BSS_FWD,
+ WMI_VDEV_PARAM_INTRA_BSS_FWD, /* 0x20 */
/** Setting Default xmit key for Vdev */
- WMI_VDEV_PARAM_DEF_KEYID,
+ WMI_VDEV_PARAM_DEF_KEYID, /* 0x21 */
/** NSS width */
- WMI_VDEV_PARAM_NSS,
+ WMI_VDEV_PARAM_NSS, /* 0x22 */
/** Set the custom rate for the broadcast data frames */
- WMI_VDEV_PARAM_BCAST_DATA_RATE,
+ WMI_VDEV_PARAM_BCAST_DATA_RATE, /* 0x23 */
/** Set the custom rate (rate-code) for multicast data frames */
- WMI_VDEV_PARAM_MCAST_DATA_RATE,
+ WMI_VDEV_PARAM_MCAST_DATA_RATE, /* 0x24 */
/** Tx multicast packet indicate Enable/Disable */
- WMI_VDEV_PARAM_MCAST_INDICATE,
+ WMI_VDEV_PARAM_MCAST_INDICATE, /* 0x25 */
/** Tx DHCP packet indicate Enable/Disable */
- WMI_VDEV_PARAM_DHCP_INDICATE,
+ WMI_VDEV_PARAM_DHCP_INDICATE, /* 0x26 */
/** Enable host inspection of Tx unicast packet to unknown destination */
- WMI_VDEV_PARAM_UNKNOWN_DEST_INDICATE,
+ WMI_VDEV_PARAM_UNKNOWN_DEST_INDICATE, /* 0x27 */
/* The minimum amount of time AP begins to consider STA inactive */
- WMI_VDEV_PARAM_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS,
+ WMI_VDEV_PARAM_AP_KEEPALIVE_MIN_IDLE_INACTIVE_TIME_SECS, /* 0x28 */
/* An associated STA is considered inactive when there is no recent TX/RX
* activity and no downlink frames are buffered for it. Once a STA exceeds
@@ -7417,28 +7413,28 @@ typedef enum {
* the data-null, or if the data-null is buffered and the STA does not
* retrieve it, the STA will be considered unresponsive (see
* WMI_VDEV_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS). */
- WMI_VDEV_PARAM_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS,
+ WMI_VDEV_PARAM_AP_KEEPALIVE_MAX_IDLE_INACTIVE_TIME_SECS, /* 0x29 */
/* An associated STA is considered unresponsive if there is no recent
* TX/RX activity and downlink frames are buffered for it. Once a STA
* exceeds the maximum unresponsive time, the AP will send a
* WMI_STA_KICKOUT event to the host so the STA can be deleted. */
- WMI_VDEV_PARAM_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS,
+ WMI_VDEV_PARAM_AP_KEEPALIVE_MAX_UNRESPONSIVE_TIME_SECS, /* 0x2a */
/* Enable NAWDS : MCAST INSPECT Enable, NAWDS Flag set */
- WMI_VDEV_PARAM_AP_ENABLE_NAWDS,
+ WMI_VDEV_PARAM_AP_ENABLE_NAWDS, /* 0x2b */
/** Enable/Disable RTS-CTS */
- WMI_VDEV_PARAM_ENABLE_RTSCTS,
+ WMI_VDEV_PARAM_ENABLE_RTSCTS, /* 0x2c */
/* Enable TXBFee/er */
- WMI_VDEV_PARAM_TXBF,
+ WMI_VDEV_PARAM_TXBF, /* 0x2d */
/**Set packet power save */
- WMI_VDEV_PARAM_PACKET_POWERSAVE,
+ WMI_VDEV_PARAM_PACKET_POWERSAVE, /* 0x2e */
/**Drops un-encrypted packets if any received in an encryted connection
* otherwise forwards to host
*/
- WMI_VDEV_PARAM_DROP_UNENCRY,
+ WMI_VDEV_PARAM_DROP_UNENCRY, /* 0x2f */
/*
* Set TX encap type.
@@ -7446,7 +7442,7 @@ typedef enum {
* enum wmi_pkt_type is to be used as the parameter
* specifying the encap type.
*/
- WMI_VDEV_PARAM_TX_ENCAP_TYPE,
+ WMI_VDEV_PARAM_TX_ENCAP_TYPE, /* 0x30 */
/*
* Try to detect stations that woke-up and exited power save but did not
@@ -7458,7 +7454,7 @@ typedef enum {
*
* 0 disables out-of-sync detection. Maximum time is 255 seconds.
*/
- WMI_VDEV_PARAM_AP_DETECT_OUT_OF_SYNC_SLEEPING_STA_TIME_SECS,
+ WMI_VDEV_PARAM_AP_DETECT_OUT_OF_SYNC_SLEEPING_STA_TIME_SECS, /* 0x31 */
/* Enable/Disable early rx dynamic adjust feature.
* Early-rx dynamic adjust is a advance power save feature.
@@ -7467,127 +7463,127 @@ typedef enum {
* In current code branch, the duration is set to a very conservative fix value to make sure the drift impact is minimum.
* The fix early-tx will result in the unnessary power consume, so a dynamic early-rx adjust algorithm can be designed
* properly to minimum the power consume.*/
- WMI_VDEV_PARAM_EARLY_RX_ADJUST_ENABLE,
+ WMI_VDEV_PARAM_EARLY_RX_ADJUST_ENABLE, /* 0x32 */
/* set target bmiss number per sample cycle if bmiss adjust was chosen.
* In this adjust policy,early-rx is adjusted by comparing the current bmiss rate to target bmiss rate
* which can be set by user through WMI command.
*/
- WMI_VDEV_PARAM_EARLY_RX_TGT_BMISS_NUM,
+ WMI_VDEV_PARAM_EARLY_RX_TGT_BMISS_NUM, /* 0x33 */
/* set sample cycle(in the unit of beacon interval) if bmiss adjust was chosen */
- WMI_VDEV_PARAM_EARLY_RX_BMISS_SAMPLE_CYCLE,
+ WMI_VDEV_PARAM_EARLY_RX_BMISS_SAMPLE_CYCLE, /* 0x34 */
/* set slop_step */
- WMI_VDEV_PARAM_EARLY_RX_SLOP_STEP,
+ WMI_VDEV_PARAM_EARLY_RX_SLOP_STEP, /* 0x35 */
/* set init slop */
- WMI_VDEV_PARAM_EARLY_RX_INIT_SLOP,
+ WMI_VDEV_PARAM_EARLY_RX_INIT_SLOP, /* 0x36 */
/* pause adjust enable/disable */
- WMI_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE,
+ WMI_VDEV_PARAM_EARLY_RX_ADJUST_PAUSE, /* 0x37 */
/* Set channel pwr limit value of the vdev the minimal value of all
* vdevs operating on this channel will be set as channel tx power
* limit, which is used to configure ratearray
*/
- WMI_VDEV_PARAM_TX_PWRLIMIT,
+ WMI_VDEV_PARAM_TX_PWRLIMIT, /* 0x38 */
/* set the count of snr value for calculation in snr monitor */
- WMI_VDEV_PARAM_SNR_NUM_FOR_CAL,
+ WMI_VDEV_PARAM_SNR_NUM_FOR_CAL, /* 0x39 */
/** Roaming offload */
- WMI_VDEV_PARAM_ROAM_FW_OFFLOAD,
+ WMI_VDEV_PARAM_ROAM_FW_OFFLOAD, /* 0x3a */
/** Enable Leader request RX functionality for RMC */
- WMI_VDEV_PARAM_ENABLE_RMC,
+ WMI_VDEV_PARAM_ENABLE_RMC, /* 0x3b */
/* IBSS does not have deauth/disassoc, vdev has to detect peer gone event
* by himself. If the beacon lost time exceed this threshold, the peer is
* thought to be gone. */
- WMI_VDEV_PARAM_IBSS_MAX_BCN_LOST_MS,
+ WMI_VDEV_PARAM_IBSS_MAX_BCN_LOST_MS, /* 0x3c */
/** max rate in kpbs, transmit rate can't go beyond it */
- WMI_VDEV_PARAM_MAX_RATE,
+ WMI_VDEV_PARAM_MAX_RATE, /* 0x3d */
/* enable/disable drift sample. 0: disable; 1: clk_drift; 2: ap_drift; 3 both clk and ap drift*/
- WMI_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE,
+ WMI_VDEV_PARAM_EARLY_RX_DRIFT_SAMPLE, /* 0x3e */
/* set Tx failure count threshold for the vdev */
- WMI_VDEV_PARAM_SET_IBSS_TX_FAIL_CNT_THR,
+ WMI_VDEV_PARAM_SET_IBSS_TX_FAIL_CNT_THR, /* 0x3f */
/* set ebt resync timeout value, in the unit of TU */
- WMI_VDEV_PARAM_EBT_RESYNC_TIMEOUT,
+ WMI_VDEV_PARAM_EBT_RESYNC_TIMEOUT, /* 0x40 */
/* Enable Aggregation State Trigger Event */
- WMI_VDEV_PARAM_AGGR_TRIG_EVENT_ENABLE,
+ WMI_VDEV_PARAM_AGGR_TRIG_EVENT_ENABLE, /* 0x41 */
/* This parameter indicates whether IBSS station can enter into power save
* mode by sending Null frame (with PM=1). When not allowed, IBSS station has to stay
* awake all the time and should never set PM=1 in its transmitted frames.
* This parameter is meaningful/valid only when WMI_VDEV_PARAM_ATIM_WINDOW_LENGTH
* is non-zero. */
- WMI_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED,
+ WMI_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED, /* 0x42 */
/* This parameter indicates if this station can enter into power collapse
* for the remaining beacon interval after the ATIM window.
* This parameter is meaningful/valid only when WMI_VDEV_PARAM_IS_IBSS_POWER_SAVE_ALLOWED
* is set to TRUE. */
- WMI_VDEV_PARAM_IS_POWER_COLLAPSE_ALLOWED,
+ WMI_VDEV_PARAM_IS_POWER_COLLAPSE_ALLOWED, /* 0x43 */
/* This parameter indicates whether IBSS station exit power save mode and
* enter power active state (by sending Null frame with PM=0 in the immediate ATIM Window)
* whenever there is a TX/RX activity. */
- WMI_VDEV_PARAM_IS_AWAKE_ON_TXRX_ENABLED,
+ WMI_VDEV_PARAM_IS_AWAKE_ON_TXRX_ENABLED, /* 0x44 */
/* If Awake on TX/RX activity is enabled, this parameter indicates
* the data inactivity time in number of beacon intervals after which
* IBSS station reenters power save by sending Null frame with PM=1. */
- WMI_VDEV_PARAM_INACTIVITY_CNT,
+ WMI_VDEV_PARAM_INACTIVITY_CNT, /* 0x45 */
/* Inactivity time in msec after which TX Service Period (SP) is
* terminated by sending a Qos Null frame with EOSP.
* If value is 0, TX SP is terminated with the last buffered packet itself
* instead of waiting for the inactivity timeout. */
- WMI_VDEV_PARAM_TXSP_END_INACTIVITY_TIME_MS,
+ WMI_VDEV_PARAM_TXSP_END_INACTIVITY_TIME_MS, /* 0x46 */
/** DTIM policy */
- WMI_VDEV_PARAM_DTIM_POLICY,
+ WMI_VDEV_PARAM_DTIM_POLICY, /* 0x47 */
/* When IBSS network is initialized, PS-supporting device
* does not enter protocol sleep state during first
* WMI_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS seconds. */
- WMI_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS,
+ WMI_VDEV_PARAM_IBSS_PS_WARMUP_TIME_SECS, /* 0x48 */
/* Enable/Disable 1 RX chain usage during the ATIM window */
- WMI_VDEV_PARAM_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_ENABLE,
+ WMI_VDEV_PARAM_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_ENABLE, /* 0x49 */
/* RX Leak window is the time driver waits before shutting down
* the radio or switching the channel and after receiving an ACK
* for a data frame with PM bit set) */
- WMI_VDEV_PARAM_RX_LEAK_WINDOW,
+ WMI_VDEV_PARAM_RX_LEAK_WINDOW, /* 0x4a */
/** Averaging factor(16 bit value) is used in the calculations to
* perform averaging of different link level statistics like average
* beacon spread or average number of frames leaked */
- WMI_VDEV_PARAM_STATS_AVG_FACTOR,
+ WMI_VDEV_PARAM_STATS_AVG_FACTOR, /* 0x4b */
/** disconnect threshold, once the consecutive error for specific peer
* exceed this threhold, FW will send kickout event to host */
- WMI_VDEV_PARAM_DISCONNECT_TH,
+ WMI_VDEV_PARAM_DISCONNECT_TH, /* 0x4c */
/** The rate_code of RTS_CTS changed by host. Now FW can support
* more non-HT rates rather than 1Mbps or 6Mbps */
- WMI_VDEV_PARAM_RTSCTS_RATE,
+ WMI_VDEV_PARAM_RTSCTS_RATE, /* 0x4d */
/** This parameter indicates whether using a long duration RTS-CTS
* protection when a SAP goes off channel in MCC mode */
- WMI_VDEV_PARAM_MCC_RTSCTS_PROTECTION_ENABLE,
+ WMI_VDEV_PARAM_MCC_RTSCTS_PROTECTION_ENABLE, /* 0x4e */
/** This parameter indicates whether using a broadcast probe response
* to increase the detectability of SAP in MCC mode */
- WMI_VDEV_PARAM_MCC_BROADCAST_PROBE_ENABLE,
+ WMI_VDEV_PARAM_MCC_BROADCAST_PROBE_ENABLE, /* 0x4f */
/** This parameter indicates the power backoff in percentage
* currently supports 100%, 50%, 25%, 12.5%, and minimum
@@ -7595,61 +7591,61 @@ typedef enum {
* 0 --> 100% --> no changes, 1 --> 50% --> -3dB,
* 2 --> 25% --> -6dB, 3 --> 12.5% --> -9dB, 4 --> minimum --> -32dB
*/
- WMI_VDEV_PARAM_TXPOWER_SCALE,
+ WMI_VDEV_PARAM_TXPOWER_SCALE, /* 0x50 */
/** TX power backoff in dB: tx power -= param value
* Host passes values(DB) to Halphy, Halphy reduces the power table
* by the values. Safety check will happen in Halphy.
*/
- WMI_VDEV_PARAM_TXPOWER_SCALE_DECR_DB,
+ WMI_VDEV_PARAM_TXPOWER_SCALE_DECR_DB, /* 0x51 */
/** Multicast to Unicast conversion setting */
- WMI_VDEV_PARAM_MCAST2UCAST_SET,
+ WMI_VDEV_PARAM_MCAST2UCAST_SET, /* 0x52 */
/** Total number of HW retries */
- WMI_VDEV_PARAM_RC_NUM_RETRIES,
+ WMI_VDEV_PARAM_RC_NUM_RETRIES, /* 0x53 */
/** Max tx percentage for cabq */
- WMI_VDEV_PARAM_CABQ_MAXDUR,
+ WMI_VDEV_PARAM_CABQ_MAXDUR, /* 0x54 */
/** MFPTEST settings */
- WMI_VDEV_PARAM_MFPTEST_SET,
+ WMI_VDEV_PARAM_MFPTEST_SET, /* 0x55 */
/** RTS Fixed rate setting */
- WMI_VDEV_PARAM_RTS_FIXED_RATE,
+ WMI_VDEV_PARAM_RTS_FIXED_RATE, /* 0x56 */
/** VHT SGI MASK */
- WMI_VDEV_PARAM_VHT_SGIMASK,
+ WMI_VDEV_PARAM_VHT_SGIMASK, /* 0x57 */
/** VHT80 Auto Rate MASK */
- WMI_VDEV_PARAM_VHT80_RATEMASK,
+ WMI_VDEV_PARAM_VHT80_RATEMASK, /* 0x58 */
/** set Proxy STA features for this vap */
- WMI_VDEV_PARAM_PROXY_STA,
+ WMI_VDEV_PARAM_PROXY_STA, /* 0x59 */
/** set virtual cell mode - enable/disable */
- WMI_VDEV_PARAM_VIRTUAL_CELL_MODE,
+ WMI_VDEV_PARAM_VIRTUAL_CELL_MODE, /* 0x5a */
/** Set receive packet type */
- WMI_VDEV_PARAM_RX_DECAP_TYPE,
+ WMI_VDEV_PARAM_RX_DECAP_TYPE, /* 0x5b */
/** Set ratemask with specific Bandwidth and NSS */
- WMI_VDEV_PARAM_BW_NSS_RATEMASK,
+ WMI_VDEV_PARAM_BW_NSS_RATEMASK, /* 0x5c */
/** Set SENSOR Support */
- WMI_VDEV_PARAM_SENSOR_AP,
+ WMI_VDEV_PARAM_SENSOR_AP, /* 0x5d */
/** Set beacon rate */
- WMI_VDEV_PARAM_BEACON_RATE,
+ WMI_VDEV_PARAM_BEACON_RATE, /* 0x5e */
/** Enable CTS to self for DTIM beacon */
- WMI_VDEV_PARAM_DTIM_ENABLE_CTS,
+ WMI_VDEV_PARAM_DTIM_ENABLE_CTS, /* 0x5f */
/** Disable station kickout at Vap level */
- WMI_VDEV_PARAM_STA_KICKOUT,
+ WMI_VDEV_PARAM_STA_KICKOUT, /* 0x60 */
/* VDEV capabilities */
- WMI_VDEV_PARAM_CAPABILITIES, /* see capabilities defs below */
+ WMI_VDEV_PARAM_CAPABILITIES, /* see capabilities defs below */ /* 0x61 */
/**
* Increment TSF in micro seconds to avoid beacon collision on mesh VAP.
@@ -7657,7 +7653,7 @@ typedef enum {
* this vdev, or else that it is acceptable to apply this TSF adjustment
* to all vdevs sharing the TSF.
*/
- WMI_VDEV_PARAM_TSF_INCREMENT,
+ WMI_VDEV_PARAM_TSF_INCREMENT, /* 0x62 */
/** Disable/Enable AMPDU of vdev per AC:
* bit | AC
@@ -7669,7 +7665,7 @@ typedef enum {
* A value of 0 in a given bit disables A-MPDU aggregation for
* that AC; a value of 1 enables A-MPDU aggregation
*/
- WMI_VDEV_PARAM_AMPDU_PER_AC,
+ WMI_VDEV_PARAM_AMPDU_PER_AC, /* 0x63 */
/**
* Vdev level rx filter of from-ds / to-ds / no-ds / ta / ra frames.
@@ -7677,42 +7673,42 @@ typedef enum {
* The parameter value delivered with the RX_FILTER vdev param contains
* a bit-or mask of wmi_vdev_param_filter enum values.
*/
- WMI_VDEV_PARAM_RX_FILTER,
+ WMI_VDEV_PARAM_RX_FILTER, /* 0x64 */
/** vdev-specific mgmt tx power in dBm units (signed integer value) */
- WMI_VDEV_PARAM_MGMT_TX_POWER,
+ WMI_VDEV_PARAM_MGMT_TX_POWER, /* 0x65 */
/** Vdev level non aggregration/11g sw retry threshold. 0-disable, min:0, max:31, default:15 */
- WMI_VDEV_PARAM_NON_AGG_SW_RETRY_TH,
+ WMI_VDEV_PARAM_NON_AGG_SW_RETRY_TH, /* 0x66 */
/** Vdev level aggregration sw retry threshold. 0-disable, min:0, max:31, default:15 */
- WMI_VDEV_PARAM_AGG_SW_RETRY_TH,
+ WMI_VDEV_PARAM_AGG_SW_RETRY_TH, /* 0x67 */
/** disable dynamic bw RTS **/
- WMI_VDEV_PARAM_DISABLE_DYN_BW_RTS,
+ WMI_VDEV_PARAM_DISABLE_DYN_BW_RTS, /* 0x68 */
/** per ssid (vdev) based ATF strict/fair scheduling policy
* param values are WMI_ATF_SSID_FAIR_SCHED or WMI_ATF_SSID_STRICT_SCHED
*/
- WMI_VDEV_PARAM_ATF_SSID_SCHED_POLICY,
+ WMI_VDEV_PARAM_ATF_SSID_SCHED_POLICY, /* 0x69 */
/** Enable or disable Dual carrier modulation
* valid values: 0-Disable DCM, 1-Enable DCM.
*/
- WMI_VDEV_PARAM_HE_DCM,
+ WMI_VDEV_PARAM_HE_DCM, /* 0x6a */
/** Enable or disable Extended range
* valid values: 0-Disable ER, 1-Enable ER.
*/
- WMI_VDEV_PARAM_HE_RANGE_EXT,
+ WMI_VDEV_PARAM_HE_RANGE_EXT, /* 0x6b */
/* enable or disable BCAST probe response feature */
- WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE,
+ WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE, /* 0x6c */
/* param to specify probe request Tx delay during Fast Initial Link Setup */
- WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME, /* units = milliseconds */
+ WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME, /* units = milliseconds */ /* 0x6d */
/* enable or disable NOA for P2P GO */
- WMI_VDEV_PARAM_DISABLE_NOA_P2P_GO,
+ WMI_VDEV_PARAM_DISABLE_NOA_P2P_GO, /* 0x6e */
/** Per band user management frame fix rate setting
* BIT 31: enable (1) or disable (0) mgmt fix rate for 5G
@@ -7724,9 +7720,9 @@ typedef enum {
* BIT 11: 11ax (1) or legacy (0) rate code
* BITS [10..0]: rate code for 2G
*/
- WMI_VDEV_PARAM_PER_BAND_MGMT_TX_RATE,
+ WMI_VDEV_PARAM_PER_BAND_MGMT_TX_RATE, /* 0x6f */
/* This should be called before WMI_VDEV_PARAM_TXBF */
- WMI_VDEV_PARAM_11AX_TXBF,
+ WMI_VDEV_PARAM_11AX_TXBF, /* 0x70 */
/** This parameter indicates whether VDEV is SMPS intolerant.
* I.e. - SMPS action frame cannot be transmitted by the VDEV to
@@ -7734,17 +7730,17 @@ typedef enum {
*
* valid values: 1 - VDEV is SMPS intolerant, 0 - VDEV is SMPS tolerant
*/
- WMI_VDEV_PARAM_SMPS_INTOLERANT,
+ WMI_VDEV_PARAM_SMPS_INTOLERANT, /* 0x71 */
/** specify probe request Tx delay for scans triggered on this VDEV */
- WMI_VDEV_PARAM_PROBE_DELAY, /* units = milliseconds */
+ WMI_VDEV_PARAM_PROBE_DELAY, /* units = milliseconds */ /* 0x72 */
/** specify the time gap between each set of probe request transmissions.
* The number of probe requests in each set depends on the ssid_list and
* bssid_list in the scan request.
* This parameter will be applied only for scans triggered on this VDEV.
*/
- WMI_VDEV_PARAM_REPEAT_PROBE_TIME, /* units = milliseconds */
+ WMI_VDEV_PARAM_REPEAT_PROBE_TIME, /* units = milliseconds */ /* 0x73 */
/** specify the HE LTF setting that should be used for fixed rate
* transmissions.
@@ -7752,7 +7748,7 @@ typedef enum {
* Expects values of WMI_HE_LTF_DEFAULT, WMI_HE_LTF_1X, WMI_HE_LTF_2X,
* or WMI_HE_LTF_4X.
*/
- WMI_VDEV_PARAM_HE_LTF,
+ WMI_VDEV_PARAM_HE_LTF, /* 0x74 */
/** VDEV parameter to configure the number of TX chains to use for
* a/b/g rates.
@@ -7763,7 +7759,7 @@ typedef enum {
* Should not exceed the maximum number of supported TX Chains
* 0 - Used to reset the vote. Acts as Don't Care
*/
- WMI_VDEV_PARAM_ABG_MODE_TX_CHAIN_NUM,
+ WMI_VDEV_PARAM_ABG_MODE_TX_CHAIN_NUM, /* 0x75 */
/*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
* The below vdev param types are used for prototyping, and are
@@ -7772,7 +7768,7 @@ typedef enum {
WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
/* 11AX SPECIFIC defines */
/* USE this for BSS color change */
- WMI_VDEV_PARAM_BSS_COLOR,
+ WMI_VDEV_PARAM_BSS_COLOR, /* 0x8001 */
/*
* Enable / disable trigger access for a AP vdev's peers.
* For a STA mode vdev this will enable/disable triggered access
@@ -7788,9 +7784,9 @@ typedef enum {
* 8 Enable UL OFDMA
* 9 Enable UL MUMIMO
*/
- WMI_VDEV_PARAM_SET_HEMU_MODE,
- WMI_VDEV_PARAM_HEOPS_0_31,
- WMI_VDEV_PARAM_OBSSPD,
+ WMI_VDEV_PARAM_SET_HEMU_MODE, /* 0x8002 */
+ WMI_VDEV_PARAM_HEOPS_0_31, /* 0x8003 */
+ WMI_VDEV_PARAM_OBSSPD, /* 0x8004 */
/*=== END VDEV_PARAM_PROTOTYPE SECTION ===*/
} WMI_VDEV_PARAM;
@@ -12304,6 +12300,83 @@ typedef struct {
wmi_mac_addr mcc_bssid;
} wmi_vdev_mcc_set_tbtt_mode_cmd_fixed_param;
+#define WMI_MAX_VENDOR_OUI_ACTION_SUPPORTED_PER_ACTION 10
+#define WMI_MAX_VENDOR_OUI_DATA_LENGTH 20
+
+typedef enum
+{
+ WMI_VENDOR_OUI_ACTION_CONNECTION_1X1 = 0, /* Connect in 1X1 only */
+ WMI_VENDOR_OUI_ACTION_ITO_EXTENSION = 1, /* Extend the Immediate Time-Out (ITO) if data is not received from AP after beacon with TIM bit set */
+ WMI_VENDOR_OUI_ACTION_CCKM_1X1 = 2, /* TX (only) CCKM rates with 1 chain only */
+ /* Add any action before this line */
+ WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID
+} wmi_vendor_oui_action_id;
+
+typedef struct {
+ A_UINT32 tlv_header;
+ /** vendor OUI actions */
+ A_UINT32 action_id; /* enum wmi_vendor_oui_action_id */
+ A_UINT32 total_num_vendor_oui; /* total number of OUI present in ini for all actions.
+ ** For first command, this value will be used for allocating memory in FW accordingly */
+ A_UINT32 num_vendor_oui_ext; /* the number of wmi_vendor_oui_ext for action_id */
+ /* followed by TLVs, an array of structure of type wmi_vendor_oui_ext
+ ** wmi_vendor_oui_ext vendor_oui_ext[num_vendor_oui_ext];
+ */
+ /* followed by A_UINT8 data[] of concatenated data for each vendor_oui_ext[] element
+ ** first byte contains the index i of structure vendor_oui_ext[]
+ ** for which data is coming and length of the data is extracted as
+ ** wmi_vendor_oui_ext[i].buf_data_length. No padding between data of
+ ** N th OUI and (N+1) th OUI.
+ ** For example, if vendor_oui_ext[0].buf_data_length is 18, then
+ ** data[0] will hold the index value 0, data[1] through data[17]
+ ** will hold the OUI data for this first OUI, data[18] will hold
+ ** the index value 1, and the OUI data for the second OUI will
+ ** begin at data[19].
+ */
+} wmi_pdev_config_vendor_oui_action_fixed_param;
+
+typedef enum {
+ WMI_BEACON_INFO_PRESENCE_OUI_EXT = 1 << 0,
+ WMI_BEACON_INFO_PRESENCE_MAC_ADDRESS = 1 << 1,
+ WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_NSS = 1 << 2,
+ WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_HT = 1 << 3,
+ WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_VHT = 1 << 4,
+ WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_BAND = 1 << 5,
+} wmi_beacon_info_presence_items;
+
+typedef struct _wmi_vendor_oui_ext {
+ A_UINT32 tlv_header;
+ A_UINT32 buf_data_length; /* length of data in bytes for this OUI including index byte */
+ A_UINT32 info_presence_bit_mask; /* see enum wmi_beacon_info_presence_items */
+ A_UINT32 oui_header_length; /* either 3 or 5 bytes */
+ A_UINT32 oui_data_length; /* length of oui_data to compare in beacon which follows OUI header. Max length is capped to WMI_MAX_VENDOR_OUI_DATA_LENGTH bytes */
+ A_UINT32 mac_address_length; /* MAC address length in bytes
+ ** (This value will always be 6,
+ ** but is explicitly specified for sake
+ ** of uniformity and completeness).
+ */
+ A_UINT32 capability_data_length; /* length of capability in bytes */
+} wmi_vendor_oui_ext;
+
+#define WMI_INFO_CAPABILITY_NSS_MASK 0x0f
+#define WMI_INFO_CAPABILITY_NSS_OFFSET 0
+#define WMI_INFO_CAPABILITY_HT_ENABLE_MASK 0x10
+#define WMI_INFO_CAPABILITY_HT_ENABLE_OFFSET 4
+#define WMI_INFO_CAPABILITY_VHT_ENABLE_MASK 0x20
+#define WMI_INFO_CAPABILITY_VHT_ENABLE_OFFSET 5
+#define WMI_INFO_CAPABILITY_BAND_MASK 0xc0
+#define WMI_INFO_CAPABILITY_BAND_OFFSET 6
+
+/* definition of WMI_INFO_CAPABILITY_NSS_MASK */
+#define WMI_INFO_CAPABILITY_NSS_1X1 1
+#define WMI_INFO_CAPABILITY_NSS_2X2 2
+#define WMI_INFO_CAPABILITY_NSS_3X3 3
+#define WMI_INFO_CAPABILITY_NSS_4X4 4
+
+/* definition of WMI_INFO_CAPABILITY_BAND_MASK */
+#define WMI_INFO_CAPABILITY_2G_BAND_MASK (1 << 0)
+#define WMI_INFO_CAPABILITY_5G_BAND_MASK (1 << 1)
+
typedef struct {
A_UINT32 tlv_header;
A_UINT32 vdev_id; /* home vdev id */
@@ -20235,6 +20308,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_ROAM_BTM_CONFIG_CMDID);
WMI_RETURN_STRING(WMI_WLM_CONFIG_CMDID);
WMI_RETURN_STRING(WMI_PDEV_UPDATE_CTLTABLE_REQUEST_CMDID);
+ WMI_RETURN_STRING(WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID);
}
return "Invalid WMI cmd";
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 14f053f1d9a5..6c967356fe5b 100755
--- 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_ 445
+#define __WMI_REVISION_ 446
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work