Sfoglia il codice sorgente

fw-api: CL 2865590 - update fw common interface files

SW WAY TO CHECK CAL VERSION fw common changes

Change-Id: I6cfed5edf211791954eca2b61d6cd93bfc421de4
CRs-Fixed: 1107600
Sandeep Puligilla 8 anni fa
parent
commit
d02e6ce0ae
4 ha cambiato i file con 47 aggiunte e 1 eliminazioni
  1. 1 0
      fw/wmi_services.h
  2. 14 0
      fw/wmi_tlv_defs.h
  3. 31 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 1 - 0
fw/wmi_services.h

@@ -188,6 +188,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 *******/

+ 14 - 0
fw/wmi_tlv_defs.h

@@ -799,6 +799,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;
 
 /*
@@ -1122,6 +1124,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 */
 
 
@@ -1299,6 +1302,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 */
 
 
@@ -3223,6 +3227,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 *******************************/
 
@@ -4297,6 +4306,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
 }

+ 31 - 0
fw/wmi_unified.h

@@ -360,6 +360,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 */
@@ -1102,6 +1104,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),
@@ -17731,6 +17736,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(MI_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";
@@ -18009,6 +18015,31 @@ typedef struct {
     A_UINT32 meta_data;
 } wmi_pdev_update_pkt_routing_cmd_fixed_param;
 
+typedef enum {
+    WMI_CALIBRATION_NO_FEATURE = 0, /* The board was calibrated with a meta which did not have this feature */
+    WMI_CALIBRATION_OK,             /* The calibration status is OK */
+    WMI_CALIBRATION_NOT_OK,         /* The calibration status is NOT OK */
+} WMI_CALIBRATION_STATUS;
+
+typedef struct {
+    A_UINT32 tlv_header;            /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param  */
+    A_UINT32 software_cal_version;  /* Current software level calibration data version */
+    A_UINT32 board_cal_version;     /* Calibration data version programmed on chip */
+    A_UINT32 cal_status;            /* filled with WMI_CALIBRATION_STATUS enum value */
+    /** 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 {
+    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param */
+    /** 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 */
 

+ 1 - 1
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_ 348
+#define __WMI_REVISION_ 349
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work