qcacld-3.0: Add additional debug logs for rso commands

Add debug logs on the sending WMI_ROAM_SCAN_RSSI_THRESHOLD
/WMI_ROAM_FILTER_CMDID/WMI_ROAM_BTM_CONFIG_CMDID
/WMI_11K_OFFLOAD_REPORT_CMDID commands path.

If mawc roaming is not supported by firmware, don't send
WMI_ROAM_CONFIGURE_MAWC_CMDID command.

Add rssi reject AP list to the roam params process in function
csr_cm_roam_scan_filter().

Change-Id: I89e6dcac801e552877f7e918d1179dfa3466857a
CRs-Fixed: 2775101
This commit is contained in:
hqu
2020-09-08 21:56:36 +08:00
committed by snandini
parent 87e9e5c2e4
commit 193727e455
4 changed files with 98 additions and 33 deletions

View File

@@ -450,12 +450,13 @@ target_if_cm_roam_scan_offload_rssi_thresh(
} }
} }
target_if_debug("good_rssi_threshold %d, early_stop_thresholds en=%d, min=%d, max=%d roam_scan_rssi_thresh=%d, roam_rssi_thresh_diff=%d", target_if_debug("RSO_CFG: db2dbm enabled:%d, good_rssi_threshold:%d, early_stop_thresholds en:%d, min:%d, max:%d, roam_scan_rssi_thresh:%d, roam_rssi_thresh_diff:%d",
req->good_rssi_threshold, req->early_stop_scan_enable, db2dbm_enabled, req->good_rssi_threshold,
req->early_stop_scan_enable,
req->roam_earlystop_thres_min, req->roam_earlystop_thres_min,
req->roam_earlystop_thres_max, req->rssi_thresh, req->roam_earlystop_thres_max, req->rssi_thresh,
req->rssi_thresh_diff); req->rssi_thresh_diff);
target_if_debug("hirssi max cnt %d, delta %d, hirssi upper bound %d dense rssi thresh offset %d, dense min aps cnt %d, traffic_threshold %d dense_status=%d", target_if_debug("RSO_CFG: hirssi max cnt:%d, delta:%d, hirssi upper bound:%d, dense rssi thresh offset:%d, dense min aps cnt:%d, traffic_threshold:%d, dense_status:%d",
req->hi_rssi_scan_max_count, req->hi_rssi_scan_max_count,
req->hi_rssi_scan_rssi_delta, req->hi_rssi_scan_rssi_delta,
req->hi_rssi_scan_rssi_ub, req->hi_rssi_scan_rssi_ub,
@@ -463,11 +464,22 @@ target_if_cm_roam_scan_offload_rssi_thresh(
req->dense_min_aps_cnt, req->dense_min_aps_cnt,
req->traffic_threshold, req->traffic_threshold,
req->initial_dense_status); req->initial_dense_status);
target_if_debug("BG Scan Bad RSSI:%d, bitmap:0x%x Offset for 2G to 5G Roam:%d", target_if_debug("RSO_CFG: raise rssi threshold 5g:%d, drop rssi threshold 5g:%d, penalty threshold 5g:%d, boost threshold 5g:%d",
req->raise_rssi_thresh_5g,
req->drop_rssi_thresh_5g,
req->penalty_threshold_5g,
req->boost_threshold_5g);
target_if_debug("RSO_CFG: raise factor 5g:%d, drop factor 5g:%d, max raise rssi 5g:%d, max drop rssi 5g:%d, rssi threshold offset 5g:%d",
req->raise_factor_5g,
req->raise_factor_5g,
req->max_raise_rssi_5g,
req->max_drop_rssi_5g,
req->rssi_thresh_offset_5g);
target_if_debug("RSO_CFG: BG Scan Bad RSSI:%d, bitmap:0x%x Offset for 2G to 5G Roam:%d",
req->bg_scan_bad_rssi_thresh, req->bg_scan_bad_rssi_thresh,
req->bg_scan_client_bitmap, req->bg_scan_client_bitmap,
req->roam_bad_rssi_thresh_offset_2g); req->roam_bad_rssi_thresh_offset_2g);
target_if_debug("Roam data rssi triggers:0x%x, threshold:%d, rx time:%d", target_if_debug("RSO_CFG: Roam data rssi triggers:0x%x, threshold:%d, rx time:%d",
req->roam_data_rssi_threshold_triggers, req->roam_data_rssi_threshold_triggers,
req->roam_data_rssi_threshold, req->roam_data_rssi_threshold,
req->rx_data_inactivity_time); req->rx_data_inactivity_time);
@@ -684,6 +696,10 @@ target_if_cm_roam_scan_filter(wmi_unified_t wmi_handle, uint8_t command,
} }
} }
target_if_debug("RSO_CFG: op_bitmap:0x%x num_rssi_rejection_ap:%d delta_rssi:%d",
req->filter_params.op_bitmap,
req->filter_params.num_rssi_rejection_ap,
req->filter_params.delta_rssi);
status = wmi_unified_roam_scan_filter_cmd(wmi_handle, status = wmi_unified_roam_scan_filter_cmd(wmi_handle,
&req->filter_params); &req->filter_params);
return status; return status;
@@ -702,9 +718,12 @@ static QDF_STATUS
target_if_cm_roam_scan_btm_offload(wmi_unified_t wmi_handle, target_if_cm_roam_scan_btm_offload(wmi_unified_t wmi_handle,
struct wlan_roam_btm_config *req) struct wlan_roam_btm_config *req)
{ {
target_if_debug("vdev %u btm_offload:%u btm_query_bitmask:%u btm_candidate_min_score:%d", target_if_debug("RSO_CFG: vdev_id:%u btm_offload:%u btm_query_bitmask:%u btm_candidate_min_score:%u",
req->vdev_id, req->btm_offload_config, req->vdev_id, req->btm_offload_config,
req->btm_query_bitmask, req->btm_candidate_min_score); req->btm_query_bitmask, req->btm_candidate_min_score);
target_if_debug("RSO_CFG: btm_solicited_timeout:%u btm_max_attempt_cnt:%u btm_sticky_time:%u disassoc_timer_threshold:%u",
req->btm_solicited_timeout, req->btm_max_attempt_cnt,
req->btm_sticky_time, req->disassoc_timer_threshold);
return wmi_unified_send_btm_config(wmi_handle, req); return wmi_unified_send_btm_config(wmi_handle, req);
} }
@@ -771,7 +790,7 @@ target_if_cm_roam_bss_load_config(wmi_unified_t wmi_handle,
req->rssi_threshold_24ghz &= 0x000000ff; req->rssi_threshold_24ghz &= 0x000000ff;
} }
target_if_debug("Bss load trig params vdev %u threshold %u sample_time: %u 5Ghz RSSI threshold:%d 2.4G rssi threshold:%d", target_if_debug("RSO_CFG: bss load trig params vdev_id:%u threshold:%u sample_time:%u 5Ghz RSSI threshold:%d 2.4G rssi threshold:%d",
req->vdev_id, req->bss_load_threshold, req->vdev_id, req->bss_load_threshold,
req->bss_load_sample_time, req->rssi_threshold_5ghz, req->bss_load_sample_time, req->rssi_threshold_5ghz,
req->rssi_threshold_24ghz); req->rssi_threshold_24ghz);
@@ -948,10 +967,10 @@ target_if_cm_roam_send_start(struct wlan_objmgr_vdev *vdev,
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
target_if_err("Sending roaming MAWC params failed"); target_if_err("Sending roaming MAWC params failed");
goto end; goto end;
}
} else { } else {
target_if_debug("MAWC roaming not supported by firmware"); target_if_debug("MAWC roaming not supported by firmware");
} }
}
status = target_if_cm_roam_scan_offload_mode(wmi_handle, status = target_if_cm_roam_scan_offload_mode(wmi_handle,
&req->rso_config); &req->rso_config);

