Prechádzať zdrojové kódy

qcacmn: Change burst_duration and min_rest_time value

Enable burst scan for GO+STA case and set the burst
duration as 1 active dwell time.
Burst scan provides higher priority and can ensure
the scan request granted, since P2P GO requests larger
duration for its high priority channel request.
But this value will limit the off-channel time to give
more bandwidth for P2P home channel.
Also, change minimum rest time from 50 to max rest time
i.e. 100 for MCC case for all concurrency combinations.
50ms min reset time only grants 1 home channel in MCC,
when there is only 1 home channel and has heavy traffic,
it can be scheduled firstly as scan BSS channel, and if
activity check found not much traffic for the 1st 50ms,
it decides to go foreign channel directly, the 2nd home
channel with heavy traffic will not get chance to schedule.

Change-Id: I2cd73750709a964bd23896fe10f754caa28c2789
CRs-Fixed: 2716111
Gururaj Pandurangi 5 rokov pred
rodič
commit
c0989c2a3d
1 zmenil súbory, kde vykonal 11 pridanie a 2 odobranie
  1. 11 2
      umac/scan/core/src/wlan_scan_manager.c

+ 11 - 2
umac/scan/core/src/wlan_scan_manager.c

@@ -650,6 +650,10 @@ static void scm_req_update_concurrency_params(struct wlan_objmgr_vdev *vdev,
 		req->scan_req.min_rest_time = req->scan_req.max_rest_time;
 		req->scan_req.min_rest_time = req->scan_req.max_rest_time;
 	}
 	}
 
 
+	if (policy_mgr_current_concurrency_is_mcc(psoc))
+		req->scan_req.min_rest_time =
+			scan_obj->scan_def.conc_max_rest_time;
+
 	/*
 	/*
 	 * If scan req for SAP (ACS Sacn) use dwell_time_active_def as dwell
 	 * If scan req for SAP (ACS Sacn) use dwell_time_active_def as dwell
 	 * time for 2g channels instead of dwell_time_active_2g
 	 * time for 2g channels instead of dwell_time_active_2g
@@ -709,8 +713,13 @@ static void scm_req_update_concurrency_params(struct wlan_objmgr_vdev *vdev,
 				break;
 				break;
 			}
 			}
 
 
-			if (ndi_present ||
-			    ((go_present || p2p_cli_present) && sta_active)) {
+			if (go_present && sta_active) {
+				req->scan_req.burst_duration =
+					req->scan_req.dwell_time_active;
+				break;
+			}
+
+			if (ndi_present || (p2p_cli_present && sta_active)) {
 				req->scan_req.burst_duration = 0;
 				req->scan_req.burst_duration = 0;
 				break;
 				break;
 			}
 			}