summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPradeep Reddy Potteti <ppotte@codeaurora.org>2017-02-17 12:52:37 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-20 07:27:58 -0700
commit2d2a1f11bcd55a1fd30bf082de5975c32f41cf67 (patch)
tree4fefdb228de04ed11e93087cbfc76a8f08a2e50f
parentc8aaba77e9415d593db7a547bbc04eaa548f5b4f (diff)
qcacld-2.0: CL 2865590 - update fw common interface files
SW WAY TO CHECK CAL VERSION fw common changes Change-Id: Ic944f27de4bf889de6e4c3eec72ed142b1156bf4 CRs-fixed: 865207
-rw-r--r--CORE/SERVICES/COMMON/wmi_services.h1
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h14
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h41
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
5 files changed, 58 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h
index f5936a555c47..b48cd62749f5 100644
--- a/CORE/SERVICES/COMMON/wmi_services.h
+++ b/CORE/SERVICES/COMMON/wmi_services.h
@@ -281,6 +281,7 @@ typedef enum {
WMI_SERVICE_HW_DATA_FILTERING = 119,
WMI_SERVICE_MULTIPLE_VDEV_RESTART=120, /* Support for single command for multiple vdev restart */
WMI_SERVICE_PKT_ROUTING=121, /* Support for routing specific data packets to selected destination rings */
+ WMI_SERVICE_CHECK_CAL_VERSION=122, /* Support cal version check */
/***** ADD NEW SERVICES HERE UNTIL ALL VALUES UP TO 128 ARE USED *****/
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 811d188b9ff4..4bc187a9e265 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -792,6 +792,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_restart_request_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_csa_switch_count_status_event_fixed_param,
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_ID;
/*
@@ -1114,6 +1116,7 @@ typedef enum {
OP(WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID) \
OP(WMI_LPI_OEM_REQ_CMDID) \
OP(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID) \
+ OP(WMI_PDEV_CHECK_CAL_VERSION_CMDID) \
/* add new CMD_LIST elements above this line */
/*
@@ -1288,6 +1291,7 @@ typedef enum {
OP(WMI_PEER_OPER_MODE_CHANGE_EVENTID) \
OP(WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID) \
OP(WMI_PDEV_CSA_SWITCH_COUNT_STATUS_EVENTID) \
+ OP(WMI_PDEV_CHECK_CAL_VERSION_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -3202,6 +3206,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_update_pkt_routing_cmd_fixed_param, wmi_pdev_update_pkt_routing_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
+/* Get cal version cmd */
+#define WMITLV_TABLE_WMI_PDEV_CHECK_CAL_VERSION_CMDID(id,op,buf,len) \
+ 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);
+
/************************** TLV definitions of WMI events *******************************/
/* Service Ready event */
@@ -4263,6 +4272,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CSA_SWITCH_COUNT_STATUS_EVENTID);
+/* cal version response event */
+#define WMITLV_TABLE_WMI_PDEV_CHECK_CAL_VERSION_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param, wmi_pdev_check_cal_version_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHECK_CAL_VERSION_EVENTID);
+
#ifdef __cplusplus
}
#endif
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 7d5ab344d542..48c8300b6d35 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -362,6 +362,8 @@ typedef enum {
WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID,
/** Pdev update packet routing command */
WMI_PDEV_UPDATE_PKT_ROUTING_CMDID,
+ /** Get Calibration data version details */
+ WMI_PDEV_CHECK_CAL_VERSION_CMDID,
/* VDEV (virtual device) specific commands */
/** vdev create */
@@ -1106,6 +1108,9 @@ typedef enum {
/* Event to report the switch count in csa of one or more VDEVs */
WMI_PDEV_CSA_SWITCH_COUNT_STATUS_EVENTID,
+ /** Report the caldata version to host */
+ WMI_PDEV_CHECK_CAL_VERSION_EVENTID,
+
/* VDEV specific events */
/** VDEV started event in response to VDEV_START request */
WMI_VDEV_START_RESP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_VDEV),
@@ -17908,6 +17913,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID);
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);
}
return "Invalid WMI cmd";
@@ -18195,6 +18201,41 @@ typedef struct {
A_UINT32 meta_data;
} wmi_pdev_update_pkt_routing_cmd_fixed_param;
+typedef enum {
+ /* The board was calibrated with a meta which did not have this feature */
+ WMI_CALIBRATION_NO_FEATURE = 0,
+ WMI_CALIBRATION_OK, /* The calibration status is OK */
+ WMI_CALIBRATION_NOT_OK, /* The calibration status is NOT OK */
+} WMI_CALIBRATION_STATUS;
+
+typedef struct {
+ /* TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param
+ */
+ A_UINT32 tlv_header;
+ /* Current software level calibration data version */
+ A_UINT32 software_cal_version;
+ /* Calibration data version programmed on chip */
+ A_UINT32 board_cal_version;
+ /* filled with WMI_CALIBRATION_STATUS enum value */
+ A_UINT32 cal_status;
+ /** pdev_id for identifying the MAC
+ * See macros starting with WMI_PDEV_ID_ for values.
+ */
+ A_UINT32 pdev_id;
+} wmi_pdev_check_cal_version_event_fixed_param;
+
+typedef struct {
+ /** TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param
+ */
+ A_UINT32 tlv_header;
+ /** pdev_id for identifying the MAC
+ * See macros starting with WMI_PDEV_ID_ for values.
+ */
+ A_UINT32 pdev_id;
+} wmi_pdev_check_cal_version_cmd_fixed_param;
+
/* ADD NEW DEFS HERE */
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 7e03e7a6d144..6bb557bb91a0 100644
--- a/CORE/SERVICES/COMMON/wmi_version.h
+++ b/CORE/SERVICES/COMMON/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_ 348
+#define __WMI_REVISION_ 349
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work
diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c
index ab54cdc80161..3f93e3ca7454 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -739,6 +739,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID);
CASE_RETURN_STRING(WMI_LPI_OEM_REQ_CMDID);
CASE_RETURN_STRING(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
+ CASE_RETURN_STRING(WMI_PDEV_CHECK_CAL_VERSION_CMDID);
}
return "Invalid WMI cmd";
}