ソースを参照

qcacmn: Initialize preferred_hw_mode to MAX

Initializing preferred_hw_mode to WMI_HOST_HW_MODE_MAX and removing
preferred_mode check. This is needed for Napier where preferred_hw_mode
of 0 is a valid configuation which represents single radio mode.

Change-Id: I8998745427427021f219667e03f767c66527d579
CRs-Fixed: 2192227
Nandha Kishore Easwaran 7 年 前
コミット
8bb56ebedc

+ 1 - 1
target_if/core/inc/target_if.h

@@ -644,7 +644,7 @@ static inline uint32_t target_psoc_get_preferred_hw_mode
 		(struct target_psoc_info *psoc_info)
 {
 	if (psoc_info == NULL)
-		return (uint32_t)-1;
+		return WMI_HOST_HW_MODE_MAX;
 
 	return psoc_info->info.preferred_hw_mode;
 }

+ 1 - 0
target_if/core/src/target_if_main.c

@@ -510,6 +510,7 @@ QDF_STATUS target_if_alloc_psoc_tgt_info(struct wlan_objmgr_psoc *psoc)
 	}
 
 	wlan_psoc_set_tgt_if_handle(psoc, tgt_psoc_info);
+	target_psoc_set_preferred_hw_mode(tgt_psoc_info, WMI_HOST_HW_MODE_MAX);
 
 	qdf_init_waitqueue_head(&tgt_psoc_info->info.event_queue);
 

+ 5 - 2
target_if/init_deinit/src/service_ready_util.c

@@ -224,7 +224,7 @@ int init_deinit_populate_hw_mode_capability(void *wmi_handle,
 		if (status)
 			goto return_exit;
 
-		if (preferred_mode &&
+		if ((preferred_mode != WMI_HOST_HW_MODE_MAX) &&
 		    (hw_mode_caps[hw_idx].hw_mode_id != preferred_mode))
 			continue;
 
@@ -233,7 +233,7 @@ int init_deinit_populate_hw_mode_capability(void *wmi_handle,
 		if (status)
 			goto return_exit;
 
-		if (preferred_mode &&
+		if ((preferred_mode != WMI_HOST_HW_MODE_MAX) &&
 		    (hw_mode_caps[hw_idx].hw_mode_id == preferred_mode)) {
 			info->num_radios = info->total_mac_phy_cnt;
 			target_if_info("num radios is %d\n", info->num_radios);
@@ -520,6 +520,9 @@ bool init_deinit_is_preferred_hw_mode_supported(
 
 	info = &tgt_hdl->info;
 
+	if (info->preferred_hw_mode == WMI_HOST_HW_MODE_MAX)
+		return TRUE;
+
 	for (i = 0; i < target_psoc_get_total_mac_phy_cnt(tgt_hdl); i++) {
 		if (info->mac_phy_cap[i].hw_mode_id == info->preferred_hw_mode)
 			return TRUE;