mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
qcacmn: Get max user capabilities from WMI ready
Retrieve the max users per-PPDU supported in Uplink and Downlink direction, from the fixed params of WMI service ready ext2 event. CRs-Fixed: 2747218 Change-Id: Ib9f9bd4313dd1955c607d4fe77b02e34761d1c20
This commit is contained in:
parent
486612addf
commit
c19a2cd793
3 changed files with 58 additions and 0 deletions
|
|
@ -336,6 +336,20 @@ struct target_pdev_info {
|
|||
void *feature_ptr;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct target_mu_caps - max number of users per-PPDU for OFDMA/MU-MIMO
|
||||
* @ofdma_dl: max users for Downlink OFDMA transmissions
|
||||
* @ofdma_ul: max users for Uplink OFDMA transmissions
|
||||
* @mumimo_dl: max users for Downlink MU-MIMO transmissions
|
||||
* @mumimo_ul: max users for Uplink MU-MIMO transmissions
|
||||
*/
|
||||
struct target_mu_caps {
|
||||
uint16_t ofdma_dl;
|
||||
uint16_t ofdma_ul;
|
||||
uint16_t mumimo_dl;
|
||||
uint16_t mumimo_ul;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* target_if_init() - target_if Initialization
|
||||
|
|
@ -2451,4 +2465,32 @@ static inline uint32_t target_psoc_get_preamble_puncture_cap(
|
|||
|
||||
return psoc_info->info.service_ext2_param.preamble_puncture_bw_cap;
|
||||
}
|
||||
|
||||
/**
|
||||
* target_psoc_get_mu_max_users() - Get max users for MU transmissions
|
||||
* @psoc_info: pointer to structure target_psoc_info
|
||||
* @mu_caps: pointer to structure for max OFDMA/MU-MIMO users per-PPDU
|
||||
*
|
||||
* API to get the max number of users per-PPDU supported for Uplink/Downlink
|
||||
* MU transmissions.
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void target_psoc_get_mu_max_users(
|
||||
struct target_psoc_info *psoc_info,
|
||||
struct target_mu_caps *mu_caps)
|
||||
{
|
||||
struct wlan_psoc_host_service_ext2_param *service_ext2_param;
|
||||
|
||||
if (!psoc_info || !mu_caps)
|
||||
return;
|
||||
|
||||
service_ext2_param = &psoc_info->info.service_ext2_param;
|
||||
|
||||
mu_caps->ofdma_dl = service_ext2_param->max_users_dl_ofdma;
|
||||
mu_caps->ofdma_ul = service_ext2_param->max_users_ul_ofdma;
|
||||
mu_caps->mumimo_dl = service_ext2_param->max_users_dl_mumimo;
|
||||
mu_caps->mumimo_ul = service_ext2_param->max_users_ul_mumimo;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -400,6 +400,10 @@ struct wlan_psoc_host_service_ext_param {
|
|||
* @max_ndp_sessions: Max number of ndp session fw supports
|
||||
* @preamble_puncture_bw_cap: Preamble Puncturing Tx support
|
||||
* @num_scan_radio_caps: Number of scan radio capabilities
|
||||
* @max_users_dl_ofdma: Max number of users per-PPDU for Downlink OFDMA
|
||||
* @max_users_ul_ofdma: Max number of users per-PPDU for Uplink OFDMA
|
||||
* @max_users_dl_mumimo: Max number of users per-PPDU for Downlink MU-MIMO
|
||||
* @max_users_ul_mumimo: Max number of users per-PPDU for Uplink MU-MIMO
|
||||
*/
|
||||
struct wlan_psoc_host_service_ext2_param {
|
||||
uint8_t reg_db_version_major;
|
||||
|
|
@ -411,6 +415,10 @@ struct wlan_psoc_host_service_ext2_param {
|
|||
uint32_t max_ndp_sessions;
|
||||
uint32_t preamble_puncture_bw_cap;
|
||||
uint8_t num_scan_radio_caps;
|
||||
uint16_t max_users_dl_ofdma;
|
||||
uint16_t max_users_ul_ofdma;
|
||||
uint16_t max_users_dl_mumimo;
|
||||
uint16_t max_users_ul_mumimo;
|
||||
};
|
||||
|
||||
#endif /* _SERVICE_READY_PARAM_H_*/
|
||||
|
|
|
|||
|
|
@ -10644,6 +10644,14 @@ extract_service_ready_ext2_tlv(wmi_unified_t wmi_handle, uint8_t *event,
|
|||
|
||||
param->preamble_puncture_bw_cap = ev->preamble_puncture_bw;
|
||||
param->num_scan_radio_caps = param_buf->num_wmi_scan_radio_caps;
|
||||
param->max_users_dl_ofdma = WMI_MAX_USER_PER_PPDU_DL_OFDMA_GET(
|
||||
ev->max_user_per_ppdu_ofdma);
|
||||
param->max_users_ul_ofdma = WMI_MAX_USER_PER_PPDU_UL_OFDMA_GET(
|
||||
ev->max_user_per_ppdu_ofdma);
|
||||
param->max_users_dl_mumimo = WMI_MAX_USER_PER_PPDU_DL_MUMIMO_GET(
|
||||
ev->max_user_per_ppdu_mumimo);
|
||||
param->max_users_ul_mumimo = WMI_MAX_USER_PER_PPDU_UL_MUMIMO_GET(
|
||||
ev->max_user_per_ppdu_mumimo);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue