ath10k-ct: use 5.15 version
authorAnsuel Smith <ansuelsmth@gmail.com>
Thu, 18 Nov 2021 02:02:21 +0000 (03:02 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 27 Nov 2021 00:11:05 +0000 (01:11 +0100)
We switched to mac80211 5.15 backport version.
Also switch ath10k-ct to 5.15 and drop the mac address patch
that got merged upstream.
Compile and tested on ipq806x Netgear R7800.
Also update the ath10k-ct to latest version to fix a typo
for the new version in the kernel log.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
package/kernel/ath10k-ct/Makefile
package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch
package/kernel/ath10k-ct/patches/203-ath10k-Try-to-get-mac-address-from-dts.patch [deleted file]
package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch
package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch

index 25ea3376f06ccad5f72060a617ea0e52c7894a07..ea7705b1f91fe2a8102da4aefd787db103c771fa 100644 (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:=2021-11-21
+PKG_SOURCE_VERSION:=e8e166fee23226e5d495afbdb7ed681d747d115b
+PKG_MIRROR_HASH:=771193292242fd8c198e9e379aa90882b1f5a144fbd77e09fbc97aca8ffe84e1
 
-# 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
index 691b504c0f6fb1e5ec2d6c976923e04a41a52bc4..33156536ca4500c4216fdfed04b87175b7babe20 100644 (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
+@@ -27,6 +27,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
+@@ -69,6 +70,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
+@@ -140,6 +142,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
+@@ -351,6 +354,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
+@@ -392,6 +396,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
+@@ -440,6 +445,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,
+@@ -3882,6 +3888,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
+@@ -4143,9 +4153,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
+@@ -4205,6 +4224,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 {
+@@ -1571,6 +1572,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,8 +454,8 @@ 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
+--- a/ath10k-5.15/wmi.c
++++ b/ath10k-5.15/wmi.c
 @@ -8409,6 +8409,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 = {
+@@ -10240,6 +10283,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
+@@ -10310,6 +10356,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
+@@ -10389,6 +10437,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
+@@ -10460,6 +10510,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
+@@ -10542,6 +10594,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 {
  
  };
index 168c6ab462a587f9a0b06cd020f9d293f01ff202..29a6fbc09eb745dca8fb3798c9d0dae67db8fb67 100644 (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
+@@ -1686,6 +1686,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
+@@ -11519,7 +11519,7 @@ int ath10k_mac_register(struct ath10k *a
        ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
  
  #ifdef CPTCFG_MAC80211_LEDS
diff --git a/package/kernel/ath10k-ct/patches/203-ath10k-Try-to-get-mac-address-from-dts.patch b/package/kernel/ath10k-ct/patches/203-ath10k-Try-to-get-mac-address-from-dts.patch
deleted file mode 100644 (file)
index 8fcdaf8..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From 22fb5991a44c78ff18ec0082dc90c809356eb893 Mon Sep 17 00:00:00 2001
-From: Ansuel Smith <ansuelsmth@gmail.com>
-Date: Sun, 27 Sep 2020 19:23:35 +0200
-Subject: [PATCH 1/2] ath10k: Try to get mac-address from dts
-
-Most of embedded device that have the ath10k wifi integrated store the
-mac-address in nvmem partitions. Try to fetch the mac-address using the
-standard 'of_get_mac_address' than in all the check also try to fetch the
-address using the nvmem api searching for a defined 'mac-address' cell.
-Mac-address defined in the dts have priority than any other address found.
-
-Tested-on: QCA9984 hw1.0 PCI 10.4
-
-Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
----
- ath10k-5.10/core.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/ath10k-5.10/core.c
-+++ b/ath10k-5.10/core.c
-@@ -8,6 +8,7 @@
- #include <linux/module.h>
- #include <linux/firmware.h>
- #include <linux/of.h>
-+#include <linux/of_net.h>
- #include <linux/property.h>
- #include <linux/dmi.h>
- #include <linux/ctype.h>
-@@ -3881,6 +3882,8 @@ static int ath10k_core_probe_fw(struct a
-       device_get_mac_address(ar->dev, ar->mac_addr, sizeof(ar->mac_addr));
-+      of_get_mac_address(ar->dev->of_node, ar->mac_addr);
-+
-       ret = ath10k_core_init_firmware_features(ar);
-       if (ret) {
-               ath10k_err(ar, "fatal problem with firmware features: %d\n",
index af9c3d455b5fbe12b6ddd9b700491ab4f7417c6d..d50611b97060689445d88107f90b60101f435306 100644 (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 {
  };
  
index 1fc2566f9c87b23852e89a2feda5bf8d8ac0befe..b8c6c35326685a30a0350a7cd27083fec7811cbc 100644 (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,