From 8fd29ba4f8ab1c30b2f2fdf7afd199b3c55d4e13 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sat, 4 Sep 2021 06:00:50 -0700 Subject: [PATCH] fw-api: CL 15484006 - update fw common interface files Change-Id: Iffbd3820f18502ad77ed57cfd7a85af2322a06ca WMI: add PDEV_SET_BIOS_INTERFACE_CMD msg def CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 8 +++++ fw/wmi_unified.h | 83 +++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 92 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 1c53da6f58da..f523df69dfc9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1199,6 +1199,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_thermal_throt_temp_range_stats, WMITLV_TAG_STRUC_wmi_ctrl_path_awgn_stats_struct, WMITLV_TAG_STRUC_wmi_htt_msdu_idx_to_htt_msdu_qtype, + WMITLV_TAG_STRUC_wmi_pdev_set_bios_interface_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1673,6 +1674,7 @@ typedef enum { OP(WMI_VDEV_ENABLE_DISABLE_INTRA_BSS_CMDID) \ OP(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID) \ OP(WMI_REQUEST_THERMAL_STATS_CMDID) \ + OP(WMI_PDEV_SET_BIOS_INTERFACE_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4037,6 +4039,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, geo_offset, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_BIOS_GEO_TABLE_CMDID); +/* Set bios interface table */ +#define WMITLV_TABLE_WMI_PDEV_SET_BIOS_INTERFACE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_bios_interface_cmd_fixed_param, wmi_pdev_set_bios_interface_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, parameters, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_BIOS_INTERFACE_CMDID); + /* Override the array gain table */ #define WMITLV_TABLE_WMI_PDEV_SET_MIMOGAIN_TABLE_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param, wmi_pdev_set_mimogain_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f474d421c9b1..85b774505204 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -463,6 +463,8 @@ typedef enum { WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID, /* Configure MEC AGING TIMER */ WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID, + /* Set bios interface table */ + WMI_PDEV_SET_BIOS_INTERFACE_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -4882,6 +4884,12 @@ typedef enum { /* Force unicast address in RA */ #define WMI_SCAN_FLAG_EXT_FORCE_UNICAST_RA 0x00001000 +/** + * Indicate to add 10 Mhz offset to spectral scan center frequencies + * sent by Host when checking against support channel list in FW + */ +#define WMI_SCAN_FLAG_EXT_SPECTRAL_CFREQ_PLUS_10MHZ_IN_SUPP_CH_LIST 0x00002000 + /** * new 6 GHz flags per chan (short ssid or bssid) in struct * wmi_hint_freq_short_ssid or wmi_hint_freq_bssid @@ -26136,6 +26144,80 @@ typedef struct { */ } wmi_pdev_set_bios_geo_table_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_bios_interface_cmd_fixed_param */ + A_UINT32 pdev_id; /* pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */ + A_UINT32 param_type_id; /* BIOS parameters type, see bios_param_type_e */ + /* length: + * Number of valid bytes in A_UINT8 TLV array that follows this + * fixed_param TLV. + * The number of bytes allocated in the A_UINT8 TLV array will be a + * multiple of 4. The "length" field indicates how many of these + * byte elements contain valid data; the remainder are only for + * alignment padding and should be ignored. + */ + A_UINT32 length; + /* Following this structure is TLV, bios data array */ +} wmi_pdev_set_bios_interface_cmd_fixed_param; + +typedef enum { + BIOS_PARAM_CCA_THRESHOLD_TYPE, + /* CCA THR structure has 29 bytes, it includes control flag and + * CCA THR parameters; + * + * If CCA_THR_Control is set 0, FW will still use + * AGC_ENERGY_DETECT_THRESHOLD.agcEnergyDetThr in BDF, and detailed + * CCA threshold do not need to be transported. + * If CCA_THR_Control is set 1, FW needs to use CCA threshold parameters + * in BIOS, and CCA THR parameters are provided in the subsequent A_UINT8 + * TLV array. + * + * In CCA THR parameters, ETSI / MKK / CHN use same CCA threshold, + * and FCC / KOR use same CCA threshold. Its unit is in 1db, + * which is relative to HW NF value. + * + * //control flag + * A_UINT8 CCA_THR_Control + * + * //5G + * A_UINT8 agcEnergyDetThr5G_thrCcaPri20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr5G_thrCcaExt20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr5G_thrCcaExt40dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr5G_thrCcaExt80dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr5G_thrCcaPri20dB_FCC_KOR + * A_UINT8 agcEnergyDetThr5G_thrCcaExt20dB_FCC_KOR + * A_UINT8 agcEnergyDetThr5G_thrCcaExt40dB_FCC_KOR + * A_UINT8 agcEnergyDetThr5G_thrCcaExt80dB_FCC_KOR + * + * //2G + * A_UINT8 agcEnergyDetThr2G_thrCcaPri20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr2G_thrCcaExt20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr2G_thrCcaExt40dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr2G_thrCcaExt80dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr2G_thrCcaPri20dB_FCC_KOR + * A_UINT8 agcEnergyDetThr2G_thrCcaExt20dB_FCC_KOR + * A_UINT8 agcEnergyDetThr2G_hrCcaExt40dB_FCC_KOR + * A_UINT8 agcEnergyDetThr2G_hrCcaExt80dB_FCC_KOR + * + * //6G + * A_UINT8 agcEnergyDetThr6G_thrCcaPri20dB_FCC_KOR + * A_UINT8 agcEnergyDetThr6G_thrCcaExt20dB_FCC_KOR + * A_UINT8 agcEnergyDetThr6G_thrCcaExt40dB_FCC_KOR + * A_UINT8 agcEnergyDetThr6G_thrCcaExt80dB_FCC_KOR + * + * //6G-LPI/VLP + * A_UINT8 agcEnergyDetThr6GLPI.thrCcaPri20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GLPI thrCcaExt20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GLPI thrCcaExt40dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GLPI.thrCcaExt80dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GVLP.thrCcaPri20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GVLP thrCcaExt20dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GVLP thrCcaExt40dB_ETSI_MKK_CHN + * A_UINT8 agcEnergyDetThr6GVLP.thrCcaExt80dB_ETSI_MKK_CHN + */ + BIOS_PARAM_TYPE_MAX, +} bios_param_type_e; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_mimogain_table_cmd_fixed_param */ union { @@ -29457,6 +29539,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID); WMI_RETURN_STRING(WMI_ROAM_MLO_CONFIG_CMDID); WMI_RETURN_STRING(WMI_REQUEST_THERMAL_STATS_CMDID); + WMI_RETURN_STRING(WMI_PDEV_SET_BIOS_INTERFACE_CMDID); } return "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b12a8e0c3834..5da588d0c538 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_ 1051 +#define __WMI_REVISION_ 1052 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work