qcacmn: Get UL-MUMIMO support from Target

Read UL-MUMIMO from target cap flag

CRs-Fixed: 3255924
Change-Id: I02d7644b3dc43c757d8363d8de0f66c856c041ce
Bu işleme şunda yer alıyor:
Shreedhar Parande
2022-07-20 23:37:21 +05:30
işlemeyi yapan: Madan Koyyalamudi
ebeveyn 89d0469b44
işleme 4854e732d7
2 değiştirilmiş dosya ile 32 ekleme ve 0 silme

Dosyayı Görüntüle

@@ -451,6 +451,12 @@ struct wlan_psoc_host_service_ext_param {
* @max_users_ul_mumimo: Max number of users per-PPDU for Uplink MU-MIMO
* @twt_ack_support_cap: TWT ack capability support
* @target_cap_flags: Rx peer metadata version number used by target
* @ul_mumimo_tx_2g: UL MUMIMO Tx support for 2GHz
* @ul_mumimo_tx_5g: UL MUMIMO Tx support for 5GHz
* @ul_mumimo_tx_5g: UL MUMIMO Tx support for 6GHz
* @ul_mumimo_rx_2g: UL MUMIMO Rx support for 2GHz
* @ul_mumimo_rx_5g: UL MUMIMO Rx support for 5GHz
* @ul_mumimo_rx_6g: UL MUMIMO Rx support for 6GHz
* @afc_dev_type: AFC deployment type
*/
struct wlan_psoc_host_service_ext2_param {
@@ -469,6 +475,12 @@ struct wlan_psoc_host_service_ext2_param {
uint16_t max_users_ul_mumimo;
uint32_t twt_ack_support_cap:1;
uint32_t target_cap_flags;
uint8_t ul_mumimo_tx_2g:1,
ul_mumimo_tx_5g:1,
ul_mumimo_tx_6g:1,
ul_mumimo_rx_2g:1,
ul_mumimo_rx_5g:1,
ul_mumimo_rx_6g:1;
#if defined(CONFIG_AFC_SUPPORT)
enum reg_afc_dev_deploy_type afc_dev_type;
#endif

Dosyayı Görüntüle

@@ -13298,6 +13298,25 @@ extract_svc_rdy_ext2_afc_tlv(wmi_service_ready_ext2_event_fixed_param *ev,
}
#endif
/**
* extract_ul_mumimo_support) - extract UL-MUMIMO capability from target cap
* @param: Pointer to hold the params
*
* Return: Void
*/
static void
extract_ul_mumimo_support(struct wlan_psoc_host_service_ext2_param *param)
{
uint32_t tgt_cap = param->target_cap_flags;
param->ul_mumimo_rx_2g = WMI_TARGET_CAP_UL_MU_MIMO_RX_SUPPORT_2GHZ_GET(tgt_cap);
param->ul_mumimo_rx_5g = WMI_TARGET_CAP_UL_MU_MIMO_RX_SUPPORT_5GHZ_GET(tgt_cap);
param->ul_mumimo_rx_6g = WMI_TARGET_CAP_UL_MU_MIMO_RX_SUPPORT_6GHZ_GET(tgt_cap);
param->ul_mumimo_tx_2g = WMI_TARGET_CAP_UL_MU_MIMO_TX_SUPPORT_2GHZ_GET(tgt_cap);
param->ul_mumimo_tx_5g = WMI_TARGET_CAP_UL_MU_MIMO_TX_SUPPORT_5GHZ_GET(tgt_cap);
param->ul_mumimo_tx_6g = WMI_TARGET_CAP_UL_MU_MIMO_TX_SUPPORT_6GHZ_GET(tgt_cap);
}
/**
* extract_service_ready_ext2_tlv() - extract service ready ext2 params from
* event
@@ -13355,6 +13374,7 @@ extract_service_ready_ext2_tlv(wmi_unified_t wmi_handle, uint8_t *event,
param->max_users_ul_mumimo = WMI_MAX_USER_PER_PPDU_UL_MUMIMO_GET(
ev->max_user_per_ppdu_mumimo);
param->target_cap_flags = ev->target_cap_flags;
extract_ul_mumimo_support(param);
wmi_debug("htt peer data :%d", ev->target_cap_flags);
extract_svc_rdy_ext2_afc_tlv(ev, param);