Explorar o código

qcacmn: Add support to build Spectral detector list for split-PHY mode

Currently, the Spectral detector list building logic assumes that only
5 GHz or 6 GHz participates in SBS modes. With Split-PHY mode in QCN9224,
even a 2.4 GHz radio can participate in SBS mode.
So, consider this case as well while building the detector list.

Change-Id: I99c841584c52785e94c8ee1b0d59494cbdd37f42
CRs-Fixed: 3252986
Shiva Krishna Pittala %!s(int64=2) %!d(string=hai) anos
pai
achega
98b4eee3ac
Modificáronse 1 ficheiros con 11 adicións e 20 borrados
  1. 11 20
      target_if/spectral/target_if_spectral.c

+ 11 - 20
target_if/spectral/target_if_spectral.c

@@ -3411,10 +3411,6 @@ target_if_find_sscan_pdev_phya1(struct wlan_objmgr_psoc *psoc,
 		       cur_mac_phy_caps->supported_bands,
 		       cur_mac_phy_caps->phy_id);
 
-	/* No need to do anything if the current pdev is not a 5GHz pdev */
-	if (!(cur_mac_phy_caps->supported_bands & WMI_HOST_WLAN_5G_CAPABILITY))
-		return;
-
 	/* No need to do anything if the current pdev is same as sscan_pdev */
 	if (sscan_pdev_phy_info->phy_id == cur_mac_phy_caps->phy_id)
 		return;
@@ -3455,7 +3451,7 @@ target_if_spectral_detector_list_init(struct target_if_spectral *spectral)
 
 	/**
 	 * Special handling is required for SBS mode where the detector
-	 * list should be following for the 5GHz pdevs.
+	 * list should be the following.
 	 * For the pdev that use PHYA0:
 	 *    detector 0 for normal mode
 	 *    detector 2 for agile mode
@@ -3479,6 +3475,7 @@ target_if_spectral_detector_list_init(struct target_if_spectral *spectral)
 
 	if (is_hw_mode_sbs) {
 		struct wlan_psoc_host_mac_phy_caps *mac_phy_caps;
+		struct target_if_sscan_pdev_phy_info pdev_phy_info;
 
 		mac_phy_caps =
 			target_if_get_pdev_mac_phy_caps(spectral->pdev_obj);
@@ -3492,22 +3489,16 @@ target_if_spectral_detector_list_init(struct target_if_spectral *spectral)
 			       mac_phy_caps->supported_bands,
 			       mac_phy_caps->phy_id);
 
-		 /* We only care about 5GHz pdevs */
-		if (mac_phy_caps->supported_bands &
-		    WMI_HOST_WLAN_5G_CAPABILITY) {
-			struct target_if_sscan_pdev_phy_info pdev_phy_info;
-
-			pdev_phy_info.phy_id = mac_phy_caps->phy_id;
-			pdev_phy_info.is_using_phya1 = &is_using_phya1;
+		pdev_phy_info.phy_id = mac_phy_caps->phy_id;
+		pdev_phy_info.is_using_phya1 = &is_using_phya1;
 
-			/* Iterate over all pdevs on this psoc */
-			wlan_objmgr_iterate_obj_list
-				(wlan_pdev_get_psoc(spectral->pdev_obj),
-				 WLAN_PDEV_OP,
-				 target_if_find_sscan_pdev_phya1,
-				 &pdev_phy_info, 0,
-				 WLAN_SPECTRAL_ID);
-		}
+		/* Iterate over all pdevs on this psoc */
+		wlan_objmgr_iterate_obj_list
+			(wlan_pdev_get_psoc(spectral->pdev_obj),
+			 WLAN_PDEV_OP,
+			 target_if_find_sscan_pdev_phya1,
+			 &pdev_phy_info, 0,
+			 WLAN_SPECTRAL_ID);
 	}
 
 	/**