瀏覽代碼

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

WMI pdev params to enable/disable smart and alternative chainmask schemes, add WMI_PDEV_SET_DIVERSITY_GAIN_CMD message def

Change-Id: Ie8f3d5c3fca0e048cd5bd3521624490dbed8a300
CRs-Fixed: 1107600
Sandeep Puligilla 8 年之前
父節點
當前提交
59dcbe64a1
共有 3 個文件被更改,包括 47 次插入1 次删除
  1. 7 0
      fw/wmi_tlv_defs.h
  2. 39 0
      fw/wmi_unified.h
  3. 1 1
      fw/wmi_version.h

+ 7 - 0
fw/wmi_tlv_defs.h

@@ -801,6 +801,7 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_pdev_update_pkt_routing_cmd_fixed_param,
     WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param,
     WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param,
+    WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1125,6 +1126,7 @@ typedef enum {
     OP(WMI_LPI_OEM_REQ_CMDID) \
     OP(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID) \
     OP(WMI_PDEV_CHECK_CAL_VERSION_CMDID) \
+    OP(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -3232,6 +3234,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param, wmi_pdev_check_cal_version_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHECK_CAL_VERSION_CMDID);
 
+#define WMITLV_TABLE_WMI_PDEV_SET_DIVERSITY_GAIN_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param, wmi_pdev_set_diversity_gain_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, diversity_gains, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID);
+
 
 /************************** TLV definitions of WMI events *******************************/
 

+ 39 - 0
fw/wmi_unified.h

@@ -362,6 +362,8 @@ typedef enum {
     WMI_PDEV_UPDATE_PKT_ROUTING_CMDID,
     /** Get Calibration data version details */
     WMI_PDEV_CHECK_CAL_VERSION_CMDID,
+    /** Set Diversity Gain */
+    WMI_PDEV_SET_DIVERSITY_GAIN_CMDID,
 
     /* VDEV (virtual device) specific commands */
     /** vdev create */
@@ -3926,6 +3928,16 @@ typedef enum {
      * 0 - Disallow mesh mcast traffic
      */
     WMI_PDEV_PARAM_MESH_MCAST_ENABLE,
+    /** Enable/Disable smart chainmask scheme
+      * 1 - Enable smart chainmask scheme
+      * 0 - Disable smart chainmask scheme
+      */
+    WMI_PDEV_PARAM_SMART_CHAINMASK_SCHEME,
+    /** Enable/Disable alternate chainmask scheme
+     * 1 - Enable alternate chainmask scheme
+     * 0 - Disable alternate chainmask scheme
+     */
+    WMI_PDEV_PARAM_ALTERNATIVE_CHAINMASK_SCHEME,
 
 } WMI_PDEV_PARAM;
 
@@ -12808,6 +12820,18 @@ enum {
 #define GET_PDEV_PARAM_TXPOWER_REASON(txpower_param)     \
     (((txpower_param) & PDEV_PARAM_TXPOWER_REASON_MASK) >> PDEV_PARAM_TXPOWER_REASON_SHIFT)
 
+#define PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_MASK 0x00000001
+#define PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_SHIFT 0
+
+#define SET_PDEV_SMART_CHAINMASK_SCHEME_DECISION(param, value) \
+    do { \
+        (param) &= ~PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_MASK; \
+        (param) |= (value) << PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_SHIFT; \
+    while (0)
+
+#define GET_PDEV_SMART_CHAINMASK_SCHEME_DECISION(param)     \
+    (((param) & PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_MASK) >> PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_SHIFT)
+
 /**
  * This command is sent from WLAN host driver to firmware to
  * notify the current modem power state. Host would receive a
@@ -17746,6 +17770,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_LPI_OEM_REQ_CMDID);
         WMI_RETURN_STRING(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
         WMI_RETURN_STRING(WMI_PDEV_CHECK_CAL_VERSION_CMDID);
+        WMI_RETURN_STRING(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID);
     }
 
     return "Invalid WMI cmd";
@@ -18049,6 +18074,20 @@ typedef struct {
     A_UINT32 pdev_id;
 } wmi_pdev_check_cal_version_cmd_fixed_param;
 
+typedef struct {
+    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param */
+    /** Identifies pdev on which diversity gain to be applied */
+    A_UINT32 pdev_id;
+    /** The number of spatial stream */
+    A_UINT32 nss;
+    /** The number of gains */
+    A_UINT32 num_gains;
+    /*
+     * This fixed_param TLV is followed by other TLVs:
+     *    A_UINT8 diversity_gains[num_gains]; (gain is in dB units)
+     */
+} wmi_pdev_set_diversity_gain_cmd_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_ 350
+#define __WMI_REVISION_ 351
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work