mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
wifi: ath12k: introduce ath12k_fw_feature_supported()
There are several places checking if a specific bit set in ab->fw.fw_features, and in an upcoming patch additional check needs to be added at all places. Introduce a new helper ath12k_fw_feature_supported() to avoid code duplication. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00284-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00209-QCAHKSWPL_SILICONZ-1 Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com> Link: https://patch.msgid.link/20250409-ath12k-wcn7850-mlo-support-v2-1-3801132ca2c3@quicinc.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
parent
f5755c23ed
commit
dad6de9070
|
|
@ -2079,7 +2079,7 @@ void ath12k_core_hw_group_set_mlo_capable(struct ath12k_hw_group *ag)
|
|||
/* even if 1 device's firmware feature indicates MLO
|
||||
* unsupported, make MLO unsupported for the whole group
|
||||
*/
|
||||
if (!test_bit(ATH12K_FW_FEATURE_MLO, ab->fw.fw_features)) {
|
||||
if (!ath12k_fw_feature_supported(ab, ATH12K_FW_FEATURE_MLO)) {
|
||||
ag->mlo_capable = false;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||
/*
|
||||
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#include "core.h"
|
||||
|
|
@ -169,3 +169,8 @@ void ath12k_fw_unmap(struct ath12k_base *ab)
|
|||
release_firmware(ab->fw.fw);
|
||||
memset(&ab->fw, 0, sizeof(ab->fw));
|
||||
}
|
||||
|
||||
bool ath12k_fw_feature_supported(struct ath12k_base *ab, enum ath12k_fw_features feat)
|
||||
{
|
||||
return test_bit(feat, ab->fw.fw_features);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
|
||||
/*
|
||||
* Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef ATH12K_FW_H
|
||||
|
|
@ -32,5 +32,6 @@ enum ath12k_fw_features {
|
|||
|
||||
void ath12k_fw_map(struct ath12k_base *ab);
|
||||
void ath12k_fw_unmap(struct ath12k_base *ab);
|
||||
bool ath12k_fw_feature_supported(struct ath12k_base *ab, enum ath12k_fw_features feat);
|
||||
|
||||
#endif /* ATH12K_FW_H */
|
||||
|
|
|
|||
|
|
@ -718,7 +718,7 @@ static void ath12k_pci_init_qmi_ce_config(struct ath12k_base *ab)
|
|||
cfg->svc_to_ce_map_len = ab->hw_params->svc_to_ce_map_len;
|
||||
ab->qmi.service_ins_id = ab->hw_params->qmi_service_ins_id;
|
||||
|
||||
if (test_bit(ATH12K_FW_FEATURE_MULTI_QRTR_ID, ab->fw.fw_features)) {
|
||||
if (ath12k_fw_feature_supported(ab, ATH12K_FW_FEATURE_MULTI_QRTR_ID)) {
|
||||
ab_pci->qmi_instance =
|
||||
u32_encode_bits(pci_domain_nr(bus), DOMAIN_NUMBER_MASK) |
|
||||
u32_encode_bits(bus->number, BUS_NUMBER_MASK);
|
||||
|
|
@ -1468,7 +1468,7 @@ int ath12k_pci_power_up(struct ath12k_base *ab)
|
|||
|
||||
ath12k_pci_msi_enable(ab_pci);
|
||||
|
||||
if (test_bit(ATH12K_FW_FEATURE_MULTI_QRTR_ID, ab->fw.fw_features))
|
||||
if (ath12k_fw_feature_supported(ab, ATH12K_FW_FEATURE_MULTI_QRTR_ID))
|
||||
ath12k_pci_update_qrtr_node_id(ab);
|
||||
|
||||
ret = ath12k_mhi_start(ab_pci);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user