From 01cf133ef4c55668e664c33f10973bda02e20041 Mon Sep 17 00:00:00 2001 From: Srikanth Marepalli Date: Fri, 28 May 2021 18:29:32 +0530 Subject: [PATCH] qcacmn: Add the support for SAE EAPOL handshake offload Set the SAE EAPOL offload support in resource config based on WMI_SERVICE_SAE_EAPOL_OFFLOAD_SUPPORT bit received in service bitmap from Firmware. Change-Id: I878736105c070df514dfe8d989541227b3baad11 CRs-Fixed: 2957082 --- wmi/inc/wmi_unified_param.h | 2 ++ wmi/src/wmi_unified_tlv.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index e0be8581423f..d06aefa59a0f 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -5246,6 +5246,7 @@ typedef enum { #ifdef WLAN_FEATURE_IGMP_OFFLOAD wmi_service_igmp_offload_support, #endif + wmi_service_sae_eapol_offload_support, wmi_services_max, } wmi_conv_service_ids; #define WMI_SERVICE_UNAVAILABLE 0xFFFF @@ -5500,6 +5501,7 @@ typedef struct { uint32_t max_ndi; uint32_t is_sap_connected_d3wow_enabled; uint32_t is_go_connected_d3wow_enabled; + bool sae_eapol_offload; } target_resource_config; /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index c0191c9e62f8..e92c180384b8 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -7315,6 +7315,10 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg, WMI_RSRC_CFG_FLAGS2_IS_GO_CONNECTED_D3WOW_ENABLED_SET( resource_cfg->flags2, 1); + if (tgt_res_cfg->sae_eapol_offload) + WMI_RSRC_CFG_HOST_SERVICE_FLAG_SAE_EAPOL_OFFLOAD_SUPPORT_SET( + resource_cfg->host_service_flags, 1); + WMI_RSRC_CFG_HOST_SERVICE_FLAG_REG_CC_EXT_SUPPORT_SET( resource_cfg->host_service_flags, tgt_res_cfg->is_reg_cc_ext_event_supported); @@ -15643,6 +15647,8 @@ static void populate_tlv_service(uint32_t *wmi_service) wmi_service[wmi_service_twt_statistics] = WMI_SERVICE_TWT_STATS; #endif + wmi_service[wmi_service_sae_eapol_offload_support] = + WMI_SERVICE_SAE_EAPOL_OFFLOAD_SUPPORT; wmi_populate_service_get_sta_in_ll_stats_req(wmi_service); wmi_service[wmi_service_wapi_concurrency_supported] =