diff options
| author | Pradeep Reddy Potteti <ppotte@codeaurora.org> | 2017-02-17 12:52:37 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-20 07:27:58 -0700 |
| commit | 2d2a1f11bcd55a1fd30bf082de5975c32f41cf67 (patch) | |
| tree | 4fefdb228de04ed11e93087cbfc76a8f08a2e50f | |
| parent | c8aaba77e9415d593db7a547bbc04eaa548f5b4f (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.h | 1 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 14 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 41 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 1 |
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"; } |