View File

@@ -4023,6 +4023,18 @@ send_offload_11k_cmd_tlv(wmi_unified_t wmi_handle,
neighbor_report_offload->ssid.ssid_len); neighbor_report_offload->ssid.ssid_len);
} }
wmi_debug("RSO_CFG: 11k_bitmask:%u time_offset:%u low_rssi_offset:%u bmiss_count_trigger:%u per_threshold_offset%u",
params->offload_11k_bitmask,
params->neighbor_report_params.time_offset,
params->neighbor_report_params.low_rssi_offset,
params->neighbor_report_params.bmiss_count_trigger,
params->neighbor_report_params.per_threshold_offset);
wmi_debug("RSO_CFG: neighbor_report_cache_timeout:%u max_neighbor_report_req_cap:%u SSID:%.*s",
params->neighbor_report_params.neighbor_report_cache_timeout,
params->neighbor_report_params.max_neighbor_report_req_cap,
params->neighbor_report_params.ssid.length,
params->neighbor_report_params.ssid.ssid);
wmi_mtrace(WMI_11K_OFFLOAD_REPORT_CMDID, cmd->vdev_id, 0); wmi_mtrace(WMI_11K_OFFLOAD_REPORT_CMDID, cmd->vdev_id, 0);
status = wmi_unified_cmd_send(wmi_handle, buf, len, status = wmi_unified_cmd_send(wmi_handle, buf, len,
WMI_11K_OFFLOAD_REPORT_CMDID); WMI_11K_OFFLOAD_REPORT_CMDID);

