diff options
| author | Sandeep Puligilla <spuligil@codeaurora.org> | 2017-02-24 11:01:05 -0800 |
|---|---|---|
| committer | Sandeep Puligilla <spuligil@codeaurora.org> | 2017-02-24 11:01:05 -0800 |
| commit | 7c5c784ad5690dffca9754a1f339fdddf01d8065 (patch) | |
| tree | 4ffc8587787c31d8ba70aceabd728216c4e7f83b | |
| parent | 24aff794cab346411c750d0e112acfe772c84f47 (diff) | |
fw-api: CL 2883169 - update fw common interface files
valid chaimask combination supported per MAC
Change-Id: I7bde78ad150ba999e9da09fa27c4a524c8bf3f13
CRs-Fixed: 1107600
| -rwxr-xr-x | fw/wmi_tlv_defs.h | 8 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 55 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
3 files changed, 61 insertions, 4 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index b7c33cadc3ef..600355214527 100755 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -802,6 +802,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; /* @@ -1828,7 +1830,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OEM_REQUEST_CMDID); /* RTT OEM req Cmd through LPASS */ #define WMITLV_TABLE_WMI_LPI_OEM_REQ_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) - + WMITLV_CREATE_PARAM_STRUC(WMI_LPI_OEM_REQ_CMDID); /* Spectral scan configure Cmd */ @@ -3263,7 +3265,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/fw/wmi_unified.h b/fw/wmi_unified.h index c6699688143a..fdb3b3b68adf 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -17089,6 +17089,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 { @@ -17109,11 +17111,62 @@ typedef struct { A_UINT32 hw_mode_config_type; } WMI_HW_MODE_CAPABILITIES; +/** Definition of valid chainmask and associated capabilities */ +typedef struct { + A_UINT32 tlv_header;/* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_CAPABILITY */ + /* 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 { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_COMBO */ + 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/fw/wmi_version.h b/fw/wmi_version.h index d3a9c63e0ea7..9522ac755b33 100755 --- 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_ 352 +#define __WMI_REVISION_ 353 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
