diff --git a/target_if/init_deinit/src/init_event_handler.c b/target_if/init_deinit/src/init_event_handler.c index 0f5b9b45683c..3b18e3d71bee 100644 --- a/target_if/init_deinit/src/init_event_handler.c +++ b/target_if/init_deinit/src/init_event_handler.c @@ -1,5 +1,6 @@ /* * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -173,6 +174,11 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle, wlan_psoc_nif_fw_ext_cap_set(psoc, WLAN_SOC_CEXT_SCAN_PER_CH_CONFIG); + if (wmi_service_enabled(wmi_handle, + wmi_service_pno_scan_conf_per_ch_support)) + wlan_psoc_nif_fw_ext_cap_set(psoc, + WLAN_SOC_PNO_SCAN_CONFIG_PER_CHANNEL); + if (wmi_service_enabled(wmi_handle, wmi_service_csa_beacon_template)) wlan_psoc_nif_fw_ext_cap_set(psoc, WLAN_SOC_CEXT_CSA_TX_OFFLOAD); diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h index 453fec522438..b9354044764a 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -149,6 +150,9 @@ /* ext event supported by fw */ #define WLAN_SOC_EXT_EVENT_SUPPORTED 0x04000000 +/* check 31st bit for per channel pno scan config flags support */ +#define WLAN_SOC_PNO_SCAN_CONFIG_PER_CHANNEL 0x40000000 + /* feature_flags */ /* CONF: ATH FF enabled */ #define WLAN_SOC_F_FF 0x00000001 diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 4ee01ee2886f..87bc26ff2175 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -5271,6 +5272,7 @@ typedef enum { #ifdef THERMAL_STATS_SUPPORT wmi_service_thermal_stats_temp_range_supported, #endif + wmi_service_pno_scan_conf_per_ch_support, wmi_services_max, } wmi_conv_service_ids; #define WMI_SERVICE_UNAVAILABLE 0xFFFF diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 5ee0bf55b03d..457c94ac4e3a 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -15907,6 +15907,8 @@ static void populate_tlv_service(uint32_t *wmi_service) wmi_service[wmi_service_thermal_stats_temp_range_supported] = WMI_SERVICE_THERMAL_THROT_STATS_TEMP_RANGE_SUPPORT; #endif + wmi_service[wmi_service_pno_scan_conf_per_ch_support] = + WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL; } /**