ath10k-ct: update to 2022-05-13

Update ath10k-ct to the latest version which includes the backported
ath10k commit for requesting API 1 BDF-s with a unique name like caldata.

Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ab97b2a25d69215dcc0d9621e491aa7b17f315cb)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Robert Marko 2022-05-14 20:14:14 +02:00 committed by Tianling Shen
parent 67d23c1c58
commit f5e85c133a
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
6 changed files with 105 additions and 73 deletions

View File

@ -8,14 +8,14 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2021-09-22
PKG_SOURCE_VERSION:=e6a7d5b5b834737cd12e357b5efdc2e42d923bf6
PKG_MIRROR_HASH:=62a1b97089d3561730656ef73beb3cd77231ec636645115cc1bbb3c6c84a6fe3
PKG_SOURCE_DATE:=2022-05-13
PKG_SOURCE_VERSION:=f808496fcc6b1f68942914117aebf8b3f8d52bb3
PKG_MIRROR_HASH:=39527b3408696594eda5579521a9fb798417be4dda73fa08e8b3a8c7b0d3f3d9
# Build the 5.10 ath10k-ct driver version.
# Build the 5.15 ath10k-ct driver version.
# Probably this should match as closely as
# possible to whatever mac80211 backports version is being used.
CT_KVER="-5.10"
CT_KVER="-5.15"
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
PKG_BUILD_PARALLEL:=1

View File