View File

@@ -17838,6 +17838,7 @@ static void check_allowed_ssid_list(struct roam_offload_scan_req *req_buffer,
roam_params->num_ssid_allowed_list++; roam_params->num_ssid_allowed_list++;
} }
} }
#endif
/** /**
* csr_add_rssi_reject_ap_list() - add rssi reject AP list to the * csr_add_rssi_reject_ap_list() - add rssi reject AP list to the
@@ -17880,7 +17881,6 @@ csr_add_rssi_reject_ap_list(struct mac_context *mac_ctx,
qdf_mem_free(reject_list); qdf_mem_free(reject_list);
} }
#endif
/** /**
* csr_update_11k_offload_params - Update 11K offload params * csr_update_11k_offload_params - Update 11K offload params
@@ -20766,6 +20766,14 @@ csr_cm_roam_scan_filter(struct mac_context *mac_ctx, uint8_t vdev_id,
scan_filter_params->reason = reason; scan_filter_params->reason = reason;
params = &scan_filter_params->filter_params; params = &scan_filter_params->filter_params;
roam_params = &mac_ctx->roam.configParam.roam_params; roam_params = &mac_ctx->roam.configParam.roam_params;
/*
* If rssi disallow bssid list have any member
* fill it and send it to firmware so that firmware does not
* try to roam to these BSS until RSSI OR time condition are
* matched.
*/
csr_add_rssi_reject_ap_list(mac_ctx, roam_params);
if (command != ROAM_SCAN_OFFLOAD_STOP) { if (command != ROAM_SCAN_OFFLOAD_STOP) {
switch (reason) { switch (reason) {
case REASON_ROAM_SET_BLACKLIST_BSSID: case REASON_ROAM_SET_BLACKLIST_BSSID:
@@ -20803,7 +20811,9 @@ csr_cm_roam_scan_filter(struct mac_context *mac_ctx, uint8_t vdev_id,
* across connections. * across connections.
*/ */
op_bitmap = 0x2 | 0x4; op_bitmap = 0x2 | 0x4;
num_ssid_white_list = roam_params->num_ssid_allowed_list; if (reason == REASON_ROAM_SET_SSID_ALLOWED)
num_ssid_white_list =
roam_params->num_ssid_allowed_list;
num_bssid_preferred_list = roam_params->num_bssid_favored; num_bssid_preferred_list = roam_params->num_bssid_favored;
} }
@@ -20816,8 +20826,11 @@ csr_cm_roam_scan_filter(struct mac_context *mac_ctx, uint8_t vdev_id,
params->num_rssi_rejection_ap = num_rssi_rejection_ap; params->num_rssi_rejection_ap = num_rssi_rejection_ap;
params->delta_rssi = params->delta_rssi =
wlan_blm_get_rssi_blacklist_threshold(mac_ctx->pdev); wlan_blm_get_rssi_blacklist_threshold(mac_ctx->pdev);
qdf_mem_copy(params->bssid_avoid_list, roam_params->bssid_avoid_list, if (params->num_bssid_black_list)
MAX_BSSID_AVOID_LIST * sizeof(struct qdf_mac_addr)); qdf_mem_copy(params->bssid_avoid_list,
roam_params->bssid_avoid_list,
MAX_BSSID_AVOID_LIST *
sizeof(struct qdf_mac_addr));
for (i = 0; i < num_ssid_white_list; i++) { for (i = 0; i < num_ssid_white_list; i++) {
qdf_mem_copy(params->ssid_allowed_list[i].ssid, qdf_mem_copy(params->ssid_allowed_list[i].ssid,
@@ -20833,10 +20846,14 @@ csr_cm_roam_scan_filter(struct mac_context *mac_ctx, uint8_t vdev_id,
for (i = 0; i < params->num_bssid_black_list; i++) for (i = 0; i < params->num_bssid_black_list; i++)
sme_debug("Blacklist bssid[%d]:" QDF_MAC_ADDR_FMT, i, sme_debug("Blacklist bssid[%d]:" QDF_MAC_ADDR_FMT, i,
QDF_MAC_ADDR_REF(params->bssid_avoid_list[i].bytes)); QDF_MAC_ADDR_REF(params->bssid_avoid_list[i].bytes));
if (params->num_bssid_preferred_list) {
qdf_mem_copy(params->bssid_favored, roam_params->bssid_favored, qdf_mem_copy(params->bssid_favored, roam_params->bssid_favored,
MAX_BSSID_FAVORED * sizeof(struct qdf_mac_addr)); MAX_BSSID_FAVORED * sizeof(struct qdf_mac_addr));
qdf_mem_copy(params->bssid_favored_factor, qdf_mem_copy(params->bssid_favored_factor,
roam_params->bssid_favored_factor, MAX_BSSID_FAVORED); roam_params->bssid_favored_factor,
MAX_BSSID_FAVORED);
}
if (params->num_rssi_rejection_ap)
qdf_mem_copy(params->rssi_rejection_ap, qdf_mem_copy(params->rssi_rejection_ap,
roam_params->rssi_reject_bssid_list, roam_params->rssi_reject_bssid_list,
MAX_RSSI_AVOID_BSSID_LIST * MAX_RSSI_AVOID_BSSID_LIST *
@@ -21009,7 +21026,8 @@ wlan_cm_roam_fill_stop_req(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
* Disable offload_11k_params for current vdev * Disable offload_11k_params for current vdev
*/ */
req->roam_11k_params.vdev_id = vdev_id; req->roam_11k_params.vdev_id = vdev_id;
csr_cm_roam_scan_filter(mac_ctx, vdev_id, ROAM_SCAN_OFFLOAD_STOP,
reason, &req->scan_filter_params);
csr_cm_roam_scan_offload_fill_rso_configs(mac_ctx, session, csr_cm_roam_scan_offload_fill_rso_configs(mac_ctx, session,
&req->rso_config, &req->rso_config,
NULL, NULL,

View File

@@ -689,8 +689,9 @@ wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle,
params.rssi_thresh_offset_5g = params.rssi_thresh_offset_5g =
roam_req->rssi_thresh_offset_5g; roam_req->rssi_thresh_offset_5g;
wma_debug("good_rssi_threshold %d, early_stop_thresholds en=%d, min=%d, max=%d roam_scan_rssi_thresh=%d, roam_rssi_thresh_diff=%d", wma_debug("db2dbm enabled:%d, good_rssi_threshold:%d, early_stop_thresholds en:%d, min:%d, max:%d, roam_scan_rssi_thresh:%d, roam_rssi_thresh_diff:%d",
params.good_rssi_threshold, roam_req->early_stop_scan_enable, db2dbm_enabled, params.good_rssi_threshold,
roam_req->early_stop_scan_enable,
params.roam_earlystop_thres_min, params.roam_earlystop_thres_min,
params.roam_earlystop_thres_max, rssi_thresh, params.roam_earlystop_thres_max, rssi_thresh,
rssi_thresh_diff); rssi_thresh_diff);
@@ -702,12 +703,20 @@ wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle,
return status; return status;
} }
wma_debug("hirssi max cnt %d, delta %d, hirssi upper bound %d dense rssi thresh offset %d, dense min aps cnt %d, traffic_threshold %d dense_status=%d", wma_debug("hirssi max cnt:%d, delta:%d, hirssi upper bound:%d, dense rssi thresh offset:%d, dense min aps cnt:%d, traffic_threshold:%d, dense_status:%d",
hirssi_scan_max_count, hirssi_scan_delta, hirssi_upper_bound, hirssi_scan_max_count, hirssi_scan_delta,
params.hi_rssi_scan_rssi_ub,
roam_params->dense_rssi_thresh_offset, roam_params->dense_rssi_thresh_offset,
roam_params->dense_min_aps_cnt, roam_params->dense_min_aps_cnt,
roam_params->traffic_threshold, roam_params->traffic_threshold,
roam_params->initial_dense_status); roam_params->initial_dense_status);
wma_debug("raise rssi threshold 5g:%d, drop rssi threshold 5g:%d, penalty threshold 5g:%d, boost threshold 5g:%d",
params.raise_rssi_thresh_5g, roam_params->drop_rssi_thresh_5g,
params.penalty_threshold_5g, params.boost_threshold_5g);
wma_debug("raise factor 5g:%d, drop factor 5g:%d, max raise rssi 5g:%d, max drop rssi 5g:%d, rssi threshold offset 5g:%d",
params.raise_factor_5g, params.raise_factor_5g,
params.max_raise_rssi_5g, params.max_drop_rssi_5g,
params.rssi_thresh_offset_5g);
wma_debug("BG Scan Bad RSSI:%d, bitmap:0x%x Offset for 2G to 5G Roam:%d", wma_debug("BG Scan Bad RSSI:%d, bitmap:0x%x Offset for 2G to 5G Roam:%d",
roam_params->bg_scan_bad_rssi_thresh, roam_params->bg_scan_bad_rssi_thresh,
roam_params->bg_scan_client_bitmap, roam_params->bg_scan_client_bitmap,
@@ -1522,6 +1531,10 @@ static QDF_STATUS wma_roam_scan_filter(tp_wma_handle wma_handle,
qdf_mem_copy(params->bssid_avoid_list, roam_params->bssid_avoid_list, qdf_mem_copy(params->bssid_avoid_list, roam_params->bssid_avoid_list,
MAX_BSSID_AVOID_LIST * sizeof(struct qdf_mac_addr)); MAX_BSSID_AVOID_LIST * sizeof(struct qdf_mac_addr));
wma_debug("op_bitmap:0x%x num_rssi_rejection_ap:%d delta_rssi:%d",
params->op_bitmap, params->num_rssi_rejection_ap,
params->delta_rssi);
for (i = 0; i < num_ssid_white_list; i++) { for (i = 0; i < num_ssid_white_list; i++) {
qdf_mem_copy(params->ssid_allowed_list[i].ssid, qdf_mem_copy(params->ssid_allowed_list[i].ssid,
roam_params->ssid_allowed_list[i].ssId, roam_params->ssid_allowed_list[i].ssId,
@@ -1664,9 +1677,12 @@ wma_roam_scan_btm_offload(tp_wma_handle wma_handle,
params->btm_candidate_min_score = params->btm_candidate_min_score =
roam_req->btm_trig_min_candidate_score; roam_req->btm_trig_min_candidate_score;
wma_debug("vdev %u btm_offload:%u btm_query_bitmask:%u btm_candidate_min_score:%d", wma_debug("vdev_id:%u btm_offload:%u btm_query_bitmask:%u btm_candidate_min_score:%u",
params->vdev_id, params->btm_offload_config, params->vdev_id, params->btm_offload_config,
params->btm_query_bitmask, params->btm_candidate_min_score); params->btm_query_bitmask, params->btm_candidate_min_score);
wma_debug("btm_solicited_timeout:%u btm_max_attempt_cnt:%u btm_sticky_time:%u disassoc_timer_threshold:%u",
params->btm_solicited_timeout, params->btm_max_attempt_cnt,
params->btm_sticky_time, params->disassoc_timer_threshold);
status = wmi_unified_send_btm_config(wma_handle->wmi_handle, params); status = wmi_unified_send_btm_config(wma_handle->wmi_handle, params);
qdf_mem_free(params); qdf_mem_free(params);
@@ -1705,7 +1721,7 @@ void wma_send_roam_bss_load_config(WMA_HANDLE handle,
params->rssi_threshold_24ghz &= 0x000000ff; params->rssi_threshold_24ghz &= 0x000000ff;
} }
wma_debug("Bss load trig params vdev %u threshold %u sample_time: %u 5Ghz RSSI threshold:%d 2.4G rssi threshold:%d", wma_debug("Bss load trig params vdev_id:%u threshold:%u sample_time:%u 5Ghz RSSI threshold:%d 2.4G rssi threshold:%d",
params->vdev_id, params->bss_load_threshold, params->vdev_id, params->bss_load_threshold,
params->bss_load_sample_time, params->rssi_threshold_5ghz, params->bss_load_sample_time, params->rssi_threshold_5ghz,
params->rssi_threshold_24ghz); params->rssi_threshold_24ghz);