From 71ccdcb4d57a9ab25cfa79a54fd3a6059ad4d0f1 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 5 Jan 2022 18:00:53 -0800 Subject: [PATCH] fw-api: CL 16819411 - update fw common interface files Change-Id: I453da440ddff21923fc15347347b8c34f7af0942 WMI: add ODD_ADDR_READ stats type CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 7 +++++-- fw/wmi_unified.h | 35 +++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 99466884794f..c896cd97049a 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1229,6 +1229,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_spectral_fft_size_capabilities, WMITLV_TAG_STRUC_wmi_pdev_sscan_chan_info, WMITLV_TAG_STRUC_wmi_pdev_sscan_per_detector_info, + WMITLV_TAG_STRUC_wmi_ctrl_path_odd_addr_read_struct, } WMITLV_TAG_ID; /* @@ -4311,7 +4312,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_PEER_STATS_INFO_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, pdev_ids, WMITLV_SIZE_VAR)\ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR)\ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, mac_addr_list, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, twt_dialog_ids, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, twt_dialog_ids, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, odd_addr_read_args, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_CTRL_PATH_STATS_CMDID); /* Host sets the current country code */ @@ -6282,7 +6284,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_dfs_channel_stats_struct, ctrl_path_dfs_channel_stats, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_awgn_stats_struct, ctrl_path_awgn_stats, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_btcoex_stats_struct, ctrl_path_btcoex_stats, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_bmiss_stats_struct, ctrl_path_bmiss_stats, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_bmiss_stats_struct, ctrl_path_bmiss_stats, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_odd_addr_read_struct, ctrl_path_odd_addr_read, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID); #define WMITLV_TABLE_WMI_RADIO_CHAN_STATS_EVENTID(id, op, buf, len) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 2e2feaed78e4..4302bd4ad65b 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -84,6 +84,7 @@ extern "C" { #define MAX_RSSI_VALUES 10 /*Max Rssi values*/ #define WMI_MAX_CHAINS 8 #define WMI_MAX_CHAINS_FOR_AOA_RCC 2 +#define WMI_MAX_ADDRESS_SPACE 10 #define MAX_AOA_PHASEDELTA 31 /* 62 gain values */ @@ -10609,6 +10610,14 @@ typedef enum _WMI_GET_STATS_TWT_STATUS_T { WMI_GET_STATS_TWT_STATUS_INVALID_PARAM, /* invalid parameters */ } WMI_GET_STATS_TWT_STATUS_T; +/* Resp type of ODD command operation */ +typedef enum _WMI_ODD_ADDR_READ_OPTION_TYPE_T { + WMI_ODD_ADDR_READ_OPTION_TYPE_ADD_ADDR_COMMAND, /* Resp for the command to add/configure address space */ + WMI_ODD_ADDR_READ_OPTION_TYPE_DEL_ADDR_COMMAND, /* Resp for the command to del/reset address space */ + WMI_ODD_ADDR_READ_OPTION_TYPE_DISP_ADDR_COMMAND, /* Resp for the command to display address space */ + WMI_ODD_ADDR_READ_OPTION_TYPE_DISP_VAL_COMMAND, /* Resp for the command to display value at address space */ +} WMI_ODD_ADDR_READ_OPTION_TYPE_T; + typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_ctrl_path_twt_stats_struct */ @@ -10970,6 +10979,31 @@ typedef struct { A_UINT32 timeleft; } wmi_ctrl_path_dfs_channel_stats_struct; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_odd_addr_read_struct*/ + A_UINT32 tlv_header; + /* resp_type: + * Response type for each sub option: + * Add address space, display address, display data, delete address space. + * Refer to WMI_ODD_ADDR_READ_OPTION_TYPE_T. + */ + A_UINT32 resp_type; + /* User configured Entry id */ + A_UINT32 entry_id; + /* address: + * User configured Address Space. + * Any unused elements will be filled with 0x0. + */ + A_UINT32 address[WMI_MAX_ADDRESS_SPACE]; + /* data + * Data/Value at the User configured Address Space. + * Any unused elements will be filled with 0x0. + */ + A_UINT32 data[WMI_MAX_ADDRESS_SPACE]; + /* Status of the operation performed: 0 = failure, 1 = success */ + A_UINT32 is_success; +} wmi_ctrl_path_odd_addr_read_struct; + typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param */ @@ -28576,6 +28610,7 @@ typedef enum { WMI_REQUEST_CTRL_PATH_AWGN_STAT = 7, WMI_REQUEST_CTRL_PATH_BTCOEX_STAT = 8, WMI_REQUEST_CTRL_PATH_BMISS_STAT = 9, + WMI_REQUEST_CTRL_PATH_ODD_ADDR_READ = 10, } wmi_ctrl_path_stats_id; typedef enum { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 2f4c97889980..4ff9be5d3998 100644 --- 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_ 1100 +#define __WMI_REVISION_ 1101 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work