From bf6450fa5b3c85d52301fc28db4ebb50705fd230 Mon Sep 17 00:00:00 2001 From: Nirav Shah Date: Thu, 5 Nov 2015 11:47:20 +0530 Subject: [PATCH] qcacld-3.0: CL 1411038 - update fw common interface files qcacld-2.0 to qcacld-3.0 propagation add WMI_TRANSFER_TO_FLASH message defs. CRs-Fixed: 935128 Change-Id: I21c55e7aee54c4f6beb6f455a395d1e2a233c9d9 --- core/wmi/wmi_unified.c | 1 + target/inc/wmi_tlv_defs.h | 16 ++++++++++++++-- target/inc/wmi_unified.h | 30 ++++++++++++++++++++++++++++++ target/inc/wmi_version.h | 2 +- 4 files changed, 46 insertions(+), 3 deletions(-) diff --git a/core/wmi/wmi_unified.c b/core/wmi/wmi_unified.c index 79fe92f46b6d..84dab33e89e4 100644 --- a/core/wmi/wmi_unified.c +++ b/core/wmi/wmi_unified.c @@ -529,6 +529,7 @@ static uint8_t *get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_THERMAL_MGMT_CMDID); CASE_RETURN_STRING(WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID); CASE_RETURN_STRING(WMI_LRO_CONFIG_CMDID); + CASE_RETURN_STRING(WMI_TRANSFER_DATA_TO_FLASH_CMDID); CASE_RETURN_STRING(WMI_MAWC_SENSOR_REPORT_IND_CMDID); CASE_RETURN_STRING(WMI_ROAM_CONFIGURE_MAWC_CMDID); CASE_RETURN_STRING(WMI_NLO_CONFIGURE_MAWC_CMDID); diff --git a/target/inc/wmi_tlv_defs.h b/target/inc/wmi_tlv_defs.h index 081de734b295..11a30222d7de 100644 --- a/target/inc/wmi_tlv_defs.h +++ b/target/inc/wmi_tlv_defs.h @@ -600,6 +600,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ap_ps_egap_param_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_ap_ps_egap_info_event_fixed_param, WMITLV_TAG_STRUC_WMI_PMF_OFFLOAD_SET_SA_QUERY_CMD_fixed_param, + WMITLV_TAG_STRUC_wmi_transfer_data_to_flash_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_transfer_data_to_flash_complete_event_fixed_param, } WMITLV_TAG_ID; /* @@ -837,7 +839,8 @@ typedef enum { OP(WMI_EXTSCAN_CONFIGURE_MAWC_CMDID) \ OP(WMI_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMDID) \ OP(WMI_AP_PS_EGAP_PARAM_CMDID) \ - OP(WMI_PMF_OFFLOAD_SET_SA_QUERY_CMDID) + OP(WMI_PMF_OFFLOAD_SET_SA_QUERY_CMDID) \ + OP(WMI_TRANSFER_DATA_TO_FLASH_CMDID) /* * IMPORTANT: Please add _ALL_ WMI Events Here. * Otherwise, these WMI TLV Functions will be process them. @@ -952,7 +955,8 @@ typedef enum { OP(WMI_MGMT_TX_COMPLETION_EVENTID) \ OP(WMI_MAWC_ENABLE_SENSOR_EVENTID) \ OP(WMI_PEER_ASSOC_CONF_EVENTID) \ - OP(WMI_AP_PS_EGAP_INFO_EVENTID) + OP(WMI_AP_PS_EGAP_INFO_EVENTID) \ + OP(WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID) /* TLV definitions of WMI commands */ @@ -2186,6 +2190,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SET_ANTENNA_DIVERSITY_CMDID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_lro_info_cmd_fixed_param, wmi_lro_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_LRO_CONFIG_CMDID); +#define WMITLV_TABLE_WMI_TRANSFER_DATA_TO_FLASH_CMDID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_transfer_data_to_flash_cmd_fixed_param, wmi_transfer_data_to_flash_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_TRANSFER_DATA_TO_FLASH_CMDID); /* MAWC sensor report indication cmd */ #define WMITLV_TABLE_WMI_MAWC_SENSOR_REPORT_IND_CMDID(id, op, buf, len) \ @@ -2616,6 +2624,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DEBUG_MESG_FLUSH_COMPLETE_EVENTID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rssi_breach_event_fixed_param, wmi_rssi_breach_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_RSSI_BREACH_EVENTID); +#define WMITLV_TABLE_WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID(id, op, buf, len)\ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_transfer_data_to_flash_complete_event_fixed_param, wmi_transfer_data_to_flash_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID); + /* Diagnostics Event */ #define WMITLV_TABLE_WMI_DIAG_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index cbb3cc452e8a..1511fe3d94d0 100644 --- a/target/inc/wmi_unified.h +++ b/target/inc/wmi_unified.h @@ -701,6 +701,8 @@ typedef enum { /* Enable/disable Large Receive Offload processing; * provide cfg params */ WMI_LRO_CONFIG_CMDID, + /*transfer data from host to firmware to write flash */ + WMI_TRANSFER_DATA_TO_FLASH_CMDID, /* GPIO Configuration */ WMI_GPIO_CONFIG_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_GPIO), WMI_GPIO_OUTPUT_CMDID, @@ -1118,6 +1120,8 @@ typedef enum { WMI_DEBUG_MESG_FLUSH_COMPLETE_EVENTID, /* event to report mix/max RSSI breach events */ WMI_RSSI_BREACH_EVENTID, + /* event to report completion of data storage into flash memory */ + WMI_TRANSFER_DATA_TO_FLASH_COMPLETE_EVENTID, /* GPIO Event */ WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO), @@ -12262,6 +12266,32 @@ typedef struct { A_UINT32 toeplitz_hash_ipv6_40; } wmi_lro_info_cmd_fixed_param; +/* + * This structure is used to set the pattern for WOW host wakeup pin pulse + * pattern confirguration. + */ +typedef struct { + /* + * TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_transfer_data_to_flash_cmd_fixed_param + */ + A_UINT32 tlv_header; + /* flash offset to write, starting from 0 */ + A_UINT32 offset; + /* vaild data length in buffer, unit: byte */ + A_UINT32 length; +} wmi_transfer_data_to_flash_cmd_fixed_param; + +typedef struct { + /* + * TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_transfer_data_to_flash_complete_event_fixed_param + */ + A_UINT32 tlv_header; + /* Return status. 0 for success, non-zero otherwise */ + A_UINT32 status; +} wmi_transfer_data_to_flash_complete_event_fixed_param; + /* ADD NEW DEFS HERE */ /***************************************************************************** diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index 41d427807687..9c62d2d3092e 100644 --- a/target/inc/wmi_version.h +++ b/target/inc/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_ 176 +#define __WMI_REVISION_ 177 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work