@ -66,25 +66,25 @@ v13:
* cleanup includes
ath10k-5.10/Kconfig | 10 +++
ath10k-5.10/Makefile | 1 +
ath10k-5.10/core.c | 22 +++++++
ath10k-5.10/core.h | 9 ++-
ath10k-5.10/hw.h | 1 +
ath10k-5.10/leds.c | 103 ++++++++++++++++++++++++++++++
ath10k-5.10/leds.h | 45 +++++++++++++
ath10k-5.10/mac.c | 1 +
ath10k-5.10/wmi-ops.h | 32 ++++++++++
ath10k-5.10/wmi-tlv.c | 2 +
ath10k-5.10/wmi.c | 54 ++++++++++++++++
ath10k-5.10/wmi.h | 35 ++++++++++
ath10k-5.15/Kconfig | 10 +++
ath10k-5.15/Makefile | 1 +
ath10k-5.15/core.c | 22 +++++++
ath10k-5.15/core.h | 9 ++-
ath10k-5.15/hw.h | 1 +
ath10k-5.15/leds.c | 103 ++++++++++++++++++++++++++++++
ath10k-5.15/leds.h | 45 +++++++++++++
ath10k-5.15/mac.c | 1 +
ath10k-5.15/wmi-ops.h | 32 ++++++++++
ath10k-5.15/wmi-tlv.c | 2 +
ath10k-5.15/wmi.c | 54 ++++++++++++++++
ath10k-5.15/wmi.h | 35 ++++++++++
12 files changed, 314 insertions(+), 1 deletion(-)
create mode 100644 ath10k-5.10/leds.c
create mode 100644 ath10k-5.10/leds.h
create mode 100644 ath10k-5.15/leds.c
create mode 100644 ath10k-5.15/leds.h
--- a/ath10k-5.10/Kconfig
+++ b/ath10k-5.10/Kconfig
@@ -65,6 +65,16 @@ config ATH10K_DEBUGFS
--- a/ath10k-5.15/Kconfig
+++ b/ath10k-5.15/Kconfig
@@ -66,6 +66,16 @@ config ATH10K_DEBUGFS
If unsure, say Y to make it easier to debug problems.
@ -101,8 +101,8 @@ v13:
config ATH10K_SPECTRAL
bool "Atheros ath10k spectral scan support"
depends on ATH10K_DEBUGFS
--- a/ath10k-5.10/Makefile
+++ b/ath10k-5.10/Makefile
--- a/ath10k-5.15/Makefile
+++ b/ath10k-5.15/Makefile
@@ -20,6 +20,7 @@ ath10k_core-$(CONFIG_ATH10K_SPECTRAL) +=
ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
@ -111,9 +111,9 @@ v13:
ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o
ath10k_core-$(CONFIG_PM) += wow.o
ath10k_core-$(CONFIG_ATH10K_CE) += ce.o
--- a/ath10k-5.10/core.c
+++ b/ath10k-5.10/core.c
@@ -26,6 +26,7 @@
--- a/ath10k-5.15/core.c
+++ b/ath10k-5.15/core.c
@@ -28,6 +28,7 @@
#include "testmode.h"
#include "wmi-ops.h"
#include "coredump.h"
@ -121,7 +121,7 @@ v13:
/* Disable ath10k-ct DBGLOG output by default */
unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG;
@@ -68,6 +69,7 @@ static const struct ath10k_hw_params ath
@@ -70,6 +71,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA988X_2_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI,
.name = "qca988x hw2.0",
@ -129,7 +129,7 @@ v13:
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
@@ -137,6 +139,7 @@ static const struct ath10k_hw_params ath
@@ -143,6 +145,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA9887_1_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI,
.name = "qca9887 hw1.0",
@ -137,7 +137,7 @@ v13:
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
@@ -342,6 +345,7 @@ static const struct ath10k_hw_params ath
@@ -360,6 +363,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA99X0_2_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI,
.name = "qca99x0 hw2.0",
@ -145,7 +145,7 @@ v13:
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.otp_exe_param = 0x00000700,
@@ -382,6 +386,7 @@ static const struct ath10k_hw_params ath
@@ -402,6 +406,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA9984_1_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI,
.name = "qca9984/qca9994 hw1.0",
@ -153,7 +153,7 @@ v13:
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
@@ -429,6 +434,7 @@ static const struct ath10k_hw_params ath
@@ -451,6 +456,7 @@ static const struct ath10k_hw_params ath
.dev_id = QCA9888_2_0_DEVICE_ID,
.bus = ATH10K_BUS_PCI,
.name = "qca9888 hw2.0",
@ -161,7 +161,7 @@ v13:
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
@@ -3705,6 +3711,10 @@ int ath10k_core_start(struct ath10k *ar,
@@ -3977,6 +3983,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar);
}
@ -172,7 +172,7 @@ v13:
return 0;
err_hif_stop:
@@ -3963,9 +3973,18 @@ static void ath10k_core_register_work(st
@@ -4238,9 +4248,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy;
}
@ -191,7 +191,7 @@ v13:
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
@@ -4025,6 +4044,8 @@ void ath10k_core_unregister(struct ath10
@@ -4300,6 +4319,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
@ -200,8 +200,8 @@ v13:
ath10k_thermal_unregister(ar);
/* Stop spectral before unregistering from mac80211 to remove the
* relayfs debugfs file cleanly. Otherwise the parent debugfs tree
--- a/ath10k-5.10/core.h
+++ b/ath10k-5.10/core.h
--- a/ath10k-5.15/core.h
+++ b/ath10k-5.15/core.h
@@ -14,6 +14,7 @@
#include <linux/pci.h>
#include <linux/uuid.h>
@ -210,7 +210,7 @@ v13:
#include "htt.h"
#include "htc.h"
@@ -1557,6 +1558,13 @@ struct ath10k {
@@ -1577,6 +1578,13 @@ struct ath10k {
} testmode;
struct {
@ -224,8 +224,8 @@ v13:
/* protected by data_lock */
u32 rx_crc_err_drop;
u32 fw_crash_counter;
--- a/ath10k-5.10/hw.h
+++ b/ath10k-5.10/hw.h
--- a/ath10k-5.15/hw.h
+++ b/ath10k-5.15/hw.h
@@ -521,6 +521,7 @@ struct ath10k_hw_params {
const char *name;
u32 patch_load_addr;
@ -235,7 +235,7 @@ v13:
/* Type of hw cycle counter wraparound logic, for more info
--- /dev/null
+++ b/ath10k-5.10/leds.c
+++ b/ath10k-5.15/leds.c
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2005-2011 Atheros Communications Inc.
@ -341,7 +341,7 @@ v13:
+}
+
--- /dev/null
+++ b/ath10k-5.10/leds.h
+++ b/ath10k-5.15/leds.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
@ -384,8 +384,8 @@ v13:
+
+#endif
+#endif /* _LEDS_H_ */
--- a/ath10k-5.10/mac.c
+++ b/ath10k-5.10/mac.c
--- a/ath10k-5.15/mac.c
+++ b/ath10k-5.15/mac.c
@@ -25,6 +25,7 @@
#include "wmi-tlv.h"
#include "wmi-ops.h"
@ -394,8 +394,8 @@ v13:
/*********/
/* Rates */
--- a/ath10k-5.10/wmi-ops.h
+++ b/ath10k-5.10/wmi-ops.h
--- a/ath10k-5.15/wmi-ops.h
+++ b/ath10k-5.15/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,
@ -443,8 +443,8 @@ v13:
static inline int
ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level)
{
--- a/ath10k-5.10/wmi-tlv.c
+++ b/ath10k-5.10/wmi-tlv.c
--- a/ath10k-5.15/wmi-tlv.c
+++ b/ath10k-5.15/wmi-tlv.c
@@ -4594,6 +4594,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,
@ -454,9 +454,9 @@ v13:
};
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
--- a/ath10k-5.10/wmi.c
+++ b/ath10k-5.10/wmi.c
@@ -8409,6 +8409,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
--- a/ath10k-5.15/wmi.c
+++ b/ath10k-5.15/wmi.c
@@ -8413,6 +8413,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
return skb;
}
@ -506,7 +506,7 @@ v13:
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
@@ -10238,6 +10281,9 @@ static const struct wmi_ops wmi_ops = {
@@ -10244,6 +10287,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,
@ -516,7 +516,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -10308,6 +10354,8 @@ static const struct wmi_ops wmi_10_1_ops
@@ -10314,6 +10360,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,
@ -525,7 +525,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -10387,6 +10435,8 @@ static const struct wmi_ops wmi_10_2_ops
@@ -10393,6 +10441,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,
@ -534,7 +534,7 @@ v13:
/* .gen_pdev_enable_adaptive_cca not implemented */
};
@@ -10458,6 +10508,8 @@ static const struct wmi_ops wmi_10_2_4_o
@@ -10464,6 +10514,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,
@ -543,7 +543,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -10540,6 +10592,8 @@ static const struct wmi_ops wmi_10_4_ops
@@ -10546,6 +10598,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,
@ -552,8 +552,8 @@ v13:
};
int ath10k_wmi_attach(struct ath10k *ar)
--- a/ath10k-5.10/wmi.h
+++ b/ath10k-5.10/wmi.h
--- a/ath10k-5.15/wmi.h
+++ b/ath10k-5.15/wmi.h
@@ -3133,6 +3133,41 @@ enum wmi_10_4_feature_mask {
};

