link.c (1d52e8ca4cba508011fb5a50b968116a2317642a) | link.c (8ecdc570781d1664516323a52152493c856df215) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2/* 3 * Copyright (C) 2022 - 2024 Intel Corporation 4 */ 5#include "mvm.h" 6#include "time-event.h" 7 8static u32 iwl_mvm_get_free_fw_link_id(struct iwl_mvm *mvm, --- 713 unchanged lines hidden (view full) --- 722 new_active_links = BIT(data[a].link_id) | 723 BIT(data[b].link_id); 724 } 725 726 /* No valid pair was found, go with the best link */ 727 if (hweight16(new_active_links) <= 1) 728 goto set_active; 729 | 1// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2/* 3 * Copyright (C) 2022 - 2024 Intel Corporation 4 */ 5#include "mvm.h" 6#include "time-event.h" 7 8static u32 iwl_mvm_get_free_fw_link_id(struct iwl_mvm *mvm, --- 713 unchanged lines hidden (view full) --- 722 new_active_links = BIT(data[a].link_id) | 723 BIT(data[b].link_id); 724 } 725 726 /* No valid pair was found, go with the best link */ 727 if (hweight16(new_active_links) <= 1) 728 goto set_active; 729 |
730 /* prefer single link over marginal eSR improvement */ 731 if (best_link->grade * 110 / 100 >= max_esr_grade) { | 730 /* For equal grade - prefer EMLSR */ 731 if (best_link->grade > max_esr_grade) { |
732 primary_link = best_link->link_id; 733 new_active_links = BIT(best_link->link_id); 734 } 735set_active: 736 IWL_DEBUG_INFO(mvm, "Link selection result: 0x%x. Primary = %d\n", 737 new_active_links, primary_link); 738 ieee80211_set_active_links_async(vif, new_active_links); 739 mvmvif->link_selection_res = new_active_links; --- 230 unchanged lines hidden --- | 732 primary_link = best_link->link_id; 733 new_active_links = BIT(best_link->link_id); 734 } 735set_active: 736 IWL_DEBUG_INFO(mvm, "Link selection result: 0x%x. Primary = %d\n", 737 new_active_links, primary_link); 738 ieee80211_set_active_links_async(vif, new_active_links); 739 mvmvif->link_selection_res = new_active_links; --- 230 unchanged lines hidden --- |