Browse Source

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

WMI msg defs to limit off-channel time during a VoIP call

Change-Id: I56b5ca0118917eb30be1485b7042759dc689a23a
CRs-Fixed: 1107600
snandini 7 years ago
parent
commit
0d41a640b9
4 changed files with 33 additions and 1 deletions
  1. 1 0
      fw/wmi_services.h
  2. 8 0
      fw/wmi_tlv_defs.h
  3. 23 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 1 - 0
fw/wmi_services.h

@@ -209,6 +209,7 @@ typedef  enum  {
 
     WMI_SERVICE_CHAN_LOAD_INFO=128, /* The values in WMI_CHAN_INFO_EVENTID is the difference in cycle counters */
     WMI_SERVICE_TX_PPDU_INFO_STATS_SUPPORT=129, /* support to report tx ppdu info stats via htt events */
+    WMI_SERVICE_VDEV_LIMIT_OFFCHAN_SUPPORT=130, /* support to report the offchannel duration limiting capability on connected interface */
 
     /******* ADD NEW SERVICES HERE *******/
 

+ 8 - 0
fw/wmi_tlv_defs.h

@@ -837,6 +837,7 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_request_fixed_param,
     WMITLV_TAG_STRUC_wmi_pdev_bss_chan_info_event_fixed_param,
     WMITLV_TAG_STRUC_wmi_roam_lca_disallow_config_tlv_param,
+    WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1172,6 +1173,7 @@ typedef enum {
     OP(WMI_THERM_THROT_SET_CONF_CMDID) \
     OP(WMI_OEM_DMA_RING_CFG_REQ_CMDID) \
     OP(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID) \
+    OP(WMI_VDEV_LIMIT_OFFCHAN_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -2199,6 +2201,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_tx_power_cmd_fixed_param, wmi_vdev_get_tx_power_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_TX_POWER_CMDID);
 
+/* Limit Offchannel duration Cmd */
+#define WMITLV_TABLE_WMI_VDEV_LIMIT_OFFCHAN_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param, wmi_vdev_limit_offchan_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_LIMIT_OFFCHAN_CMDID);
+
 /* PDEV Set Base Mac Address Cmd */
 #define WMITLV_TABLE_WMI_PDEV_SET_BASE_MACADDR_CMDID(id,op,buf,len) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_base_macaddr_cmd_fixed_param, wmi_pdev_set_base_macaddr_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)

+ 23 - 0
fw/wmi_unified.h

@@ -431,6 +431,8 @@ typedef enum {
 
     /** get tx power for the current vdev */
     WMI_VDEV_GET_TX_POWER_CMDID,
+    /* limit STA offchannel activity */
+    WMI_VDEV_LIMIT_OFFCHAN_CMDID,
 
     /* peer specific commands */
 
@@ -3885,6 +3887,26 @@ typedef struct {
     A_UINT32 vdev_id; /** unique id identifying the VDEV, generated by the caller */
 } wmi_vdev_get_tx_power_event_fixed_param;
 
+typedef enum {
+    /** Limit the offchannel duration */
+    WMI_VDEV_LIMIT_OFFCHAN_ENABLE   = 0x1,
+    /** Skip DFS channels from Scan channel list.
+     *  valid for both host scans and FW scans */
+    WMI_VDEV_LIMIT_OFFCHAN_SKIP_DFS = 0x2,
+} wmi_vdev_limit_offchan_flags;
+
+typedef struct {
+    A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param */
+    /** Limit the duration of offchannel events requested by the vdev corresponding to the specified vdev_id */
+    A_UINT32 vdev_id;
+    /** see enum wmi_vdev_limit_offchan_flags */
+    A_UINT32 flags;
+    /** max offchannel time allowed in msec when WMI_VDEV_LIMIT_OFFCHAN_ENABLE flag is set */
+    A_UINT32 max_offchan_time;
+    /** rest time in msec on the BSS channel */
+    A_UINT32 rest_time;
+} wmi_vdev_limit_offchan_cmd_fixed_param;
+
 #define WMI_CSA_EVENT_QSBW_ISE_ID_MASK    0x000000FF /* information sub element id for QSBW, expected value is 0x02 */
 #define WMI_CSA_EVENT_QSBW_ISE_LEN_MASK   0x0000FF00 /* length of QSBW ISE data, expected value is 0x02 */
 #define WMI_CSA_EVENT_QSBW_ISE_CAP_MASK   0x00FF0000 /* capabilities, 0x01 for 5MHz, 0x02 for 10MHz, 0x01|0x2 for both (see WMI_CSA_EVENT_QSBW_ISE bitmask defs) */
@@ -19376,6 +19398,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_THERM_THROT_SET_CONF_CMDID);
         WMI_RETURN_STRING(WMI_OEM_DMA_RING_CFG_REQ_CMDID);
         WMI_RETURN_STRING(WMI_PDEV_BSS_CHAN_INFO_REQUEST_CMDID);
+        WMI_RETURN_STRING(WMI_VDEV_LIMIT_OFFCHAN_CMDID);
     }
 
     return "Invalid WMI cmd";

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