Преглед изворни кода

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

Propagation from qcacld-2.0 to qcacld-3.0

Add WMI command to set GPIO numbers that are used to wakeup host
and wakeup target.
Changes to disable dynamic bandwidth RTS.
Add swol_assist_enable field to WMI extwow_set_app_type1_params
cmd to enable IoT mode WMI enums for CCK and OFDM max tx rates.

Change-Id: I26873873d7a355c179babaa7cc56e187e9771c92
CRs-fixed: 865207
Nitesh Shah пре 8 година
родитељ
комит
8cb6a3d20f
3 измењених фајлова са 74 додато и 20 уклоњено
  1. 8 2
      target/inc/wmi_tlv_defs.h
  2. 65 17
      target/inc/wmi_unified.h
  3. 1 1
      target/inc/wmi_version.h

+ 8 - 2
target/inc/wmi_tlv_defs.h

@@ -722,6 +722,7 @@ typedef enum {
 	WMITLV_TAG_STRUC_wmi_read_data_from_flash_event_fixed_param,
 	WMITLV_TAG_STRUC_wmi_pdev_set_reorder_timeout_val_cmd_fixed_param,
 	WMITLV_TAG_STRUC_wmi_peer_set_rx_blocksize_cmd_fixed_param,
+	WMITLV_TAG_STRUC_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1017,6 +1018,7 @@ typedef enum {
 	OP(WMI_READ_DATA_FROM_FLASH_CMDID) \
 	OP(WMI_PDEV_SET_REORDER_TIMEOUT_VAL_CMDID) \
 	OP(WMI_PEER_SET_RX_BLOCKSIZE_CMDID) \
+	OP(WMI_PDEV_SET_WAKEUP_CONFIG_CMDID) \
 	/* add new CMD_LIST elements above this line */
 
 /*
@@ -1779,9 +1781,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UTF_CMDID);
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_QVIT_CMDID);
 
+#define WMITLV_TABLE_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param, WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_WAKEUP_CONFIG_CMDID);
+
 /* Vdev Set keep alive Cmd  */
-#define WMITLV_TABLE_WMI_VDEV_SET_KEEPALIVE_CMDID(id,op,buf,len) \
-	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_set_keepalive_cmd_fixed_param, wmi_vdev_set_keepalive_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+#define WMITLV_TABLE_WMI_VDEV_SET_KEEPALIVE_CMDID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_set_keepalive_cmd_fixed_param, wmi_vdev_set_keepalive_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_KEEPALIVE_CMDID);
 
 /* Vdev Get keep alive Cmd  */

+ 65 - 17
target/inc/wmi_unified.h

@@ -347,6 +347,8 @@ typedef enum {
 	WMI_PDEV_WAL_POWER_DEBUG_CMDID,
 	/** set per-AC rx reorder timeouts */
 	WMI_PDEV_SET_REORDER_TIMEOUT_VAL_CMDID,
+	/** WMI command for WOW gpio and type */
+	WMI_PDEV_SET_WAKEUP_CONFIG_CMDID,
 
 	/* VDEV (virtual device) specific commands */
 	/** vdev create */
@@ -4195,6 +4197,32 @@ typedef struct {
 	A_UINT32 enable_override;
 } wmi_vdev_set_dscp_tid_map_cmd_fixed_param;
 
+enum WMI_WAKE_GPIO_TYPE {
+	WMI_WAKE_GPIO_LOW = 1,
+	WMI_WAKE_GPIO_HIGH = 2,
+	WMI_WAKE_GPIO_RISING_EDGE = 3,
+	WMI_WAKE_GPIO_FALLING_EDGE = 4,
+};
+
+/**
+ * Set GPIO numbers used to wakeup host and wakeup target.
+ */
+typedef struct {
+	/**
+	 * TLV tag and len; tag equals
+	 * WMITLV_TAG_STRUC_WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param
+	 */
+	A_UINT32 tlv_header;
+	/* gpio num used to wakeup host, 0xff disable wakeup gpio */
+	A_UINT32 host_wakeup_gpio;
+	/* refer to WMI_WAKE_GPIO_TYPE */
+	A_UINT32 host_wakeup_type;
+	/* gpio num used to wakeup target, 0xff disable wakeup gpio */
+	A_UINT32 target_wakeup_gpio;
+	/* refer to WMI_WAKE_GPIO_TYPE */
+	A_UINT32 target_wakeup_type;
+} WMI_PDEV_SET_WAKEUP_CONFIG_CMDID_fixed_param;
+
 /** Fixed rate (rate-code) for broadcast/ multicast data frames */
 /* @brief bcast_mcast_data_rate - set the rates for the bcast/ mcast frames
  * @details
@@ -5635,6 +5663,9 @@ typedef enum {
 	 */
 	WMI_VDEV_PARAM_AGG_SW_RETRY_TH,
 
+	/** disable dynamic bw RTS **/
+	WMI_VDEV_PARAM_DISABLE_DYN_BW_RTS,
+
 	/*
 	 * === ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
 	 * The below vdev param types are used for prototyping, and are
@@ -6906,27 +6937,43 @@ typedef union {
 
 /*
  *   CCK max/min tx Rate description
- *   tx_rate = 0:    1Mbps,
- *   tx_rate = 1:    2Mbps
- *   tx_rate = 2:    5.5Mbps
- *   tx_rate = 3:    11Mbps
- *   tx_rate = else : invalid.
+ *   tx_rate = 0:  1   Mbps
+ *   tx_rate = 1:  2   Mbps
+ *   tx_rate = 2:  5.5 Mbps
+ *   tx_rate = 3: 11   Mbps
+ *   tx_rate = else: invalid
  */
-#define WMI_MAX_CCK_TX_RATE 0x03
+enum {
+	WMI_MAX_CCK_TX_RATE_1M,       /* up to 1M CCK Rate avaliable */
+	WMI_MAX_CCK_TX_RATE_2M,       /* up to 2M CCK Rate avaliable */
+	WMI_MAX_CCK_TX_RATE_5_5M,     /* up to 5.5M CCK Rate avaliable */
+	WMI_MAX_CCK_TX_RATE_11M,      /* up to 11M CCK Rate avaliable */
+	WMI_MAX_CCK_TX_RATE = WMI_MAX_CCK_TX_RATE_11M,
+};
 
 /*
  *   OFDM max/min tx Rate description
- *   tx_rate = 0:   6Mbps,
- *   tx_rate = 1:    9Mbps
- *   tx_rate = 2:    12Mbps
- *   tx_rate = 3:     18Mbps
- *   tx_rate = 4:     24Mbps
- *   tx_rate = 5:     32Mbps
- *   tx_rate = 6:     48Mbps
- *   tx_rate = 7:     54Mbps
- *   tx_rate = else : invalid.
- */
-#define WMI_MAX_OFDM_TX_RATE 0x07
+ *   tx_rate = 0:  6 Mbps
+ *   tx_rate = 1:  9 Mbps
+ *   tx_rate = 2: 12 Mbps
+ *   tx_rate = 3: 18 Mbps
+ *   tx_rate = 4: 24 Mbps
+ *   tx_rate = 5: 32 Mbps
+ *   tx_rate = 6: 48 Mbps
+ *   tx_rate = 7: 54 Mbps
+ *   tx_rate = else: invalid
+ */
+enum {
+	WMI_MAX_OFDM_TX_RATE_6M,      /* up to 6M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_9M,      /* up to 9M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_12M,     /* up to 12M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_18M,     /* up to 18M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_24M,     /* up to 24M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_36M,     /* up to 36M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_48M,     /* up to 48M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE_54M,     /* up to 54M OFDM Rate avaliable */
+	WMI_MAX_OFDM_TX_RATE = WMI_MAX_OFDM_TX_RATE_54M,
+};
 
 /*
  *    HT max/min tx rate description
@@ -8878,6 +8925,7 @@ typedef struct {
 	A_UINT32 swol_indoor_pattern;     /* wakeup pattern */
 	A_UINT32 swol_indoor_exception;   /* wakeup when exception happens */
 	A_UINT32 swol_indoor_exception_app;
+	A_UINT32 swol_assist_enable;      /* whether to enable IoT mode */
 } wmi_extwow_set_app_type1_params_cmd_fixed_param;
 
 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_ 271
+#define __WMI_REVISION_ 274
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work