Browse Source

fw-api: CL 2710751 - update fw common interface files

WMI Changes for RCPI feature (and whitespace cleanup)

Change-Id: I8118ff09e89991c0b2ff3ac950547c2ee74c16b6
CRs-Fixed: 865207
Manjeet Singh 8 năm trước cách đây
mục cha
commit
fad6d7f5b3
4 tập tin đã thay đổi với 59 bổ sung2 xóa
  1. 1 0
      fw/wmi_services.h
  2. 14 1
      fw/wmi_tlv_defs.h
  3. 43 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 1 - 0
fw/wmi_services.h

@@ -271,6 +271,7 @@ typedef enum {
 	 */
 	WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT = 112,
 	WMI_SERVICE_DFS_PHYERR_OFFLOAD = 113,
+	WMI_SERVICE_RCPI_SUPPORT=114,
 
 	/*** ADD NEW SERVICES HERE UNTIL ALL VALUES UP TO 128 ARE USED ***/
 

+ 14 - 1
fw/wmi_tlv_defs.h

@@ -765,7 +765,8 @@ typedef enum {
 	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_STRUC_wmi_request_rcpi_cmd_fixed_param,
+	WMITLV_TAG_STRUC_wmi_update_rcpi_event_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1075,6 +1076,7 @@ typedef enum {
 	OP(WMI_PDEV_DFS_PHYERR_OFFLOAD_DISABLE_CMDID) \
 	OP(WMI_VDEV_ADFS_CH_CFG_CMDID) \
 	OP(WMI_VDEV_ADFS_OCAC_ABORT_CMDID) \
+	OP(WMI_REQUEST_RCPI_CMDID) \
 	/* add new CMD_LIST elements above this line */
 
 /*
@@ -1240,6 +1242,7 @@ typedef enum {
 	OP(WMI_PDEV_DFS_RADAR_DETECTION_EVENTID) \
 	OP(WMI_VDEV_DFS_CAC_COMPLETE_EVENTID) \
 	OP(WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID) \
+	OP(WMI_UPDATE_RCPI_EVENTID) \
 	/* add new EVT_LIST elements above this line */
 
 /* TLV definitions of WMI commands */
@@ -2570,6 +2573,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_RESPONDER_REQ_CMDID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_ndp_end_req_PROTOTYPE, ndp_end_req_list, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_NDP_END_REQ_CMDID);
 
+/* RCPI Info Request Cmd */
+#define WMITLV_TABLE_WMI_REQUEST_RCPI_CMDID(id,op,buf,len) \
+	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_rcpi_cmd_fixed_param, wmi_request_rcpi_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_RCPI_CMDID);
+
 /* Modem power state cmd */
 #define WMITLV_TABLE_WMI_MODEM_POWER_STATE_CMDID(id,op,buf,len)	\
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_modem_power_state_cmd_param, wmi_modem_power_state_cmd_param, fixed_param, WMITLV_SIZE_FIX)
@@ -3729,6 +3737,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NDP_CONFIRM_EVENTID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_ndp_end_indication_PROTOTYPE, ndp_end_indication_list, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_NDP_END_INDICATION_EVENTID);
 
+/* Update RCPI Info Event */
+#define WMITLV_TABLE_WMI_UPDATE_RCPI_EVENTID(id,op,buf,len) \
+	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_update_rcpi_event_fixed_param, wmi_update_rcpi_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_RCPI_EVENTID);
+
 /* L1SS track Event */
 #define WMITLV_TABLE_WMI_PDEV_L1SS_TRACK_EVENTID(id,op,buf,len)	\
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_l1ss_track_event_fixed_param, wmi_pdev_l1ss_track_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)

+ 43 - 0
fw/wmi_unified.h

@@ -718,6 +718,9 @@ typedef enum {
 	/** One time request for wlan stats */
 	WMI_REQUEST_WLAN_STATS_CMDID,
 
+	/** Request for getting RCPI of peer */
+	WMI_REQUEST_RCPI_CMDID,
+
 	/** ARP OFFLOAD REQUEST*/
 	WMI_SET_ARP_NS_OFFLOAD_CMDID =
 		WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
@@ -1277,6 +1280,10 @@ typedef enum {
 	 */
 	WMI_REPORT_STATS_EVENTID,
 
+	/** Event indicating RCPI of the peer requested by host in the
+	 * WMI_REQUEST_RCPI_CMDID */
+	WMI_UPDATE_RCPI_EVENTID,
+
 	/** NLO specific events */
 	/** NLO match event after the first match */
 	WMI_NLO_MATCH_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_NLO_OFL),
@@ -17815,6 +17822,42 @@ typedef struct {
 		isolation_chain3:8; /* [31:24], isolation value for chain 3 */
 } wmi_coex_report_isolation_event_fixed_param;
 
+typedef enum {
+	WMI_RCPI_MEASUREMENT_TYPE_AVG_MGMT  = 1,
+	WMI_RCPI_MEASUREMENT_TYPE_AVG_DATA  = 2,
+	WMI_RCPI_MEASUREMENT_TYPE_LAST_MGMT = 3,
+	WMI_RCPI_MEASUREMENT_TYPE_LAST_DATA = 4,
+} wmi_rcpi_measurement_type;
+
+typedef struct {
+	/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_request_rcpi_cmd_fixed_param */
+	A_UINT32 tlv_header;
+	/* VDEV identifier */
+	A_UINT32 vdev_id;
+	/* peer MAC address */
+	wmi_mac_addr peer_macaddr;
+	/* measurement type - defined in enum wmi_rcpi_measurement_type */
+	A_UINT32 measurement_type;
+} wmi_request_rcpi_cmd_fixed_param;
+
+typedef struct {
+	/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_update_rcpi_event_fixed_param */
+	A_UINT32 tlv_header;
+	/* VDEV identifier */
+	A_UINT32 vdev_id;
+	/* peer MAC address */
+	wmi_mac_addr peer_macaddr;
+	/* measurement type - defined in enum wmi_rcpi_measurement_type */
+	A_UINT32 measurement_type;
+	/* Measured RCPI in dBm of the peer requested by host */
+	A_INT32 rcpi;
+	/** status
+	 *  0 - Requested peer RCPI available
+	 *  1 - Requested peer RCPI not available
+	 */
+	A_UINT32 status;
+} wmi_update_rcpi_event_fixed_param;
+
 /* ADD NEW DEFS HERE */
 
 /*****************************************************************************

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