Explorar el Código

qcacld-3.0: CL 1605795 - update fw common interface files

Propagation from qcacld-2.0 to qcacld-3.0

WMI pdev POWER_STATS request and report message defs
pktlog flag in HTT_T2H RX_IN_ORD_PADDR_IND
New release of Hawkeye HW header files

Change-Id: If2f122a6879b60052849b7efb738e7fc1a4c23f3
CRs-fixed: 865207
Anurag Chouhan hace 8 años
padre
commit
e326c92400
Se han modificado 3 ficheros con 81 adiciones y 1 borrados
  1. 15 0
      target/inc/wmi_tlv_defs.h
  2. 65 0
      target/inc/wmi_unified.h
  3. 1 1
      target/inc/wmi_version.h

+ 15 - 0
target/inc/wmi_tlv_defs.h

@@ -731,6 +731,8 @@ typedef enum {
 	WMITLV_TAG_STRUC_wmi_pdev_get_antdiv_status_cmd_fixed_param,
 	WMITLV_TAG_STRUC_wmi_pdev_antdiv_status_event_fixed_param,
 	WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param,
+	WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param,
+	WMITLV_TAG_STRUC_wmi_pdev_chip_power_stats_event_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1030,6 +1032,7 @@ typedef enum {
 	OP(WMI_PEER_ANTDIV_INFO_REQ_CMDID) \
 	OP(WMI_PDEV_GET_ANTDIV_STATUS_CMDID) \
 	OP(WMI_MNT_FILTER_CMDID) \
+	OP(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID) \
 	/* add new CMD_LIST elements above this line */
 
 /*
@@ -1186,6 +1189,7 @@ typedef enum {
 	OP(WMI_SERVICE_AVAILABLE_EVENTID) \
 	OP(WMI_PEER_ANTDIV_INFO_EVENTID) \
 	OP(WMI_PDEV_ANTDIV_STATUS_EVENTID) \
+	OP(WMI_PDEV_CHIP_POWER_STATS_EVENTID) \
 	/* add new EVT_LIST elements above this line */
 
 /* TLV definitions of WMI commands */
@@ -2962,6 +2966,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_REMOVE_CMDID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param, wmi_mnt_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_MNT_FILTER_CMDID);
 
+/* WLAN GET Chip power Stats*/
+#define WMITLV_TABLE_WMI_PDEV_GET_CHIP_POWER_STATS_CMDID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param, wmi_pdev_get_chip_power_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID);
+
 /************************** TLV definitions of WMI events *******************************/
 
 /* Service Ready event */
@@ -3781,6 +3790,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHANNEL_HOPPING_EVENTID);
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ani_cck_event_fixed_param, wmi_ani_cck_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_CCK_LEVEL_EVENTID);
 
+#define WMITLV_TABLE_WMI_PDEV_CHIP_POWER_STATS_EVENTID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_chip_power_stats_event_fixed_param, wmi_pdev_chip_power_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, debug_registers, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_STATS_EVENTID);
+
+
 #define WMITLV_TABLE_WMI_PDEV_ANI_OFDM_LEVEL_EVENTID(id, op, buf, len) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param, wmi_ani_ofdm_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_OFDM_LEVEL_EVENTID);

+ 65 - 0
target/inc/wmi_unified.h

@@ -352,6 +352,8 @@ typedef enum {
 	WMI_PDEV_SET_WAKEUP_CONFIG_CMDID,
 	/* Get current ANT's per chain's RSSI info */
 	WMI_PDEV_GET_ANTDIV_STATUS_CMDID,
+	/** WMI command for getting Chip Power Stats */
+	WMI_PDEV_GET_CHIP_POWER_STATS_CMDID,
 
 	/* VDEV (virtual device) specific commands */
 	/** vdev create */
@@ -1078,6 +1080,8 @@ typedef enum {
 	WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID,
 	/** Report ANT DIV feature's status */
 	WMI_PDEV_ANTDIV_STATUS_EVENTID,
+	/** Chip level Power stats */
+	WMI_PDEV_CHIP_POWER_STATS_EVENTID,
 
 	/* VDEV specific events */
 	/** VDEV started event in response to VDEV_START request */
@@ -16007,6 +16011,17 @@ typedef struct {
 	 * */
 } wmi_pdev_get_tpc_cmd_fixed_param;
 
+typedef struct {
+	A_UINT32 tlv_header; /* TLV tag and len; tag equals
+	WMITLV_TAG_STRUC_wmi_pdev_get_chip_power_stats_cmd_fixed_param */
+	/**
+	 * pdev_id for identifying the MAC See macros
+	 * starting with WMI_PDEV_ID_ for values.
+	 */
+	A_UINT32 pdev_id;
+} wmi_pdev_get_chip_power_stats_cmd_fixed_param;
+
+
 typedef struct {
 	/*
 	 * TLV tag and len; tag equals
@@ -16074,6 +16089,56 @@ typedef struct {
 	A_UINT32 cck_level;
 } wmi_ani_cck_event_fixed_param;
 
+typedef enum wmi_power_debug_reg_fmt_type {
+	/* WMI_POWER_DEBUG_REG_FMT_TYPE_ROME -> Dumps following 12 Registers
+	 *     SOC_SYSTEM_SLEEP
+	 *     WLAN_SYSTEM_SLEEP
+	 *     RTC_SYNC_FORCE_WAKE
+	 *     MAC_DMA_ISR
+	 *     MAC_DMA_TXRX_ISR
+	 *     MAC_DMA_ISR_S1
+	 *     MAC_DMA_ISR_S2
+	 *     MAC_DMA_ISR_S3
+	 *     MAC_DMA_ISR_S4
+	 *     MAC_DMA_ISR_S5
+	 *     MAC_DMA_ISR_S6
+	 *     MAC_DMA_ISR_S7
+	 */
+	WMI_POWER_DEBUG_REG_FMT_TYPE_ROME,
+	WMI_POWER_DEBUG_REG_FMT_TYPE_MAX = 0xf,
+} WMI_POWER_DEBUG_REG_FMT_TYPE;
+
+typedef struct {
+	A_UINT32 tlv_header; /* TLV tag and len; tag equals
+	WMITLV_TAG_STRUC_wmi_chip_power_stats_event_fixed_param */
+	/*
+	 * maximum range is 35 hours, due to conversion from internal
+	 * 0.03215 ms units to ms
+	 */
+	A_UINT32 cumulative_sleep_time_ms;
+	/*
+	 * maximum range is 35 hours, due to conversion from internal
+	 * 0.03215 ms units to ms
+	 */
+	A_UINT32 cumulative_total_on_time_ms;
+	/* count of number of times chip enterred deep sleep */
+	A_UINT32 deep_sleep_enter_counter;
+	/* Last Timestamp when Chip went to deep sleep */
+	A_UINT32 last_deep_sleep_enter_tstamp_ms;
+	/*
+	 * WMI_POWER_DEBUG_REG_FMT_TYPE enum, describes debug registers
+	 * being dumped as part of the event
+	 */
+	A_UINT32 debug_register_fmt;
+	/* number of debug registers being sent to host */
+	A_UINT32 num_debug_register;
+	/*
+	 * Following this structure is the TLV:
+	 * A_UINT32 debug_registers[num_debug_registers];
+	 */
+} wmi_pdev_chip_power_stats_event_fixed_param;
+
+
 typedef struct {
 	/*
 	 * TLV tag and len; tag equals

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