View File

@ -9,14 +9,14 @@ traffic.
Signed-off-by: Mathias Kresin <dev@kresin.me>
---
ath10k-5.10/core.h | 4 ++++
ath10k-5.10/leds.c | 4 +---
ath10k-5.10/mac.c | 2 +-
ath10k-5.15/core.h | 4 ++++
ath10k-5.15/leds.c | 4 +---
ath10k-5.15/mac.c | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
--- a/ath10k-5.10/core.h
+++ b/ath10k-5.10/core.h
@@ -1665,6 +1665,10 @@ struct ath10k {
--- a/ath10k-5.15/core.h
+++ b/ath10k-5.15/core.h
@@ -1692,6 +1692,10 @@ struct ath10k {
u8 csi_data[4096];
u16 csi_data_len;
@ -27,8 +27,8 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
/* must be last */
u8 drv_priv[] __aligned(sizeof(void *));
};
--- a/ath10k-5.10/leds.c
+++ b/ath10k-5.10/leds.c
--- a/ath10k-5.15/leds.c
+++ b/ath10k-5.15/leds.c
@@ -81,9 +81,7 @@ int ath10k_leds_register(struct ath10k *
ar->leds.cdev.name = ar->leds.label;
@ -40,9 +40,9 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
if (ret)
--- a/ath10k-5.10/mac.c
+++ b/ath10k-5.10/mac.c
@@ -11405,7 +11405,7 @@ int ath10k_mac_register(struct ath10k *a
--- a/ath10k-5.15/mac.c
+++ b/ath10k-5.15/mac.c
@@ -11544,7 +11544,7 @@ int ath10k_mac_register(struct ath10k *a
ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
#ifdef CPTCFG_MAC80211_LEDS

View File

@ -0,0 +1,32 @@
From 0d2e335d780bda1432a9ba719c8200f796d27854 Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
Date: Mon, 29 Nov 2021 12:27:12 +0100
Subject: [PATCH] ath10k-ct: Fix spectral scan NULL pointer
If spectral scan support is enabled then ath10k-ct will cause a NULL
pointer due to relay_open() being called with a const callback struct
which is only supported in kernel 5.11 and later.
So, simply check the kernel version and if 5.11 and newer use the const
callback struct, otherwise use the regular struct.
Fixes: 553a3ac ("ath10k-ct: use 5.15 version")
Signed-off-by: Robert Marko <robimarko@gmail.com>
---
ath10k-5.15/spectral.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/ath10k-5.15/spectral.c
+++ b/ath10k-5.15/spectral.c
@@ -497,7 +497,11 @@ static int remove_buf_file_handler(struc
return 0;
}
+#if LINUX_VERSION_IS_GEQ(5,11,0)
static const struct rchan_callbacks rfs_spec_scan_cb = {
+#else
+static struct rchan_callbacks rfs_spec_scan_cb = {
+#endif
.create_buf_file = create_buf_file_handler,
.remove_buf_file = remove_buf_file_handler,
};

View File

@ -1,5 +1,5 @@
--- a/ath10k-5.10/htt.h
+++ b/ath10k-5.10/htt.h
--- a/ath10k-5.15/htt.h
+++ b/ath10k-5.15/htt.h
@@ -237,7 +237,11 @@ enum htt_rx_ring_flags {
};

View File

@ -1,5 +1,5 @@
--- a/ath10k-5.10/pci.c
+++ b/ath10k-5.10/pci.c
--- a/ath10k-5.15/pci.c
+++ b/ath10k-5.15/pci.c
@@ -131,7 +131,11 @@ static const struct ce_attr pci_host_ce_
.flags = CE_ATTR_FLAGS,
.src_nentries = 0,