From c0989c2a3d471decee995bd67d068d447069e984 Mon Sep 17 00:00:00 2001 From: Gururaj Pandurangi Date: Tue, 14 Jul 2020 01:43:50 -0700 Subject: [PATCH] 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 --- umac/scan/core/src/wlan_scan_manager.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/umac/scan/core/src/wlan_scan_manager.c b/umac/scan/core/src/wlan_scan_manager.c index 7620c279b879..74bf6bdea027 100644 --- a/umac/scan/core/src/wlan_scan_manager.c +++ b/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; } + 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 * 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; } - 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; break; }