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
此提交包含在:
@@ -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
|
||||
}
|
||||
|
||||
/**
|
||||
|
新增問題並參考
封鎖使用者