]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: ath12k: Fetch regdb.bin file from board-2.bin
authorAaradhana Sahu <quic_aarasahu@quicinc.com>
Thu, 16 Jan 2025 03:28:35 +0000 (08:58 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 May 2025 09:13:44 +0000 (11:13 +0200)
[ Upstream commit 24f587572acf7509127dbdfcbf1b681ef84eeba0 ]

Currently, ath12k_core_fetch_regdb() finds regdb.bin file through
board id's but in board-2.bin file regdb.bin file is present with
default board id because of which regdb.bin is not fetched.

Add support to fetch regdb.bin file from board-2.bin through
default board id.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aaradhana Sahu <quic_aarasahu@quicinc.com>
Reviewed-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Link: https://patch.msgid.link/20250116032835.118397-1-quic_aarasahu@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath12k/core.c

index ffd173ff7b08c495084bb22361aa7ff26c22a256..d0aed4c56050dbbada8659a913b786986c26c776 100644 (file)
@@ -173,7 +173,7 @@ EXPORT_SYMBOL(ath12k_core_resume);
 
 static int __ath12k_core_create_board_name(struct ath12k_base *ab, char *name,
                                           size_t name_len, bool with_variant,
-                                          bool bus_type_mode)
+                                          bool bus_type_mode, bool with_default)
 {
        /* strlen(',variant=') + strlen(ab->qmi.target.bdf_ext) */
        char variant[9 + ATH12K_QMI_BDF_EXT_STR_LENGTH] = { 0 };
@@ -204,7 +204,9 @@ static int __ath12k_core_create_board_name(struct ath12k_base *ab, char *name,
                          "bus=%s,qmi-chip-id=%d,qmi-board-id=%d%s",
                          ath12k_bus_str(ab->hif.bus),
                          ab->qmi.target.chip_id,
-                         ab->qmi.target.board_id, variant);
+                         with_default ?
+                         ATH12K_BOARD_ID_DEFAULT : ab->qmi.target.board_id,
+                         variant);
                break;
        }
 
@@ -216,19 +218,19 @@ static int __ath12k_core_create_board_name(struct ath12k_base *ab, char *name,
 static int ath12k_core_create_board_name(struct ath12k_base *ab, char *name,
                                         size_t name_len)
 {
-       return __ath12k_core_create_board_name(ab, name, name_len, true, false);
+       return __ath12k_core_create_board_name(ab, name, name_len, true, false, false);
 }
 
 static int ath12k_core_create_fallback_board_name(struct ath12k_base *ab, char *name,
                                                  size_t name_len)
 {
-       return __ath12k_core_create_board_name(ab, name, name_len, false, false);
+       return __ath12k_core_create_board_name(ab, name, name_len, false, false, true);
 }
 
 static int ath12k_core_create_bus_type_board_name(struct ath12k_base *ab, char *name,
                                                  size_t name_len)
 {
-       return __ath12k_core_create_board_name(ab, name, name_len, false, true);
+       return __ath12k_core_create_board_name(ab, name, name_len, false, true, true);
 }
 
 const struct firmware *ath12k_core_firmware_request(struct ath12k_base *ab,