qcacmn: Add support for handling MLO TSF sync capability

Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
This commit is contained in:
Jhalak Naik
2023-04-17 14:44:32 +05:30
committed by Madan Koyyalamudi
szülő ba55e0f2a8
commit d563641c08
6 fájl változott, egészen pontosan 69 új sor hozzáadva és 0 régi sor törölve

Fájl megtekintése

@@ -224,6 +224,9 @@ static inline void init_deinit_update_tdls_caps(struct wmi_unified *wmi_handle,
{}
#endif
static void init_deinit_mlo_tsf_sync_support(struct wmi_unified *wmi_handle,
struct wlan_objmgr_psoc *psoc);
static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
uint8_t *event,
uint32_t data_len)
@@ -380,6 +383,8 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
init_deinit_update_wifi_pos_caps(wmi_handle, psoc);
init_deinit_update_tdls_caps(wmi_handle, psoc);
init_deinit_mlo_tsf_sync_support(wmi_handle, psoc);
/* override derived value, if it exceeds max peer count */
if ((wlan_psoc_get_max_peer_count(psoc) >
tgt_hdl->info.wlan_res_cfg.num_active_peers) &&
@@ -854,12 +859,30 @@ static void init_deinit_mlo_update_pdev_ready(struct wlan_objmgr_psoc *psoc,
init_deinit_send_ml_link_ready,
NULL, 0, WLAN_INIT_DEINIT_ID);
}
static void init_deinit_mlo_tsf_sync_support(struct wmi_unified *wmi_handle,
struct wlan_objmgr_psoc *psoc)
{
bool mlo_tsf_sync_enab = false;
if (!init_deinit_mlo_capable(psoc))
return;
if (wmi_service_enabled(wmi_handle, wmi_service_mlo_tsf_sync))
mlo_tsf_sync_enab = true;
mlo_update_tsf_sync_support(psoc, mlo_tsf_sync_enab);
}
#else
static void init_deinit_mlo_update_soc_ready(struct wlan_objmgr_psoc *psoc)
{}
static void init_deinit_mlo_update_pdev_ready(struct wlan_objmgr_psoc *psoc,
uint8_t num_radios)
{}
static void init_deinit_mlo_tsf_sync_support(struct wmi_unified *wmi_handle,
struct wlan_objmgr_psoc *psoc)
{}
#endif /*WLAN_FEATURE_11BE_MLO && WLAN_MLO_MULTI_CHIP*/
/* MAC address fourth byte index */