qcacld-3.0: Extract aux device capability
Extract aux device capability and store it in wma/hdd/mlme. current only 1 aux supported so only save info for aux0. Change-Id: Ib19bad6cf3c0bda5a31ea4993a2f7e587b2043e2 CRs-Fixed: 3549751
This commit is contained in:

committed by
Rahul Choudhary

parent
16acdd350d
commit
1c1828f5d8
@@ -87,6 +87,19 @@ void
|
||||
wlan_mlme_update_cfg_with_tgt_caps(struct wlan_objmgr_psoc *psoc,
|
||||
struct mlme_tgt_caps *tgt_caps);
|
||||
|
||||
/**
|
||||
* wlan_mlme_update_aux_dev_caps() - Update mlme aux capability
|
||||
* @psoc: pointer to psoc object
|
||||
* @wlan_mlme_aux_dev_caps: array for aux dev capability
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
|
||||
void
|
||||
wlan_mlme_update_aux_dev_caps(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_aux_dev_caps
|
||||
wlan_mlme_aux_dev_caps[]);
|
||||
|
||||
/*
|
||||
* mlme_get_wep_key() - get the wep key to process during auth frame
|
||||
* @vdev: VDEV object for which the wep key is being requested
|
||||
@@ -1002,6 +1015,23 @@ QDF_STATUS wlan_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc *psoc,
|
||||
*/
|
||||
void wlan_mlme_update_oce_flags(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* wlan_mlme_cfg_get_aux_supported_modes() - get supported mode of aux.
|
||||
* definition of bitmap refer WMI_AUX_DEV_CAPS_SUPPORTED_MODE.
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @aux_index: aux index, current only support aux0.
|
||||
* @hw_mode_id: hw mode id
|
||||
* @supported_modes_bitmap: output for value
|
||||
*
|
||||
* Return: true for getting value. false for failure check.
|
||||
*/
|
||||
bool wlan_mlme_cfg_get_aux_supported_modes(
|
||||
struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t aux_index,
|
||||
enum wlan_mlme_hw_mode_config_type hw_mode_id,
|
||||
uint32_t *supported_modes_bitmap);
|
||||
|
||||
#ifdef WLAN_FEATURE_11AX
|
||||
/**
|
||||
* wlan_mlme_cfg_get_he_ul_mumimo() - Get the HE Ul Mumio
|
||||
|
@@ -1337,6 +1337,71 @@ struct wlan_user_mcc_quota {
|
||||
uint8_t vdev_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum wlan_mlme_hw_mode_config_type - HW mode config type replicated from
|
||||
* wmi_hw_mode_config_type in FW header.
|
||||
* similar as wmi_host_hw_mode_config_type.
|
||||
* @WLAN_MLME_HW_MODE_SINGLE: Only one PHY is active.
|
||||
* @WLAN_MLME_HW_MODE_DBS: Both PHYs are active in different bands,
|
||||
* one in 2G and another in 5G.
|
||||
* @WLAN_MLME_HW_MODE_SBS_PASSIVE: Both PHYs are in passive mode (only rx) in
|
||||
* same band; no tx allowed.
|
||||
* @WLAN_MLME_HW_MODE_SBS: Both PHYs are active in the same band.
|
||||
* Support for both PHYs within one band is planned
|
||||
* for 5G only(as indicated in WMI_MAC_PHY_CAPABILITIES),
|
||||
* but could be extended to other bands in the future.
|
||||
* The separation of the band between the two PHYs needs
|
||||
* to be communicated separately.
|
||||
* @WLAN_MLME_HW_MODE_DBS_SBS: 3 PHYs, with 2 on the same band doing SBS
|
||||
* as in WMI_HW_MODE_SBS, and 3rd on the other band
|
||||
* @WLAN_MLME_HW_MODE_DBS_OR_SBS: Two PHY with one PHY capabale of both 2G and
|
||||
* 5G. It can support SBS (5G + 5G) OR DBS (5G + 2G).
|
||||
* @WLAN_MLME_HW_MODE_DBS_2G_5G: Both PHYs are active in different bands.
|
||||
* PhyA 2G and PhyB 5G
|
||||
* @WLAN_MLME_HW_MODE_2G_PHYB: Only one phy is active. 2G mode on PhyB.
|
||||
* @WLAN_MLME_HW_MODE_EMLSR: Both PHYs are active in listen mode in 1x1
|
||||
* and Tx/Rx trigger on any PHY will switch
|
||||
* from 1x1 to 2x2 on that Phy
|
||||
* @WLAN_MLME_HW_MODE_AUX_EMLSR_SINGLE: PHYA0 and AUX are active in listen mode
|
||||
* in 1x1 and Tx/Rx trigger on any.
|
||||
* PHY will switch from 1x1 to 2x2
|
||||
* on that Phy.
|
||||
* @WLAN_MLME_HW_MODE_AUX_EMLSR_SPLIT: PHYA1 and AUX are active in listen mode
|
||||
* in 1x1 and Tx/Rx trigger on any.
|
||||
* PHY will switch from 1x1 to 2x2
|
||||
* on that Phy.
|
||||
* @WLAN_MLME_HW_MODE_MAX: Max hw_mode_id.
|
||||
*/
|
||||
enum wlan_mlme_hw_mode_config_type {
|
||||
WLAN_MLME_HW_MODE_SINGLE = 0,
|
||||
WLAN_MLME_HW_MODE_DBS = 1,
|
||||
WLAN_MLME_HW_MODE_SBS_PASSIVE = 2,
|
||||
WLAN_MLME_HW_MODE_SBS = 3,
|
||||
WLAN_MLME_HW_MODE_DBS_SBS = 4,
|
||||
WLAN_MLME_HW_MODE_DBS_OR_SBS = 5,
|
||||
WLAN_MLME_HW_MODE_DBS_2G_5G = 6,
|
||||
WLAN_MLME_HW_MODE_2G_PHYB = 7,
|
||||
WLAN_MLME_HW_MODE_EMLSR = 8,
|
||||
WLAN_MLME_HW_MODE_AUX_EMLSR_SINGLE = 9,
|
||||
WLAN_MLME_HW_MODE_AUX_EMLSR_SPLIT = 10,
|
||||
WLAN_MLME_HW_MODE_MAX,
|
||||
};
|
||||
|
||||
/* struct wlan_mlme_aux_dev_caps - wlan mlme aux dev capability
|
||||
*
|
||||
* @supported_modes_bitmap: indicate which mode this AUX supports for the
|
||||
* HW mode defined in hw_mode_id
|
||||
* @listen_pdev_id_map: indicate which AUX MAC can listen/scan for the HW mode
|
||||
* described in hw_mode_id
|
||||
* @emlsr_pdev_id_map: indicate which AUX MAC can perform eMLSR for the HW mode
|
||||
* described in hw_mode_id.
|
||||
*/
|
||||
struct wlan_mlme_aux_dev_caps {
|
||||
uint32_t supported_modes_bitmap;
|
||||
uint32_t listen_pdev_id_map;
|
||||
uint32_t emlsr_pdev_id_map;
|
||||
};
|
||||
|
||||
/* struct wlan_mlme_generic - Generic CFG config items
|
||||
*
|
||||
* @band_capability: HW Band Capability - Both or 2.4G only or 5G only
|
||||
@@ -1396,6 +1461,7 @@ struct wlan_user_mcc_quota {
|
||||
* @safe_mode_enable: safe mode to bypass some strict 6 GHz checks for
|
||||
* connection, bypass strict power levels
|
||||
* @sr_enable_modes: modes for which SR(Spatial Reuse) is enabled
|
||||
* @wlan_mlme_aux0_dev_caps: capability for aux0
|
||||
*/
|
||||
struct wlan_mlme_generic {
|
||||
uint32_t band_capability;
|
||||
@@ -1460,6 +1526,8 @@ struct wlan_mlme_generic {
|
||||
#if defined(WLAN_FEATURE_SR)
|
||||
uint32_t sr_enable_modes;
|
||||
#endif
|
||||
struct wlan_mlme_aux_dev_caps
|
||||
wlan_mlme_aux0_dev_caps[WLAN_MLME_HW_MODE_MAX];
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user