Browse Source

qcacld-3.0: CL 1506155 – update fw common interface files

Propagation from qcacld-2.0 to qcacld-3.0

WMI bandwidth fairness peer configuration command message
definition.

Change-Id: I8023e8a4f9758d6003a3f666cc45c1e98265c01a
CRs-Fixed: 865207
Himanshu Agarwal 9 years ago
parent
commit
134b73687b
3 changed files with 51 additions and 6 deletions
  1. 13 2
      target/inc/wmi_tlv_defs.h
  2. 37 3
      target/inc/wmi_unified.h
  3. 1 1
      target/inc/wmi_version.h

+ 13 - 2
target/inc/wmi_tlv_defs.h

@@ -704,6 +704,8 @@ typedef enum {
 	WMITLV_TAG_STRUC_wmi_scan_adaptive_dwell_config_fixed_param,
 	WMITLV_TAG_STRUC_wmi_wow_set_action_wake_up_cmd_fixed_param,
 	WMITLV_TAG_STRUC_wmi_ndp_end_rsp_per_ndi,
+	WMITLV_TAG_STRUC_wmi_peer_bwf_request_fixed_param,
+	WMITLV_TAG_STRUC_wmi_bwf_peer_info,
 } WMITLV_TAG_ID;
 
 /*
@@ -988,7 +990,9 @@ typedef enum {
 	OP(WMI_PDEV_WAL_POWER_DEBUG_CMDID) \
 	OP(WMI_VDEV_WISA_CMDID) \
 	OP(WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID) \
-	OP(WMI_WOW_SET_ACTION_WAKE_UP_CMDID)
+	OP(WMI_WOW_SET_ACTION_WAKE_UP_CMDID) \
+	OP(WMI_PEER_BWF_REQUEST_CMDID) \
+	/* add new CMD_LIST elements above this line */
 
 /*
  * IMPORTANT: Please add _ALL_ WMI Events Here.
@@ -1137,7 +1141,8 @@ typedef enum {
 	OP(WMI_PDEV_SET_HW_MODE_RESP_EVENTID) \
 	OP(WMI_PDEV_HW_MODE_TRANSITION_EVENTID) \
 	OP(WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID) \
-	OP(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID)
+	OP(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID) \
+	/* add new EVT_LIST elements above this line */
 
 /* TLV definitions of WMI commands */
 
@@ -2832,6 +2837,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SET_PERIODIC_CHANNEL_STATS_CONFIG_CMDID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, args, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_WAL_POWER_DEBUG_CMDID);
 
+/* Bandwidth Fairness (BWF) peer configure commands */
+#define WMITLV_TABLE_WMI_PEER_BWF_REQUEST_CMDID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_bwf_request_fixed_param, wmi_peer_bwf_request_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_bwf_peer_info, peer_info, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_PEER_BWF_REQUEST_CMDID);
+
 
 /************************** TLV definitions of WMI events *******************************/
 

+ 37 - 3
target/inc/wmi_unified.h

@@ -440,6 +440,8 @@ typedef enum {
 	WMI_PEER_SMART_ANT_SET_NODE_CONFIG_OPS_CMDID,
 	/** ATF PEER REQUEST commands */
 	WMI_PEER_ATF_REQUEST_CMDID,
+	/** bandwidth fairness (BWF) peer configuration request command */
+	WMI_PEER_BWF_REQUEST_CMDID,
 
 	/* beacon/management specific commands */
 
@@ -2854,8 +2856,6 @@ typedef struct {
 	 */
 } wmi_mgmt_rx_hdr;
 
-/* WMI PHY Error RX */
-
 typedef struct {
 	/** TSF timestamp */
 	A_UINT32 tsf_timestamp;
@@ -15031,10 +15031,44 @@ typedef struct {
 	A_UINT32 num_peers;
 	/*
 	 * Following this structure is the TLV:
-	 * struct wmi_atf_peer_info peer_info[1];
+	 * struct wmi_atf_peer_info peer_info[num_peers];
 	 */
 } wmi_peer_atf_request_fixed_param;
 
+/* Structure for Bandwidth Fairness peer information */
+typedef struct {
+	/*
+	 * TLV tag and len; tag equals
+	 * WMITLV_TAG_STRUC_wmi_bwf_peer_info
+	 */
+	A_UINT32 tlv_header;
+	wmi_mac_addr peer_macaddr;
+	/* BWF guaranteed_bandwidth for the peers in mbps */
+	A_UINT32 bwf_guaranteed_bandwidth;
+	/*
+	 * BWF Maximum airtime percentage that can be allocated
+	 * to the peer to meet the guaranteed_bandwidth
+	 */
+	A_UINT32 bwf_max_airtime;
+	/* BWF priority of the peer to allocate the tokens dynamically */
+	A_UINT32 bwf_peer_priority;
+} wmi_bwf_peer_info;
+
+/* Structure for Bandwidth Fairness peer request */
+typedef struct {
+	/*
+	 * TLV tag and len; tag equals
+	 * WMITLV_TAG_STRUC_wmi_peer_bwf_request_fixed_param
+	 */
+	A_UINT32 tlv_header;
+	A_UINT32 num_peers;
+	/*
+	 * Following this structure is the TLV:
+	 * struct wmi_bwf_peer_info peer_info[num_peers];
+	 */
+} wmi_peer_bwf_request_fixed_param;
+
+
 /* Equal distribution of ATF air time within an VDEV. */
 typedef struct {
 	/*

+ 1 - 1
target/inc/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_ 241
+#define __WMI_REVISION_ 242
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work