From: Álvaro Fernández Rojas Date: Mon, 15 Feb 2021 12:52:23 +0000 (+0100) Subject: ath10k-ct: switch to 5.10 X-Git-Tag: v22.03.0-rc1~3487 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a5c4c404764e9125d7a6c435c2f8d840c68ceed2;p=openwrt%2Fstaging%2Fhauke.git ath10k-ct: switch to 5.10 Let's switch to 5.10 now that mac80211 has been updated. Runtime-tested on ipq806x (Netgear R7800). Signed-off-by: Álvaro Fernández Rojas --- diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index 516bd94386..32b294a69f 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-ct -PKG_RELEASE=1 +PKG_RELEASE=2 PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= @@ -12,10 +12,10 @@ PKG_SOURCE_DATE:=2021-01-11 PKG_SOURCE_VERSION:=9fe1df7d4f783b6b0cd1c99d11979e5a6e6fc40b PKG_MIRROR_HASH:=4e30e256716611045e930b95eadaa8bfcadd5bdd8bbe3869cfe0f377920e812b -# Build the 5.8 ath10k-ct driver version. +# Build the 5.10 ath10k-ct driver version. # Probably this should match as closely as # possible to whatever mac80211 backports version is being used. -CT_KVER="-5.8" +CT_KVER="-5.10" PKG_MAINTAINER:=Ben Greear PKG_BUILD_PARALLEL:=1 diff --git a/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch b/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch index 1fe52b96b9..842f3ea2a5 100644 --- a/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch +++ b/package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch @@ -9,9 +9,9 @@ mcast_rate set for a wifi-iface. Signed-off-by: Sven Eckelmann ---- a/ath10k-5.8/mac.c -+++ b/ath10k-5.8/mac.c -@@ -6691,6 +6691,7 @@ static void ath10k_recalculate_mgmt_rate +--- a/ath10k-5.10/mac.c ++++ b/ath10k-5.10/mac.c +@@ -6774,6 +6774,7 @@ static void ath10k_recalculate_mgmt_rate return; } @@ -19,7 +19,7 @@ Signed-off-by: Sven Eckelmann vdev_param = ar->wmi.vdev_param->mgmt_rate; ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, hw_rate_code); -@@ -6917,6 +6918,7 @@ static void ath10k_bss_info_changed(stru +@@ -7000,6 +7001,7 @@ static void ath10k_bss_info_changed(stru "mac vdev %d mcast_rate %x\n", arvif->vdev_id, rate); @@ -27,7 +27,7 @@ Signed-off-by: Sven Eckelmann vdev_param = ar->wmi.vdev_param->mcast_data_rate; ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, rate); -@@ -6925,6 +6927,7 @@ static void ath10k_bss_info_changed(stru +@@ -7008,6 +7010,7 @@ static void ath10k_bss_info_changed(stru "failed to set mcast rate on vdev %i: %d\n", arvif->vdev_id, ret); diff --git a/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index e5a83ccb97..749e796148 100644 --- a/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/ath10k-ct/patches/201-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -66,24 +66,24 @@ v13: * cleanup includes - ath10k-5.8/Kconfig | 10 +++ - ath10k-5.8/Makefile | 1 + - ath10k-5.8/core.c | 22 +++++++ - ath10k-5.8/core.h | 9 ++- - ath10k-5.8/hw.h | 1 + - ath10k-5.8/leds.c | 103 ++++++++++++++++++++++++++++++ - ath10k-5.8/leds.h | 45 +++++++++++++ - ath10k-5.8/mac.c | 1 + - ath10k-5.8/wmi-ops.h | 32 ++++++++++ - ath10k-5.8/wmi-tlv.c | 2 + - ath10k-5.8/wmi.c | 54 ++++++++++++++++ - ath10k-5.8/wmi.h | 35 ++++++++++ + 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 ++++++++++ 12 files changed, 314 insertions(+), 1 deletion(-) - create mode 100644 ath10k-5.8/leds.c - create mode 100644 ath10k-5.8/leds.h + create mode 100644 ath10k-5.10/leds.c + create mode 100644 ath10k-5.10/leds.h ---- a/ath10k-5.8/Kconfig -+++ b/ath10k-5.8/Kconfig +--- a/ath10k-5.10/Kconfig ++++ b/ath10k-5.10/Kconfig @@ -65,6 +65,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.8/Makefile -+++ b/ath10k-5.8/Makefile +--- a/ath10k-5.10/Makefile ++++ b/ath10k-5.10/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,8 +111,8 @@ 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.8/core.c -+++ b/ath10k-5.8/core.c +--- a/ath10k-5.10/core.c ++++ b/ath10k-5.10/core.c @@ -26,6 +26,7 @@ #include "testmode.h" #include "wmi-ops.h" @@ -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, -@@ -138,6 +140,7 @@ static const struct ath10k_hw_params ath +@@ -137,6 +139,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, -@@ -347,6 +350,7 @@ static const struct ath10k_hw_params ath +@@ -342,6 +345,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, -@@ -388,6 +392,7 @@ static const struct ath10k_hw_params ath +@@ -382,6 +386,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, -@@ -436,6 +441,7 @@ static const struct ath10k_hw_params ath +@@ -429,6 +434,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, -@@ -3688,6 +3694,10 @@ int ath10k_core_start(struct ath10k *ar, +@@ -3705,6 +3711,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: -@@ -3946,9 +3956,18 @@ static void ath10k_core_register_work(st +@@ -3963,9 +3973,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: -@@ -4008,6 +4027,8 @@ void ath10k_core_unregister(struct ath10 +@@ -4025,6 +4044,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.8/core.h -+++ b/ath10k-5.8/core.h +--- a/ath10k-5.10/core.h ++++ b/ath10k-5.10/core.h @@ -14,6 +14,7 @@ #include #include @@ -210,7 +210,7 @@ v13: #include "htt.h" #include "htc.h" -@@ -1530,6 +1531,13 @@ struct ath10k { +@@ -1551,6 +1552,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.8/hw.h -+++ b/ath10k-5.8/hw.h +--- a/ath10k-5.10/hw.h ++++ b/ath10k-5.10/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.8/leds.c ++++ b/ath10k-5.10/leds.c @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2005-2011 Atheros Communications Inc. @@ -341,7 +341,7 @@ v13: +} + --- /dev/null -+++ b/ath10k-5.8/leds.h ++++ b/ath10k-5.10/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.8/mac.c -+++ b/ath10k-5.8/mac.c +--- a/ath10k-5.10/mac.c ++++ b/ath10k-5.10/mac.c @@ -25,6 +25,7 @@ #include "wmi-tlv.h" #include "wmi-ops.h" @@ -394,12 +394,12 @@ v13: /*********/ /* Rates */ ---- a/ath10k-5.8/wmi-ops.h -+++ b/ath10k-5.8/wmi-ops.h -@@ -226,7 +226,10 @@ struct wmi_ops { - struct sk_buff *(*gen_bb_timing) - (struct ath10k *ar, +--- a/ath10k-5.10/wmi-ops.h ++++ b/ath10k-5.10/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, + const struct wmi_per_peer_per_tid_cfg_arg *arg); + struct sk_buff *(*gen_gpio_config)(struct ath10k *ar, u32 gpio_num, + u32 input, u32 pull_type, u32 intr_mode); @@ -407,7 +407,7 @@ v13: }; int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); -@@ -1145,6 +1148,35 @@ ath10k_wmi_force_fw_hang(struct ath10k * +@@ -1147,6 +1150,35 @@ ath10k_wmi_force_fw_hang(struct ath10k * return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid); } @@ -443,9 +443,9 @@ v13: static inline int ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level) { ---- a/ath10k-5.8/wmi-tlv.c -+++ b/ath10k-5.8/wmi-tlv.c -@@ -4583,6 +4583,8 @@ static const struct wmi_ops wmi_tlv_ops +--- a/ath10k-5.10/wmi-tlv.c ++++ b/ath10k-5.10/wmi-tlv.c +@@ -4585,6 +4585,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, .gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable, @@ -454,9 +454,9 @@ v13: }; static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = { ---- a/ath10k-5.8/wmi.c -+++ b/ath10k-5.8/wmi.c -@@ -8412,6 +8412,49 @@ ath10k_wmi_op_gen_peer_set_param(struct +--- a/ath10k-5.10/wmi.c ++++ b/ath10k-5.10/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) -@@ -10211,6 +10254,9 @@ static const struct wmi_ops wmi_ops = { +@@ -10238,6 +10281,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 */ -@@ -10281,6 +10327,8 @@ static const struct wmi_ops wmi_10_1_ops +@@ -10308,6 +10354,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 */ -@@ -10360,6 +10408,8 @@ static const struct wmi_ops wmi_10_2_ops +@@ -10387,6 +10435,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 */ }; -@@ -10431,6 +10481,8 @@ static const struct wmi_ops wmi_10_2_4_o +@@ -10458,6 +10508,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 */ -@@ -10512,6 +10564,8 @@ static const struct wmi_ops wmi_10_4_ops +@@ -10540,6 +10592,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,9 +552,9 @@ v13: }; int ath10k_wmi_attach(struct ath10k *ar) ---- a/ath10k-5.8/wmi.h -+++ b/ath10k-5.8/wmi.h -@@ -3121,6 +3121,41 @@ enum wmi_10_4_feature_mask { +--- a/ath10k-5.10/wmi.h ++++ b/ath10k-5.10/wmi.h +@@ -3133,6 +3133,41 @@ enum wmi_10_4_feature_mask { }; diff --git a/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch b/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch index 3f7c405efb..eae779ef58 100644 --- a/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch +++ b/package/kernel/ath10k-ct/patches/202-ath10k-use-tpt-trigger-by-default.patch @@ -9,14 +9,14 @@ traffic. Signed-off-by: Mathias Kresin --- - ath10k-5.8/core.h | 4 ++++ - ath10k-5.8/leds.c | 4 +--- - ath10k-5.8/mac.c | 2 +- + ath10k-5.10/core.h | 4 ++++ + ath10k-5.10/leds.c | 4 +--- + ath10k-5.10/mac.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) ---- a/ath10k-5.8/core.h -+++ b/ath10k-5.8/core.h -@@ -1638,6 +1638,10 @@ struct ath10k { +--- a/ath10k-5.10/core.h ++++ b/ath10k-5.10/core.h +@@ -1659,6 +1659,10 @@ struct ath10k { u8 csi_data[4096]; u16 csi_data_len; @@ -27,8 +27,8 @@ Signed-off-by: Mathias Kresin /* must be last */ u8 drv_priv[] __aligned(sizeof(void *)); }; ---- a/ath10k-5.8/leds.c -+++ b/ath10k-5.8/leds.c +--- a/ath10k-5.10/leds.c ++++ b/ath10k-5.10/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 ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev); if (ret) ---- a/ath10k-5.8/mac.c -+++ b/ath10k-5.8/mac.c -@@ -10718,7 +10718,7 @@ int ath10k_mac_register(struct ath10k *a +--- a/ath10k-5.10/mac.c ++++ b/ath10k-5.10/mac.c +@@ -11400,7 +11400,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/300-mac80211-5.10.patch b/package/kernel/ath10k-ct/patches/300-mac80211-5.10.patch deleted file mode 100644 index 52d639291b..0000000000 --- a/package/kernel/ath10k-ct/patches/300-mac80211-5.10.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/ath10k-5.8/wmi.c -+++ b/ath10k-5.8/wmi.c -@@ -4254,7 +4254,7 @@ void ath10k_wmi_event_host_swba(struct a - * actual channel switch is done - */ - if (arvif->vif->csa_active && -- ieee80211_csa_is_complete(arvif->vif)) { -+ ieee80211_beacon_cntdwn_is_complete(arvif->vif)) { - ieee80211_csa_finish(arvif->vif); - continue; - } ---- a/ath10k-5.8/mac.c -+++ b/ath10k-5.8/mac.c -@@ -2295,8 +2295,8 @@ static void ath10k_mac_vif_ap_csa_count_ - if (!arvif->is_up) - return; - -- if (!ieee80211_csa_is_complete(vif)) { -- ieee80211_csa_update_counter(vif); -+ if (!ieee80211_beacon_cntdwn_is_complete(vif)) { -+ ieee80211_beacon_update_cntdwn(vif); - - ret = ath10k_mac_setup_bcn_tmpl(arvif); - if (ret) diff --git a/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch b/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch index 5b52a434f9..af9c3d455b 100644 --- a/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch +++ b/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch @@ -1,5 +1,5 @@ ---- a/ath10k-5.8/htt.h -+++ b/ath10k-5.8/htt.h +--- a/ath10k-5.10/htt.h ++++ b/ath10k-5.10/htt.h @@ -237,7 +237,11 @@ enum htt_rx_ring_flags { }; diff --git a/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch b/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch index 98653d6b72..1fc2566f9c 100644 --- a/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch +++ b/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch @@ -1,5 +1,5 @@ ---- a/ath10k-5.8/pci.c -+++ b/ath10k-5.8/pci.c +--- a/ath10k-5.10/pci.c ++++ b/ath10k-5.10/pci.c @@ -131,7 +131,11 @@ static const struct ce_attr pci_host_ce_ .flags = CE_ATTR_FLAGS, .src_nentries = 0,