summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2017-12-17 09:01:19 -0800
committerspuligil <spuligil@codeaurora.org>2017-12-17 09:01:19 -0800
commita830050934ca75feeb6bf7ab5e739de46a865fc9 (patch)
tree700a260a3f88470d5a9b60bf42445948a4f96aae
parent248c0b0dc43e6b2ebca154c0494a70eb98dafef4 (diff)
fw-api: CL 3908166 - update fw common interface files
Change-Id: I4054df145580ae66ea1e56cca0f3edfb2cfa66a3 WMI: define SAR_GET_LIMITS cmd and LIMITS event msgs CRs-Fixed: 1107600
-rwxr-xr-xfw/wmi_services.h1
-rwxr-xr-xfw/wmi_tlv_defs.h16
-rwxr-xr-xfw/wmi_unified.h60
-rwxr-xr-xfw/wmi_version.h2
4 files changed, 78 insertions, 1 deletions
diff --git a/fw/wmi_services.h b/fw/wmi_services.h
index 3692dbdf2d2b..e1ed82e0c3ca 100755
--- a/fw/wmi_services.h
+++ b/fw/wmi_services.h
@@ -240,6 +240,7 @@ typedef enum {
WMI_SERVICE_RX_PROMISC_ENABLE_SUPPORT=145, /* Support enabling/disabling rx promiscuous mode as directed by a WMI message from the host */
WMI_SERVICE_SUPPORT_DIRECT_DMA=146, /* indicates target supports direct DMA,
* host will rely on WMI_DMA_RING_CAPABILITIES to get supported modules */
+ WMI_SERVICE_AP_OBSS_DETECTION_OFFLOAD=147, /* Support SAP mode OBSS detection offload */
/******* ADD NEW SERVICES HERE *******/
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index d4e291a28575..72fc4ed9cd06 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -880,6 +880,9 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_dma_ring_cfg_rsp_fixed_param,
WMITLV_TAG_STRUC_wmi_dma_buf_release_fixed_param,
WMITLV_TAG_STRUC_wmi_dma_buf_release_entry,
+ WMITLV_TAG_STRUC_wmi_sar_get_limits_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_sar_get_limits_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_sar_get_limits_event_row,
} WMITLV_TAG_ID;
/*
@@ -1233,6 +1236,7 @@ typedef enum {
OP(WMI_PDEV_SET_RX_FILTER_PROMISCUOUS_CMDID) \
OP(WMI_SAP_OBSS_DETECTION_CFG_CMDID) \
OP(WMI_PDEV_DMA_RING_CFG_REQ_CMDID) \
+ OP(WMI_SAR_GET_LIMITS_CMDID)\
/* add new CMD_LIST elements above this line */
@@ -1428,6 +1432,7 @@ typedef enum {
OP(WMI_SAP_OBSS_DETECTION_REPORT_EVENTID) \
OP(WMI_PDEV_DMA_RING_CFG_RSP_EVENTID) \
OP(WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID) \
+ OP(WMI_SAR_GET_LIMITS_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -2898,6 +2903,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MODEM_POWER_STATE_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sar_limit_cmd_row, sar_limits, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SAR_LIMITS_CMDID);
+/* SAR limit request cmd */
+#define WMITLV_TABLE_WMI_SAR_GET_LIMITS_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sar_get_limits_cmd_fixed_param, wmi_sar_get_limits_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_SAR_GET_LIMITS_CMDID);
+
#define WMITLV_TABLE_WMI_SAR2_RESULT_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sar2_result_event_fixed_param, wmi_sar2_result_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SAR2_RESULT_EVENTID);
@@ -4030,6 +4040,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_QVIT_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_avoid_freq_range_desc, avd_freq_range, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_FREQ_AVOID_EVENTID);
+/* WLAN SAR LIMITS GET response Event */
+#define WMITLV_TABLE_WMI_SAR_GET_LIMITS_EVENTID(id,op,buf,len)\
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sar_get_limits_event_fixed_param, wmi_sar_get_limits_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sar_get_limit_event_row, sar_get_limits, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_SAR_GET_LIMITS_EVENTID);
+
/* GTK rekey fail Event */
#define WMITLV_TABLE_WMI_GTK_REKEY_FAIL_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_gtk_rekey_fail_event_fixed_param, wmi_gtk_rekey_fail_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index fbfbcc89b227..e9c838098369 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -979,6 +979,7 @@ typedef enum {
WMI_CHAN_AVOID_RPT_ALLOW_CMDID,
WMI_COEX_GET_ANTENNA_ISOLATION_CMDID,
WMI_SAR_LIMITS_CMDID,
+ WMI_SAR_GET_LIMITS_CMDID,
/**
* OBSS scan offload enable/disable commands
@@ -1536,6 +1537,7 @@ typedef enum {
/* Coex Event */
WMI_COEX_REPORT_ANTENNA_ISOLATION_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_COEX),
+ WMI_SAR_GET_LIMITS_EVENTID,
/* LPI Event */
WMI_LPI_RESULT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_LPI),
@@ -15727,6 +15729,51 @@ enum wmi_sar_mod_id_flags {
WMI_SAR_MOD_OFDM
};
+/**
+ * This message is sent from FW to WLAN host to inform the host of the
+ * updated Specific Absorption Rate (SAR) limits currently in use.
+ */
+typedef struct {
+ /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_sar_get_limits_event_param */
+ A_UINT32 tlv_header;
+
+ /** when set to WMI_SAR_FEATURE_ON_*, SAR feature is enabled
+ * with BDF (SET_0 to 4) or WMI
+ * if set to WMI_SAR_FEATURE_OFF, feature is disabled;
+ */
+ A_UINT32 sar_enable;
+
+ /**
+ * number of items in sar_limits[].
+ * used when sar_enable == WMI_SAR_FEATURE_ON_USER_DEFINED.
+ * Should be zero if any of the BDF sets is activated.
+ */
+ A_UINT32 num_limit_rows;
+
+ /**
+ * TLV (tag length value) parameters follow the sar_get_limit_event_row
+ * structure. The TLV's are:
+ * wmi_sar_get_limit_event_row sar_limits[num_limit_rows];
+ */
+} wmi_sar_get_limits_event_fixed_param;
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_sar_get_limit_event_row */
+
+ /** Current values: WMI_SAR_2G_ID, WMI_SAR_5G_ID. Can be extended by adding
+ * new band_id values .
+ */
+ A_UINT32 band_id;
+
+ A_UINT32 chain_id;
+
+ /** Current values: WMI_SAR_MOD_CCK, WMI_SAR_MOD_OFDM */
+ A_UINT32 mod_id;
+
+ /** actual power limit value, in steps of 0.5 dBm */
+ A_UINT32 limit_value;
+} wmi_sar_get_limit_event_row;
+
#define WMI_SAR_BAND_ID_VALID_MASK (0x1)
#define WMI_SAR_CHAIN_ID_VALID_MASK (0x2)
#define WMI_SAR_MOD_ID_VALID_MASK (0x4)
@@ -15739,6 +15786,19 @@ enum wmi_sar_mod_id_flags {
#define WMI_IS_SAR_CHAIN_ID_VALID(bitmap) ((bitmap) & WMI_SAR_CHAIN_ID_VALID_MASK)
#define WMI_IS_SAR_MOD_ID_VALID(bitmap) ((bitmap) & WMI_SAR_MOD_ID_VALID_MASK)
+/**
+ * This command is sent from WLAN host driver to firmware to
+ * get current Specific Absorption Rate (SAR) limits status from firmware.
+ * The command does not require any parameters as of now.
+ */
+typedef struct {
+ /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_sar_get_limits_cmd_param */
+ A_UINT32 tlv_header;
+ /** currently no parameters are required. Reserved bit field for future use added */
+ /* All bits need to be set to 0 while it is a reserved field. */
+ A_UINT32 reserved;
+} wmi_sar_get_limits_cmd_fixed_param;
+
#define WMI_ROAM_AUTH_STATUS_CONNECTED 0x1 /** connected, but not authenticated */
#define WMI_ROAM_AUTH_STATUS_AUTHENTICATED 0x2 /** connected and authenticated */
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 46ac88ab9795..24a0debd44b0 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_ 481
+#define __WMI_REVISION_ 482
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work