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
This commit is contained in:

committed by
Madan Koyyalamudi

parent
6e1dde7e43
commit
f55ec57e32
@@ -156,6 +156,31 @@ init_deinit_update_multi_client_ll_caps(struct wmi_unified *wmi_handle,
|
|||||||
{}
|
{}
|
||||||
#endif
|
#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,
|
static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
|
||||||
uint8_t *event,
|
uint8_t *event,
|
||||||
uint32_t data_len)
|
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_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)) {
|
if (wmi_service_enabled(wmi_handle, wmi_service_ext_msg)) {
|
||||||
target_if_debug("Wait for EXT message");
|
target_if_debug("Wait for EXT message");
|
||||||
} else {
|
} else {
|
||||||
|
@@ -244,6 +244,8 @@
|
|||||||
#define WLAN_ROAM_STATS_FRAME_INFO_PER_CANDIDATE 0x00000008
|
#define WLAN_ROAM_STATS_FRAME_INFO_PER_CANDIDATE 0x00000008
|
||||||
/* multi client feature flags support */
|
/* multi client feature flags support */
|
||||||
#define WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT 0x00000010
|
#define WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT 0x00000010
|
||||||
|
/* vendor handoff control feature support */
|
||||||
|
#define WLAN_SOC_VENDOR_HANDOFF_CONTROL 0x00000020
|
||||||
|
|
||||||
/* PSOC op flags */
|
/* PSOC op flags */
|
||||||
|
|
||||||
|
@@ -5736,6 +5736,9 @@ typedef enum {
|
|||||||
#endif
|
#endif
|
||||||
#ifdef MULTI_CLIENT_LL_SUPPORT
|
#ifdef MULTI_CLIENT_LL_SUPPORT
|
||||||
wmi_service_configure_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
|
#endif
|
||||||
wmi_services_max,
|
wmi_services_max,
|
||||||
} wmi_conv_service_ids;
|
} 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[wmi_service_configure_multi_client_ll_support] =
|
||||||
WMI_SERVICE_MULTI_CLIENT_LL_SUPPORT;
|
WMI_SERVICE_MULTI_CLIENT_LL_SUPPORT;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef WLAN_VENDOR_HANDOFF_CONTROL
|
||||||
|
wmi_service[wmi_service_configure_vendor_handoff_control_support] =
|
||||||
|
WMI_SERVICE_FW_INI_PARSE_SUPPORT;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user