summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-10-25 18:02:28 -0700
committerspuligil <spuligil@codeaurora.org>2019-10-25 18:02:28 -0700
commit7a3955ce09fe97271ac9edb7e20a995f8587d5d7 (patch)
tree220e1ae3d39a18fdd81480da7df66e99c32d9596
parentd0658636c12d17f7013b4e5e4d7ca83cbf24f4c3 (diff)
fw-api: CL 8469425 - update fw common interface files
Change-Id: Ifc03aae35d935c371a2c0f2195aba31a6a0cef77 WMI: request + report per-channel ANI values CRs-Fixed: 2262693
-rwxr-xr-xfw/wmi_tlv_defs.h16
-rwxr-xr-xfw/wmi_unified.h44
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 61 insertions, 1 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index 62bf37c0f7b8..e81cdf2e40c5 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -1018,6 +1018,9 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_atf_group_wmm_ac_info,
WMITLV_TAG_STRUC_wmi_peer_atf_ext_request_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_atf_ext_info,
+ WMITLV_TAG_STRUC_wmi_get_channel_ani_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_channel_ani_info_tlv_param,
+ WMITLV_TAG_STRUC_wmi_get_channel_ani_event_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1436,6 +1439,7 @@ typedef enum {
OP(WMI_ATF_SSID_GROUPING_REQUEST_CMDID) \
OP(WMI_ATF_GROUP_WMM_AC_CONFIG_REQUEST_CMDID) \
OP(WMI_PEER_ATF_EXT_REQUEST_CMDID) \
+ OP(WMI_GET_CHANNEL_ANI_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -1672,6 +1676,7 @@ typedef enum {
OP(WMI_ROAM_PREAUTH_START_EVENTID) \
OP(WMI_GET_ELNA_BYPASS_EVENTID) \
OP(WMI_ROAM_PMKID_REQUEST_EVENTID) \
+ OP(WMI_GET_CHANNEL_ANI_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -4145,6 +4150,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SET_ELNA_BYPASS_CMDID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_get_elna_bypass_cmd_fixed_param, wmi_get_elna_bypass_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_GET_ELNA_BYPASS_CMDID);
+/* Get channel ANI level cmd */
+#define WMITLV_TABLE_WMI_GET_CHANNEL_ANI_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_get_channel_ani_cmd_fixed_param, wmi_get_channel_ani_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_GET_CHANNEL_ANI_CMDID);
+
/* Audio aggr config cmd */
#define WMITLV_TABLE_WMI_AUDIO_AGGR_ENABLE_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_enable_cmd_fixed_param, wmi_audio_aggr_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -5615,6 +5626,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_MGMT_OFFLOAD_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_elna_bypass_event_fixed_param, wmi_get_elna_bypass_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_GET_ELNA_BYPASS_EVENTID);
+/* channel ANI event */
+#define WMITLV_TABLE_WMI_GET_CHANNEL_ANI_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_channel_ani_event_fixed_param, wmi_get_channel_ani_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel_ani_info_tlv_param, ani_info, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_GET_CHANNEL_ANI_EVENTID);
#ifdef __cplusplus
}
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index e0b115ffe1d4..00c42e4bd056 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -998,6 +998,8 @@ typedef enum {
WMI_SET_ELNA_BYPASS_CMDID,
/** get ELNA BYPASS status */
WMI_GET_ELNA_BYPASS_CMDID,
+ /** get ANI level of the channels */
+ WMI_GET_CHANNEL_ANI_CMDID,
/* Offload 11k related requests */
WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD),
@@ -1772,6 +1774,9 @@ typedef enum {
/** event to get ELNA BYPASS status */
WMI_GET_ELNA_BYPASS_EVENTID,
+ /** event to report ANI level of the channels */
+ WMI_GET_CHANNEL_ANI_EVENTID,
+
/* GPIO Event */
WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO),
/** upload H_CV info WMI event
@@ -24891,6 +24896,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_ATF_SSID_GROUPING_REQUEST_CMDID);
WMI_RETURN_STRING(WMI_ATF_GROUP_WMM_AC_CONFIG_REQUEST_CMDID);
WMI_RETURN_STRING(WMI_PEER_ATF_EXT_REQUEST_CMDID);
+ WMI_RETURN_STRING(WMI_GET_CHANNEL_ANI_CMDID);
}
return "Invalid WMI cmd";
@@ -27969,6 +27975,44 @@ typedef struct {
A_UINT32 en_dis;
} wmi_get_elna_bypass_event_fixed_param;
+typedef struct {
+ /** TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_get_channel_ani_cmd_fixed_param
+ */
+ A_UINT32 tlv_header;
+ /**
+ * TLV (tag length value) parameters follow the
+ * structure. The TLV's are:
+ * list of channels (center freq of primary 20 MHz of the channel, in MHz)
+ * A_UINT32 channel_list[];
+ */
+} wmi_get_channel_ani_cmd_fixed_param;
+
+typedef struct {
+ /** TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_get_channel_ani_event_fixed_param
+ */
+ A_UINT32 tlv_header;
+ /**
+ * TLV (tag length value) parameters follow the
+ * structure. The TLV's are:
+ * wmi_channel_ani_info_tlv_param ani_info[];
+ */
+} wmi_get_channel_ani_event_fixed_param;
+
+typedef struct {
+ /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_channel_ani_info_tlv_param */
+ A_UINT32 tlv_header;
+ /** channel freq (center of 20 MHz primary channel) in MHz */
+ A_UINT32 chan_freq;
+ /**
+ * ANI (noise interference) level corresponding to the channel.
+ * Values range from [0-9], with higher values indicating more
+ * noise interference.
+ */
+ A_UINT32 ani_level;
+} wmi_channel_ani_info_tlv_param;
+
/* This command is to specify to enable/disable audio frame aggr */
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_aggr_enable_cmd_fixed_param */
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index f8ea61d7937c..be6479a80e54 100755
--- 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_ 730
+#define __WMI_REVISION_ 731
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work