qcacmn: Support vendor handoff service bit info from FW

Add change to fetch and save the WMI service capability
bit of FW to support vendor handoff control feature
using service bit.

Change-Id: I6bc85f2807032bf84d391f34c814c91de906ab42
CRs-Fixed: 3225147
此提交包含在:
abhinav kumar
2022-05-08 16:48:10 +05:30
提交者 Madan Koyyalamudi
父節點 6e1dde7e43
當前提交 f55ec57e32
共有 4 個檔案被更改,包括 36 行新增0 行删除

查看文件

@@ -156,6 +156,31 @@ init_deinit_update_multi_client_ll_caps(struct wmi_unified *wmi_handle,
{}
#endif
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
/**
* init_deinit_update_vendor_handoff_control_caps() - Update vendor handoff
* control service capability bit
* @wmi_handle: wmi hanle
* @psoc: psoc commom object
*
* Return: none
*/
static void
init_deinit_update_vendor_handoff_control_caps(struct wmi_unified *wmi_handle,
struct wlan_objmgr_psoc *psoc)
{
if (wmi_service_enabled(wmi_handle,
wmi_service_configure_vendor_handoff_control_support))
wlan_psoc_nif_fw_ext2_cap_set(psoc,
WLAN_SOC_VENDOR_HANDOFF_CONTROL);
}
#else
static inline void
init_deinit_update_vendor_handoff_control_caps(struct wmi_unified *wmi_handle,
struct wlan_objmgr_psoc *psoc)
{}
#endif
static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
uint8_t *event,
uint32_t data_len)
@@ -369,6 +394,8 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
init_deinit_update_multi_client_ll_caps(wmi_handle, psoc);
init_deinit_update_vendor_handoff_control_caps(wmi_handle, psoc);
if (wmi_service_enabled(wmi_handle, wmi_service_ext_msg)) {
target_if_debug("Wait for EXT message");
} else {

查看文件

@@ -244,6 +244,8 @@
#define WLAN_ROAM_STATS_FRAME_INFO_PER_CANDIDATE 0x00000008
/* multi client feature flags support */
#define WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT 0x00000010
/* vendor handoff control feature support */
#define WLAN_SOC_VENDOR_HANDOFF_CONTROL 0x00000020
/* PSOC op flags */

查看文件

@@ -5736,6 +5736,9 @@ typedef enum {
#endif
#ifdef MULTI_CLIENT_LL_SUPPORT
wmi_service_configure_multi_client_ll_support,
#endif
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
wmi_service_configure_vendor_handoff_control_support,
#endif
wmi_services_max,
} wmi_conv_service_ids;

查看文件

@@ -19438,6 +19438,10 @@ static void populate_tlv_service(uint32_t *wmi_service)
wmi_service[wmi_service_configure_multi_client_ll_support] =
WMI_SERVICE_MULTI_CLIENT_LL_SUPPORT;
#endif
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
wmi_service[wmi_service_configure_vendor_handoff_control_support] =
WMI_SERVICE_FW_INI_PARSE_SUPPORT;
#endif
}
/**