+++ /dev/null
-From a227621b46df8a7a5c276131b245f40eac7513fb Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth@gmail.com>
-Date: Fri, 3 Nov 2023 04:03:08 +0100
-Subject: [PATCH] ath10k-ct: port compilation warning for debug level to kernel
- 6.4
-
-Port compilation warning for debug level previously fixed in other
-kernel to kernel version 6.4.
-
-Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
----
- ath10k-6.4/debug.c | 85 ++++++++++++++++++++++++++--------------------
- 1 file changed, 48 insertions(+), 37 deletions(-)
-
---- a/ath10k-6.4/debug.c
-+++ b/ath10k-6.4/debug.c
-@@ -1345,47 +1345,58 @@ static const struct file_operations fops
- .llseek = default_llseek,
- };
-
-+static const char debug_level_buf[] =
-+ "To change debug level, set value adding up desired flags:\n"
-+ "PCI: 0x1\n"
-+ "WMI: 0x2\n"
-+ "HTC: 0x4\n"
-+ "HTT: 0x8\n"
-+ "MAC: 0x10\n"
-+ "BOOT: 0x20\n"
-+ "PCI-DUMP: 0x40\n"
-+ "HTT-DUMP: 0x80\n"
-+ "MGMT: 0x100\n"
-+ "DATA: 0x200\n"
-+ "BMI: 0x400\n"
-+ "REGULATORY: 0x800\n"
-+ "TESTMODE: 0x1000\n"
-+ "WMI-PRINT: 0x2000\n"
-+ "PCI-PS: 0x4000\n"
-+ "AHB: 0x8000\n"
-+ "SDIO: 0x10000\n"
-+ "SDIO_DUMP: 0x20000\n"
-+ "USB: 0x40000\n"
-+ "USB_BULK: 0x80000\n"
-+ "SNOC: 0x100000\n"
-+ "QMI: 0x200000\n"
-+ "BEACONS: 0x8000000\n"
-+ "NO-FW-DBGLOG:0x10000000\n"
-+ "MAC2: 0x20000000\n"
-+ "INFO-AS-DBG: 0x40000000\n"
-+ "FW: 0x80000000\n"
-+ "ALL: 0xEFFFFFFF\n";
-+
-+#define READ_DEBUG_LEVEL_SIZE sizeof(debug_level_buf) + 60
-+
- static ssize_t ath10k_read_debug_level(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
- {
-- int sz;
-- const char buf[] =
-- "To change debug level, set value adding up desired flags:\n"
-- "PCI: 0x1\n"
-- "WMI: 0x2\n"
-- "HTC: 0x4\n"
-- "HTT: 0x8\n"
-- "MAC: 0x10\n"
-- "BOOT: 0x20\n"
-- "PCI-DUMP: 0x40\n"
-- "HTT-DUMP: 0x80\n"
-- "MGMT: 0x100\n"
-- "DATA: 0x200\n"
-- "BMI: 0x400\n"
-- "REGULATORY: 0x800\n"
-- "TESTMODE: 0x1000\n"
-- "WMI-PRINT: 0x2000\n"
-- "PCI-PS: 0x4000\n"
-- "AHB: 0x8000\n"
-- "SDIO: 0x10000\n"
-- "SDIO_DUMP: 0x20000\n"
-- "USB: 0x40000\n"
-- "USB_BULK: 0x80000\n"
-- "SNOC: 0x100000\n"
-- "QMI: 0x200000\n"
-- "BEACONS: 0x8000000\n"
-- "NO-FW-DBGLOG:0x10000000\n"
-- "MAC2: 0x20000000\n"
-- "INFO-AS-DBG: 0x40000000\n"
-- "FW: 0x80000000\n"
-- "ALL: 0xEFFFFFFF\n";
-- char wbuf[sizeof(buf) + 60];
-- sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s",
-- ath10k_debug_mask, buf);
-- wbuf[sizeof(wbuf) - 1] = 0;
-+ int sz, ret;
-+ char *wbuf;
-+
-+ wbuf = kcalloc(READ_DEBUG_LEVEL_SIZE, sizeof(char), GFP_KERNEL);
-+ if (!wbuf)
-+ return -ENOMEM;
-+
-+ sz = snprintf(wbuf, READ_DEBUG_LEVEL_SIZE,
-+ "Current debug level: 0x%x\n\n%s",
-+ ath10k_debug_mask, debug_level_buf);
-+
-+ ret = simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
-+ kfree(wbuf);
-
-- return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz);
-+ return ret;
- }
-
- /* Set logging level.
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20230611080505.17393-1-ansuelsmth@gmail.com
---
- ath10k-6.4/Kconfig | 6 ++
- ath10k-6.4/Makefile | 1 +
- ath10k-6.4/core.c | 32 ++++++++
- ath10k-6.4/core.h | 8 ++
- ath10k-6.4/hw.h | 1 +
- ath10k-6.4/leds.c | 90 +++++++++++++++++++++++
- ath10k-6.4/leds.h | 34 +++++++++
- ath10k-6.4/mac.c | 1 +
- ath10k-6.4/wmi-ops.h | 32 ++++++++
- ath10k-6.4/wmi-tlv.c | 2 +
- ath10k-6.4/wmi.c | 54 ++++++++++++++
- ath10k-6.4/wmi.h | 35 +++++++++
+ ath10k-6.7/Kconfig | 6 ++
+ ath10k-6.7/Makefile | 1 +
+ ath10k-6.7/core.c | 32 ++++++++
+ ath10k-6.7/core.h | 8 ++
+ ath10k-6.7/hw.h | 1 +
+ ath10k-6.7/leds.c | 90 +++++++++++++++++++++++
+ ath10k-6.7/leds.h | 34 +++++++++
+ ath10k-6.7/mac.c | 1 +
+ ath10k-6.7/wmi-ops.h | 32 ++++++++
+ ath10k-6.7/wmi-tlv.c | 2 +
+ ath10k-6.7/wmi.c | 54 ++++++++++++++
+ ath10k-6.7/wmi.h | 35 +++++++++
12 files changed, 296 insertions(+)
- create mode 100644 ath10k-6.4/leds.c
- create mode 100644 ath10k-6.4/leds.h
+ create mode 100644 ath10k-6.7/leds.c
+ create mode 100644 ath10k-6.7/leds.h
---- a/ath10k-6.4/Kconfig
-+++ b/ath10k-6.4/Kconfig
+--- a/ath10k-6.7/Kconfig
++++ b/ath10k-6.7/Kconfig
@@ -67,6 +67,12 @@ config ATH10K_DEBUGFS
If unsure, say Y to make it easier to debug problems.
config ATH10K_SPECTRAL
bool "Atheros ath10k spectral scan support"
depends on ATH10K_DEBUGFS
---- a/ath10k-6.4/Makefile
-+++ b/ath10k-6.4/Makefile
+--- a/ath10k-6.7/Makefile
++++ b/ath10k-6.7/Makefile
@@ -20,6 +20,7 @@ ath10k_core-$(CONFIG_ATH10K_SPECTRAL) +=
ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o
ath10k_core-$(CONFIG_PM) += wow.o
ath10k_core-$(CONFIG_ATH10K_CE) += ce.o
---- a/ath10k-6.4/core.c
-+++ b/ath10k-6.4/core.c
+--- a/ath10k-6.7/core.c
++++ b/ath10k-6.7/core.c
@@ -28,6 +28,7 @@
#include "testmode.h"
#include "wmi-ops.h"
.continuous_frag_desc = true,
.tx_chain_mask = 0x7,
.rx_chain_mask = 0x7,
-@@ -4080,6 +4097,10 @@ int ath10k_core_start(struct ath10k *ar,
+@@ -4071,6 +4088,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar);
}
return 0;
err_hif_stop:
-@@ -4341,9 +4362,18 @@ static void ath10k_core_register_work(st
+@@ -4332,9 +4353,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy;
}
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
-@@ -4403,6 +4433,8 @@ void ath10k_core_unregister(struct ath10
+@@ -4394,6 +4424,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
ath10k_thermal_unregister(ar);
/* Stop spectral before unregistering from mac80211 to remove the
* relayfs debugfs file cleanly. Otherwise the parent debugfs tree
---- a/ath10k-6.4/core.h
-+++ b/ath10k-6.4/core.h
+--- a/ath10k-6.7/core.h
++++ b/ath10k-6.7/core.h
@@ -14,6 +14,7 @@
#include <linux/pci.h>
#include <linux/uuid.h>
#include "htt.h"
#include "htc.h"
-@@ -1586,6 +1587,13 @@ struct ath10k {
+@@ -1589,6 +1590,13 @@ struct ath10k {
} testmode;
struct {
/* protected by data_lock */
u32 rx_crc_err_drop;
u32 fw_crash_counter;
---- a/ath10k-6.4/hw.h
-+++ b/ath10k-6.4/hw.h
+--- a/ath10k-6.7/hw.h
++++ b/ath10k-6.7/hw.h
@@ -523,6 +523,7 @@ struct ath10k_hw_params {
const char *name;
u32 patch_load_addr;
/* Type of hw cycle counter wraparound logic, for more info
--- /dev/null
-+++ b/ath10k-6.4/leds.c
++++ b/ath10k-6.7/leds.c
@@ -0,0 +1,90 @@
+// SPDX-License-Identifier: ISC
+/*
+}
+
--- /dev/null
-+++ b/ath10k-6.4/leds.h
++++ b/ath10k-6.7/leds.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: ISC */
+/*
+
+#endif
+#endif /* _LEDS_H_ */
---- a/ath10k-6.4/mac.c
-+++ b/ath10k-6.4/mac.c
+--- a/ath10k-6.7/mac.c
++++ b/ath10k-6.7/mac.c
@@ -25,6 +25,7 @@
#include "wmi-tlv.h"
#include "wmi-ops.h"
/*********/
/* Rates */
---- a/ath10k-6.4/wmi-ops.h
-+++ b/ath10k-6.4/wmi-ops.h
+--- a/ath10k-6.7/wmi-ops.h
++++ b/ath10k-6.7/wmi-ops.h
@@ -228,7 +228,10 @@ struct wmi_ops {
const struct wmi_bb_timing_cfg_arg *arg);
struct sk_buff *(*gen_per_peer_per_tid_cfg)(struct ath10k *ar,
static inline int
ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level)
{
---- a/ath10k-6.4/wmi-tlv.c
-+++ b/ath10k-6.4/wmi-tlv.c
+--- a/ath10k-6.7/wmi-tlv.c
++++ b/ath10k-6.7/wmi-tlv.c
@@ -4601,6 +4601,8 @@ static const struct wmi_ops wmi_tlv_ops
.gen_echo = ath10k_wmi_tlv_op_gen_echo,
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
};
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
---- a/ath10k-6.4/wmi.c
-+++ b/ath10k-6.4/wmi.c
-@@ -8438,6 +8438,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+--- a/ath10k-6.7/wmi.c
++++ b/ath10k-6.7/wmi.c
+@@ -8446,6 +8446,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
return skb;
}
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
-@@ -10269,6 +10312,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -10255,6 +10298,9 @@ static const struct wmi_ops wmi_ops = {
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_op_gen_echo,
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
-@@ -10339,6 +10385,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -10325,6 +10371,8 @@ static const struct wmi_ops wmi_10_1_ops
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_op_gen_echo,
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
-@@ -10418,6 +10466,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -10404,6 +10452,8 @@ static const struct wmi_ops wmi_10_2_ops
.gen_delba_send = ath10k_wmi_op_gen_delba_send,
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
/* .gen_pdev_enable_adaptive_cca not implemented */
};
-@@ -10489,6 +10539,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -10475,6 +10525,8 @@ static const struct wmi_ops wmi_10_2_4_o
ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
.gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
-@@ -10571,6 +10623,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -10557,6 +10609,8 @@ static const struct wmi_ops wmi_10_4_ops
.gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
.gen_echo = ath10k_wmi_op_gen_echo,
.gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
};
int ath10k_wmi_attach(struct ath10k *ar)
---- a/ath10k-6.4/wmi.h
-+++ b/ath10k-6.4/wmi.h
+--- a/ath10k-6.7/wmi.h
++++ b/ath10k-6.7/wmi.h
@@ -3133,6 +3133,41 @@ enum wmi_10_4_feature_mask {
};