From eb1de4f5aa095cf71eef86561dfc4aaac2794b9f Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 7 Nov 2017 14:03:02 -0800 Subject: [PATCH] fw-api: CL 3696616 - update fw common interface files WMI cmd to enable/disable fw offloaded beacons Change-Id: Ide08ad101300861dbf8843b37a999511cb980f41 CRs-Fixed: 1107600 --- fw/wmi_services.h | 2 ++ fw/wmi_tlv_defs.h | 9 ++++++++- fw/wmi_unified.h | 12 ++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 473c4b168d88..6cb65df0a480 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -233,6 +233,8 @@ typedef enum { * cycle value. FW will also report thermal * throttling status to host through this * service. */ + WMI_SERVICE_BCN_OFFLOAD_START_STOP_SUPPORT=141, /* support dynamically enabling / disabling beacon tx offload */ + /******* ADD NEW SERVICES HERE *******/ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 2cdcd8b5b5df..5c74c14933d9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -864,6 +864,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_fd_send_from_host_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_enable_fils_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_host_swfda_event_fixed_param, + WMITLV_TAG_STRUC_wmi_bcn_offload_ctrl_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1211,6 +1212,7 @@ typedef enum { OP(WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID) \ OP(WMI_PDEV_SEND_FD_CMDID) \ OP(WMI_ENABLE_FILS_CMDID) \ + OP(WMI_BCN_OFFLOAD_CTRL_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2073,7 +2075,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_KEEPALIVE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_keepalive_cmd_fixed_param, wmi_vdev_get_keepalive_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_KEEPALIVE_CMDID); -/*FWTEST Set TBTT mode Cmd*/ +/* Vdev cmd to enable/disable fw offloaded beacons. */ +#define WMITLV_TABLE_WMI_BCN_OFFLOAD_CTRL_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_bcn_offload_ctrl_cmd_fixed_param, wmi_bcn_offload_ctrl_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_BCN_OFFLOAD_CTRL_CMDID); + +/* FWTEST Set TBTT mode Cmd */ #define WMITLV_TABLE_WMI_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_mcc_set_tbtt_mode_cmd_fixed_param, wmi_vdev_mcc_set_tbtt_mode_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_FWTEST_VDEV_MCC_SET_TBTT_MODE_CMDID); diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 1a5d9c7a203f..26561b1410bb 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -522,6 +522,8 @@ typedef enum { WMI_OFFCHAN_DATA_TX_SEND_CMDID, /** transmit FILS Discovery frame by value */ WMI_PDEV_SEND_FD_CMDID, + /** Cmd to enable/disable offloaded beacons */ + WMI_BCN_OFFLOAD_CTRL_CMDID, /** commands to directly control ba negotiation directly from host. only used in test mode */ @@ -4147,6 +4149,16 @@ typedef struct { A_UINT32 vdev_id; } wmi_vdev_get_tx_power_cmd_fixed_param; +#define WMI_BEACON_CTRL_TX_DISABLE 0 +#define WMI_BEACON_CTRL_TX_ENABLE 1 + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_bcn_offload_ctrl_cmd_fixed_param */ + /** unique id identifying the VDEV, generated by the caller */ + A_UINT32 vdev_id; + A_UINT32 bcn_ctrl_op; /* fw default 1 (see WMI_BEACON_CTRL defs) */ +} wmi_bcn_offload_ctrl_cmd_fixed_param; + /** common structure used for wmi_vedv_get_tx_power_event */ typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_tx_power_event_fixed_param */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e0d9e96adf28..6f92a26cf5ac 100644 --- a/fw/wmi_version.h +++ b/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_ 462 +#define __WMI_REVISION_ 463 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work