From: Michael Yartys Date: Wed, 29 Jan 2020 22:19:30 +0000 (+0100) Subject: ath10k-ct: update to 2020-01-29 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=67174adc94f239786316616f577da4e78328e3ea;p=openwrt%2Fstaging%2Fjow.git ath10k-ct: update to 2020-01-29 Changes: ath10k-ct: Support better RSSI measurements. When used with recent firmware, these changes allow the driver to query per-chain noise-floor from the radio to better calculate the per-chain RSSI. The per-chain RSSI is then summed to provide the 'combined RSSI'. This gives better per-chain RSSI as well as combined RSSI, especially when running with more than 20Mhz bandwidths. Refresh patches. Tested-by: Stefan Lippers-Hollmann [ipq806x+qca9984,ipq4019+qca9986] Signed-off-by: Michael Yartys --- diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index c29d28f41a..02df930729 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2019-09-09 -PKG_SOURCE_VERSION:=5e8cd86f90dac966d12df6ece84ac41458d0e95f -PKG_MIRROR_HASH:=dc1097f3a7b4b7e346918f206746d00a0b7df07ae3be9b89be55dfaef3cbbe45 +PKG_SOURCE_DATE:=2020-01-29 +PKG_SOURCE_VERSION:=3e3d0adb3cc6c6cf56a05ff661796948f09c5aa8 +PKG_MIRROR_HASH:=6341de2d3b19b2a32205a1633bf9556815943a2cff38acbbe5f61c6c0164fdcc # Build the 5.2 ath10k-ct driver version. Other option is "-4.19". # Probably this should match as closely as diff --git a/package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch b/package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch index e67003c5a7..f18afae327 100644 --- a/package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch +++ b/package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch @@ -43,7 +43,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss) { switch ((mcs_map >> (2 * nss)) & 0x3) { -@@ -6405,9 +6421,10 @@ static void ath10k_bss_info_changed(stru +@@ -6413,9 +6429,10 @@ static void ath10k_bss_info_changed(stru struct cfg80211_chan_def def; u32 vdev_param, pdev_param, slottime, preamble; u16 bitrate, hw_value; @@ -56,7 +56,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux mutex_lock(&ar->conf_mutex); -@@ -6613,6 +6630,30 @@ static void ath10k_bss_info_changed(stru +@@ -6621,6 +6638,30 @@ static void ath10k_bss_info_changed(stru arvif->vdev_id, ret); } diff --git a/package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch b/package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch index a24029983c..aa473e8fea 100644 --- a/package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch +++ b/package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch @@ -26,7 +26,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux if (ath10k_rates[i].bitrate == bitrate) return hw_value_prefix | ath10k_rates[i].hw_value; } -@@ -6636,22 +6636,22 @@ static void ath10k_bss_info_changed(stru +@@ -6644,22 +6644,22 @@ static void ath10k_bss_info_changed(stru return; } diff --git a/package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch b/package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch index f6fd75b7e5..fc866f49b5 100644 --- a/package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch +++ b/package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch @@ -17,7 +17,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/ --- a/ath10k-4.19/mac.c +++ b/ath10k-4.19/mac.c -@@ -6421,8 +6421,8 @@ static void ath10k_bss_info_changed(stru +@@ -6429,8 +6429,8 @@ static void ath10k_bss_info_changed(stru struct cfg80211_chan_def def; u32 vdev_param, pdev_param, slottime, preamble; u16 bitrate, hw_value; @@ -28,7 +28,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/ enum nl80211_band band; const struct ieee80211_supported_band *sband; -@@ -6595,7 +6595,11 @@ static void ath10k_bss_info_changed(stru +@@ -6603,7 +6603,11 @@ static void ath10k_bss_info_changed(stru if (changed & BSS_CHANGED_MCAST_RATE && !WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) { band = def.chan->band; 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 aab435bccd..9a31164fcc 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 @@ -11,7 +11,7 @@ Signed-off-by: Sven Eckelmann --- a/ath10k-4.19/mac.c +++ b/ath10k-4.19/mac.c -@@ -6617,6 +6617,7 @@ static void ath10k_bss_info_changed(stru +@@ -6625,6 +6625,7 @@ static void ath10k_bss_info_changed(stru "mac vdev %d mcast_rate %x\n", arvif->vdev_id, rate); @@ -19,7 +19,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); -@@ -6625,6 +6626,7 @@ static void ath10k_bss_info_changed(stru +@@ -6633,6 +6634,7 @@ static void ath10k_bss_info_changed(stru "failed to set mcast rate on vdev %i: %d\n", arvif->vdev_id, ret); @@ -27,7 +27,7 @@ Signed-off-by: Sven Eckelmann vdev_param = ar->wmi.vdev_param->bcast_data_rate; ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, rate); -@@ -6651,6 +6653,7 @@ static void ath10k_bss_info_changed(stru +@@ -6659,6 +6661,7 @@ static void ath10k_bss_info_changed(stru return; } @@ -37,7 +37,7 @@ Signed-off-by: Sven Eckelmann hw_rate_code); --- a/ath10k-5.2/mac.c +++ b/ath10k-5.2/mac.c -@@ -6732,6 +6732,7 @@ static void ath10k_bss_info_changed(stru +@@ -6742,6 +6742,7 @@ static void ath10k_bss_info_changed(stru "mac vdev %d mcast_rate %x\n", arvif->vdev_id, rate); @@ -45,7 +45,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); -@@ -6740,6 +6741,7 @@ static void ath10k_bss_info_changed(stru +@@ -6750,6 +6751,7 @@ static void ath10k_bss_info_changed(stru "failed to set mcast rate on vdev %i: %d\n", arvif->vdev_id, ret); @@ -53,7 +53,7 @@ Signed-off-by: Sven Eckelmann vdev_param = ar->wmi.vdev_param->bcast_data_rate; ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param, rate); -@@ -6766,6 +6768,7 @@ static void ath10k_bss_info_changed(stru +@@ -6776,6 +6778,7 @@ static void ath10k_bss_info_changed(stru return; } diff --git a/package/kernel/ath10k-ct/patches/170-mac80211-pass-the-vif-to-cancel_remain_on_channel.patch b/package/kernel/ath10k-ct/patches/170-mac80211-pass-the-vif-to-cancel_remain_on_channel.patch index ee9667ccb0..180b0d5bf7 100644 --- a/package/kernel/ath10k-ct/patches/170-mac80211-pass-the-vif-to-cancel_remain_on_channel.patch +++ b/package/kernel/ath10k-ct/patches/170-mac80211-pass-the-vif-to-cancel_remain_on_channel.patch @@ -17,7 +17,7 @@ Signed-off-by: Johannes Berg --- a/ath10k-4.19/mac.c +++ b/ath10k-4.19/mac.c -@@ -7775,7 +7775,8 @@ exit: +@@ -7783,7 +7783,8 @@ exit: return ret; } @@ -29,7 +29,7 @@ Signed-off-by: Johannes Berg --- a/ath10k-5.2/mac.c +++ b/ath10k-5.2/mac.c -@@ -7883,7 +7883,8 @@ exit: +@@ -7893,7 +7893,8 @@ exit: return ret; } diff --git a/package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index ba42fc1d2d..d526e2795b 100644 --- a/package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -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, -@@ -3167,6 +3173,10 @@ int ath10k_core_start(struct ath10k *ar, +@@ -3170,6 +3176,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: -@@ -3421,9 +3431,18 @@ static void ath10k_core_register_work(st +@@ -3424,9 +3434,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: -@@ -3481,6 +3500,8 @@ void ath10k_core_unregister(struct ath10 +@@ -3484,6 +3503,8 @@ void ath10k_core_unregister(struct ath10 if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags)) return; @@ -464,7 +464,7 @@ v13: static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = { --- a/ath10k-4.19/wmi.c +++ b/ath10k-4.19/wmi.c -@@ -8070,6 +8070,49 @@ ath10k_wmi_op_gen_peer_set_param(struct +@@ -8071,6 +8071,49 @@ ath10k_wmi_op_gen_peer_set_param(struct return skb; } @@ -514,7 +514,7 @@ v13: static struct sk_buff * ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id, enum wmi_sta_ps_mode psmode) -@@ -9821,6 +9864,9 @@ static const struct wmi_ops wmi_ops = { +@@ -9822,6 +9865,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, @@ -524,7 +524,7 @@ v13: /* .gen_bcn_tmpl not implemented */ /* .gen_prb_tmpl not implemented */ /* .gen_p2p_go_bcn_ie not implemented */ -@@ -9891,6 +9937,8 @@ static const struct wmi_ops wmi_10_1_ops +@@ -9892,6 +9938,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, @@ -533,7 +533,7 @@ v13: /* .gen_bcn_tmpl not implemented */ /* .gen_prb_tmpl not implemented */ /* .gen_p2p_go_bcn_ie not implemented */ -@@ -9969,6 +10017,8 @@ static const struct wmi_ops wmi_10_2_ops +@@ -9970,6 +10018,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, @@ -542,7 +542,7 @@ v13: /* .gen_pdev_enable_adaptive_cca not implemented */ }; -@@ -10039,6 +10089,8 @@ static const struct wmi_ops wmi_10_2_4_o +@@ -10040,6 +10090,8 @@ static const struct wmi_ops wmi_10_2_4_o .gen_pdev_enable_adaptive_cca = ath10k_wmi_op_gen_pdev_enable_adaptive_cca, .get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype, @@ -551,7 +551,7 @@ v13: /* .gen_bcn_tmpl not implemented */ /* .gen_prb_tmpl not implemented */ /* .gen_p2p_go_bcn_ie not implemented */ -@@ -10119,6 +10171,8 @@ static const struct wmi_ops wmi_10_4_ops +@@ -10120,6 +10172,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, @@ -683,7 +683,7 @@ v13: .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR, .uart_pin = 7, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH, -@@ -3452,6 +3458,10 @@ int ath10k_core_start(struct ath10k *ar, +@@ -3497,6 +3503,10 @@ int ath10k_core_start(struct ath10k *ar, ath10k_wmi_check_apply_board_power_ctl_table(ar); } @@ -694,7 +694,7 @@ v13: return 0; err_hif_stop: -@@ -3708,9 +3718,18 @@ static void ath10k_core_register_work(st +@@ -3753,9 +3763,18 @@ static void ath10k_core_register_work(st goto err_spectral_destroy; } @@ -713,7 +713,7 @@ v13: err_spectral_destroy: ath10k_spectral_destroy(ar); err_debug_destroy: -@@ -3770,6 +3789,8 @@ void ath10k_core_unregister(struct ath10 +@@ -3815,6 +3834,8 @@ void ath10k_core_unregister(struct ath10 if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags)) return; @@ -732,7 +732,7 @@ v13: #include "htt.h" #include "htc.h" -@@ -1441,6 +1442,13 @@ struct ath10k { +@@ -1447,6 +1448,13 @@ struct ath10k { } testmode; struct { @@ -978,7 +978,7 @@ v13: static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = { --- a/ath10k-5.2/wmi.c +++ b/ath10k-5.2/wmi.c -@@ -8286,6 +8286,49 @@ ath10k_wmi_op_gen_peer_set_param(struct +@@ -8295,6 +8295,49 @@ ath10k_wmi_op_gen_peer_set_param(struct return skb; } @@ -1028,7 +1028,7 @@ v13: static struct sk_buff * ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id, enum wmi_sta_ps_mode psmode) -@@ -10058,6 +10101,9 @@ static const struct wmi_ops wmi_ops = { +@@ -10067,6 +10110,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, @@ -1038,7 +1038,7 @@ v13: /* .gen_bcn_tmpl not implemented */ /* .gen_prb_tmpl not implemented */ /* .gen_p2p_go_bcn_ie not implemented */ -@@ -10128,6 +10174,8 @@ static const struct wmi_ops wmi_10_1_ops +@@ -10137,6 +10183,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, @@ -1047,7 +1047,7 @@ v13: /* .gen_bcn_tmpl not implemented */ /* .gen_prb_tmpl not implemented */ /* .gen_p2p_go_bcn_ie not implemented */ -@@ -10207,6 +10255,8 @@ static const struct wmi_ops wmi_10_2_ops +@@ -10216,6 +10264,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, @@ -1056,7 +1056,7 @@ v13: /* .gen_pdev_enable_adaptive_cca not implemented */ }; -@@ -10278,6 +10328,8 @@ static const struct wmi_ops wmi_10_2_4_o +@@ -10287,6 +10337,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, @@ -1065,7 +1065,7 @@ v13: /* .gen_bcn_tmpl not implemented */ /* .gen_prb_tmpl not implemented */ /* .gen_p2p_go_bcn_ie not implemented */ -@@ -10359,6 +10411,8 @@ static const struct wmi_ops wmi_10_4_ops +@@ -10368,6 +10420,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, diff --git a/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch b/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch index d730f9931f..db62631dfd 100644 --- a/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch +++ b/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch @@ -16,7 +16,7 @@ Signed-off-by: Mathias Kresin --- a/ath10k-4.19/core.h +++ b/ath10k-4.19/core.h -@@ -1488,6 +1488,10 @@ struct ath10k { +@@ -1489,6 +1489,10 @@ struct ath10k { u8 csi_data[4096]; u16 csi_data_len; @@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/ath10k-4.19/mac.c +++ b/ath10k-4.19/mac.c -@@ -9983,7 +9983,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -9987,7 +9987,7 @@ int ath10k_mac_register(struct ath10k *a wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); #ifdef CPTCFG_MAC80211_LEDS @@ -53,7 +53,7 @@ Signed-off-by: Mathias Kresin #endif --- a/ath10k-5.2/core.h +++ b/ath10k-5.2/core.h -@@ -1543,6 +1543,10 @@ struct ath10k { +@@ -1550,6 +1550,10 @@ struct ath10k { u8 csi_data[4096]; u16 csi_data_len; @@ -79,7 +79,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/ath10k-5.2/mac.c +++ b/ath10k-5.2/mac.c -@@ -10179,7 +10179,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -10187,7 +10187,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-Limit-available-channels-via-DT-ieee80211-fre.patch b/package/kernel/ath10k-ct/patches/203-ath10k-Limit-available-channels-via-DT-ieee80211-fre.patch index 8fe1fb8f97..f47e9d64c0 100644 --- a/package/kernel/ath10k-ct/patches/203-ath10k-Limit-available-channels-via-DT-ieee80211-fre.patch +++ b/package/kernel/ath10k-ct/patches/203-ath10k-Limit-available-channels-via-DT-ieee80211-fre.patch @@ -29,7 +29,7 @@ Forwarded: https://patchwork.kernel.org/patch/10549245/ #include #include #include -@@ -9707,6 +9708,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -9711,6 +9712,7 @@ int ath10k_mac_register(struct ath10k *a ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band; } diff --git a/package/kernel/ath10k-ct/patches/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch b/package/kernel/ath10k-ct/patches/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch index cd8967cb93..0ff885d95a 100644 --- a/package/kernel/ath10k-ct/patches/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch +++ b/package/kernel/ath10k-ct/patches/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch @@ -70,7 +70,7 @@ Signed-off-by: Hauke Mehrtens --- a/ath10k-5.2/htt_rx.c +++ b/ath10k-5.2/htt_rx.c -@@ -2507,7 +2507,7 @@ do_generic: +@@ -2568,7 +2568,7 @@ do_generic: spin_lock_bh(&ar->data_lock); peer = ath10k_peer_find_by_id(ar, peer_id);