diff options
| author | Hong Shi <hongsh@codeaurora.org> | 2017-03-13 16:50:21 +0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-20 07:28:26 -0700 |
| commit | d6f7a8daa4e267c31ffcb1f3b21ad96216f45a1a (patch) | |
| tree | bd38cad83552d843769f1e317f70fbbccefc726c | |
| parent | bdade0e5d773ce5a83345233bc4cfeb21fe36b30 (diff) | |
qcacld-2.0: CL 2883169 - update fw common interface files
valid chaimask combination supported per MAC
Change-Id: I21bb364e03af5d013e5e558d1f6dba22818fa17d
CRs-fixed: 865207
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 6 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 57 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 |
3 files changed, 62 insertions, 3 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index c6dd5c5e7125..5bec4b7f2cef 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -795,6 +795,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param, + WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_COMBO, + WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_CAPABILITY, } WMITLV_TAG_ID; /* @@ -3241,7 +3243,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_AVAILABLE_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HW_MODE_CAPABILITIES, hw_mode_caps, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES, mac_phy_caps, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_SOC_HAL_REG_CAPABILITIES, WMI_SOC_HAL_REG_CAPABILITIES, soc_hal_reg_caps, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT, hal_reg_caps, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT, hal_reg_caps, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CHAINMASK_COMBO, mac_phy_chainmask_combo, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CHAINMASK_CAPABILITY, mac_phy_chainmask_caps, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID); /* Ready event */ diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 0697d367a739..5384ea79d784 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -17265,6 +17265,8 @@ typedef struct { A_UINT32 he_cap_phy_info_5G[WMI_MAX_HECAP_PHY_SIZE]; wmi_ppe_threshold he_ppet2G; wmi_ppe_threshold he_ppet5G; + /* chainmask table to be used for the MAC */ + A_UINT32 chainmask_table_id; } WMI_MAC_PHY_CAPABILITIES; typedef struct { @@ -17289,11 +17291,64 @@ typedef struct { A_UINT32 hw_mode_config_type; } WMI_HW_MODE_CAPABILITIES; +/* Definition of valid chainmask and associated capabilities */ +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_CAPABILITY */ + A_UINT32 tlv_header; + /* supported flags: Capabilities for this chianmask*/ + union { + struct { + A_UINT32 supports_chan_width_20:1, + supports_chan_width_40:1, + supports_chan_width_80:1, + supports_chan_width_160:1, + supports_chan_width_80P80:1, + reserved:22, /* bits 26:5 */ + chain_mask_2G:1, + chain_mask_5G:1, + chain_mask_tx:1, + chain_mask_rx:1, + supports_aDFS:1; /* agile DFS */ + }; + A_UINT32 supported_flags; + }; + A_UINT32 chainmask; +} WMI_MAC_PHY_CHAINMASK_CAPABILITY; + +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_COMBO */ + A_UINT32 tlv_header; + A_UINT32 chainmask_table_id; + /* Number of vaild Chainmask in the table */ + A_UINT32 num_valid_chainmask; + /* + * This TLV is followed by the below TLVs: + * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask] + */ +} WMI_MAC_PHY_CHAINMASK_COMBO; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_SOC_MAC_PHY_HW_MODE_CAPS */ /* num HW modes */ A_UINT32 num_hw_modes; - /* num_hw_modes WMI_HW_MODE_CAPABILITIES TLV's */ + /* number of unique chainmask combo tables */ + A_UINT32 num_chainmask_tables; + /* + * This TLV is followed by the below TLVs: + * + * WMI_HW_MODE_CAPABILITIES soc_hw_mode_caps[num_hw_modes] + * + * (intervening TLVs, e.g. HW_MODE_CAPS, MAC_PHY_CAPS, HAL_REG_CAPS) + * + * WMI_MAC_PHY_CHAINMASK_COMBO mac_phy_chainmask_combo[num_chainmask_tables] + * // number of chainmasks specified in mac_phy_chainmask_combo[0] + * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask0] + * // number of chainmasks specified in mac_phy_chainmask_combo[1] + * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask1] + * // number of chainmasks specified in mac_phy_chainmask_combo[2] + * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask2] + * etc. + */ } WMI_SOC_MAC_PHY_HW_MODE_CAPS; /*Below are Reg caps per PHY. Please note PHY ID starts with 0.*/ diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 34a1024e4184..7aaa664b89f9 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_ 352 +#define __WMI_REVISION_ 353 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
