qcacmn: Select best partner for MLO of 2+ links
Select best candidate by mlo score algorithm. Check bss mlo type first by mlo info, mlo config, partner frequency and dbs/sbs cap, calculate candidate score for SLO/MLMR/EMLSR bss types. For SLO case, same as before except: Decrease percent of legacy band and nss to include 320M and 8x8. Decrease max percent of congestion from 100 to 80 to include MLMR joint congestion. Increase weight of both band width and nss to 20. For EMLSR case, same as SLO except adding EMLSR boost score. For MLMR case, besides adding MLMR boost score, calculate joint RSSI/band width/congestion score for combination of scan entry + each partner link by new mlo algorithm, select partner with highest total joint score as candidate combination, only activate that partner link. Change-Id: I640c6825d945caf5fab504a77717195c2eac0c93 CRs-Fixed: 3234912
This commit is contained in:

committad av
Madan Koyyalamudi

förälder
fc00c5bb21
incheckning
f2a742540b
@@ -536,6 +536,7 @@ struct reduced_neighbor_report {
|
||||
* @ecsa_ie: Pointer to eCSA IE
|
||||
* @max_cst_ie: Pointer to Max Channel Switch Time IE
|
||||
* @is_valid_link: The partner link can be used if true
|
||||
* @op_class: Operting class
|
||||
*/
|
||||
struct partner_link_info {
|
||||
struct qdf_mac_addr link_addr;
|
||||
@@ -546,6 +547,7 @@ struct partner_link_info {
|
||||
const uint8_t *ecsa_ie;
|
||||
const uint8_t *max_cst_ie;
|
||||
uint8_t is_valid_link;
|
||||
uint32_t op_class;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1927,6 +1927,11 @@ static void util_get_partner_link_info(struct scan_cache_entry *scan_entry)
|
||||
wlan_reg_chan_opclass_to_freq(rnr->channel_number,
|
||||
rnr->operating_class,
|
||||
true);
|
||||
if (!link_info->freq)
|
||||
scm_debug("freq 0 rnr channel %d op_class %d",
|
||||
rnr->channel_number,
|
||||
rnr->operating_class);
|
||||
link_info->op_class = rnr->operating_class;
|
||||
link_idx++;
|
||||
}
|
||||
rnr_idx++;
|
||||
|
Referens i nytt ärende
Block a user