forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/net/wireless/ath/ath10k/testmode.c
....@@ -1,17 +1,6 @@
1
+// SPDX-License-Identifier: ISC
12 /*
23 * Copyright (c) 2014-2017 Qualcomm Atheros, Inc.
3
- *
4
- * Permission to use, copy, modify, and/or distribute this software for any
5
- * purpose with or without fee is hereby granted, provided that the above
6
- * copyright notice and this permission notice appear in all copies.
7
- *
8
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
154 */
165
176 #include "testmode.h"
....@@ -76,7 +65,7 @@
7665 ret = nla_put_u32(nl_skb, ATH10K_TM_ATTR_CMD, ATH10K_TM_CMD_WMI);
7766 if (ret) {
7867 ath10k_warn(ar,
79
- "failed to to put testmode wmi event cmd attribute: %d\n",
68
+ "failed to put testmode wmi event cmd attribute: %d\n",
8069 ret);
8170 kfree_skb(nl_skb);
8271 goto out;
....@@ -85,7 +74,7 @@
8574 ret = nla_put_u32(nl_skb, ATH10K_TM_ATTR_WMI_CMDID, cmd_id);
8675 if (ret) {
8776 ath10k_warn(ar,
88
- "failed to to put testmode wmi even cmd_id: %d\n",
77
+ "failed to put testmode wmi event cmd_id: %d\n",
8978 ret);
9079 kfree_skb(nl_skb);
9180 goto out;
....@@ -185,8 +174,23 @@
185174 {
186175 struct ath10k_fw_components *utf_mode_fw;
187176 int ret;
177
+ char fw_name[100];
178
+ int fw_api2 = 2;
188179
189
- ret = ath10k_core_fetch_firmware_api_n(ar, ATH10K_FW_UTF_API2_FILE,
180
+ switch (ar->hif.bus) {
181
+ case ATH10K_BUS_SDIO:
182
+ case ATH10K_BUS_USB:
183
+ scnprintf(fw_name, sizeof(fw_name), "%s-%s-%d.bin",
184
+ ATH10K_FW_UTF_FILE_BASE, ath10k_bus_str(ar->hif.bus),
185
+ fw_api2);
186
+ break;
187
+ default:
188
+ scnprintf(fw_name, sizeof(fw_name), "%s-%d.bin",
189
+ ATH10K_FW_UTF_FILE_BASE, fw_api2);
190
+ break;
191
+ }
192
+
193
+ ret = ath10k_core_fetch_firmware_api_n(ar, fw_name,
190194 &ar->testmode.utf_mode_fw.fw_file);
191195 if (ret == 0) {
192196 ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode using fw utf api 2");
....@@ -270,7 +274,7 @@
270274 ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode wmi version %d\n",
271275 ar->testmode.utf_mode_fw.fw_file.wmi_op_version);
272276
273
- ret = ath10k_hif_power_up(ar);
277
+ ret = ath10k_hif_power_up(ar, ATH10K_FIRMWARE_MODE_UTF);
274278 if (ret) {
275279 ath10k_err(ar, "failed to power up hif (testmode): %d\n", ret);
276280 ar->state = ATH10K_STATE_OFF;
....@@ -427,8 +431,8 @@
427431 struct nlattr *tb[ATH10K_TM_ATTR_MAX + 1];
428432 int ret;
429433
430
- ret = nla_parse(tb, ATH10K_TM_ATTR_MAX, data, len, ath10k_tm_policy,
431
- NULL);
434
+ ret = nla_parse_deprecated(tb, ATH10K_TM_ATTR_MAX, data, len,
435
+ ath10k_tm_policy, NULL);
432436 if (ret)
433437 return ret;
434438