ath10k-ct: Update to current version

This patch updates ath10k-ct to current version.
Changes are:
     ath10k-ct:  Fix printing PN in peer stats.

     Previous logic was incorrect.  Also add set-special API to enable
     returning PN.

Patches refreshed and tested on 8devices Jalapeno dev board(IPQ4019)

Signed-off-by: Robert Marko <robimarko@gmail.com>
master
Robert Marko 6 years ago committed by Christian Lamparter
parent 61f4ceb146
commit 671d8752d1
  1. 6
      package/kernel/ath10k-ct/Makefile
  2. 2
      package/kernel/ath10k-ct/patches/081-ath10k-calibration-variant.patch
  3. 4
      package/kernel/ath10k-ct/patches/100-kernel_compat.patch
  4. 8
      package/kernel/ath10k-ct/patches/160-ath10k-search-all-IEs-for-variant-before-falling-back.patch
  5. 4
      package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch
  6. 2
      package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch
  7. 4
      package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch
  8. 6
      package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch
  9. 50
      package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
  10. 8
      package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch
  11. 2
      package/kernel/ath10k-ct/patches/203-ath10k-Limit-available-channels-via-DT-ieee80211-fre.patch

@ -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-04-08
PKG_SOURCE_VERSION:=9cd701a4f028b1643928a1f03c76e3f8c9e56a5b
PKG_MIRROR_HASH:=0088fea964279842a105908f5ac573b84e43de3a9b434d427fb871390525dfee
PKG_SOURCE_DATE:=2019-05-08
PKG_SOURCE_VERSION:=f98b6dc4d27ea2d79a1577285d1d5cb0641b3eb4
PKG_MIRROR_HASH:=ca2f0e9da25fc7140d26ddeeb8e929e172755aa0e41e4e92e5b87bb972b8ed41
# Build the 4.19 ath10k-ct driver version. Other options are "-4.16", or
# leave un-defined for 4.7 kernel. Probably this should match as closely as

@ -98,7 +98,7 @@ Origin: upstream, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
scnprintf(name, name_len,
"bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x%s",
ath10k_bus_str(ar->hif.bus),
@@ -2977,7 +2999,11 @@ static int ath10k_core_probe_fw(struct a
@@ -3014,7 +3036,11 @@ static int ath10k_core_probe_fw(struct a
ret = ath10k_core_check_smbios(ar);
if (ret)

@ -97,7 +97,7 @@
ATH10K_DFS_STAT_INC(ar, pulses_total);
--- a/ath10k-4.13/wmi.c
+++ b/ath10k-4.13/wmi.c
@@ -4030,7 +4030,7 @@ static void ath10k_dfs_radar_report(stru
@@ -4033,7 +4033,7 @@ static void ath10k_dfs_radar_report(stru
ATH10K_DFS_STAT_INC(ar, pulses_detected);
@ -108,7 +108,7 @@
return;
--- a/ath10k-4.16/wmi.c
+++ b/ath10k-4.16/wmi.c
@@ -4105,7 +4105,7 @@ static void ath10k_dfs_radar_report(stru
@@ -4117,7 +4117,7 @@ static void ath10k_dfs_radar_report(stru
ATH10K_DFS_STAT_INC(ar, pulses_detected);

@ -249,7 +249,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
goto success;
--- a/ath10k-4.16/core.c
+++ b/ath10k-4.16/core.c
@@ -1562,14 +1562,61 @@ out:
@@ -1563,14 +1563,61 @@ out:
return ret;
}
@ -314,7 +314,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar->hw_params.fw.dir,
@@ -1607,73 +1654,28 @@ static int ath10k_core_fetch_board_data_
@@ -1608,73 +1655,28 @@ static int ath10k_core_fetch_board_data_
data += magic_len;
len -= magic_len;
@ -397,7 +397,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
return 0;
err:
@@ -1682,12 +1684,12 @@ err:
@@ -1683,12 +1685,12 @@ err:
}
static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
@ -412,7 +412,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
scnprintf(variant, sizeof(variant), ",variant=%s",
ar->id.bdf_ext);
@@ -1713,21 +1715,31 @@ out:
@@ -1714,21 +1716,31 @@ out:
static int ath10k_core_fetch_board_file(struct ath10k *ar)
{

@ -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) {
@@ -6262,9 +6278,10 @@ static void ath10k_bss_info_changed(stru
@@ -6333,9 +6349,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);
@@ -6470,6 +6487,30 @@ static void ath10k_bss_info_changed(stru
@@ -6541,6 +6558,30 @@ static void ath10k_bss_info_changed(stru
arvif->vdev_id, ret);
}

@ -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;
}
@@ -6493,22 +6493,22 @@ static void ath10k_bss_info_changed(stru
@@ -6564,22 +6564,22 @@ static void ath10k_bss_info_changed(stru
return;
}

@ -17,7 +17,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
--- a/ath10k-4.19/mac.c
+++ b/ath10k-4.19/mac.c
@@ -6278,8 +6278,8 @@ static void ath10k_bss_info_changed(stru
@@ -6349,8 +6349,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;
@@ -6452,7 +6452,11 @@ static void ath10k_bss_info_changed(stru
@@ -6523,7 +6523,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;

@ -11,7 +11,7 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
--- a/ath10k-4.19/mac.c
+++ b/ath10k-4.19/mac.c
@@ -6474,6 +6474,7 @@ static void ath10k_bss_info_changed(stru
@@ -6545,6 +6545,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 <sven@narfation.org>
vdev_param = ar->wmi.vdev_param->mcast_data_rate;
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
vdev_param, rate);
@@ -6482,6 +6483,7 @@ static void ath10k_bss_info_changed(stru
@@ -6553,6 +6554,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 <sven@narfation.org>
vdev_param = ar->wmi.vdev_param->bcast_data_rate;
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
vdev_param, rate);
@@ -6508,6 +6510,7 @@ static void ath10k_bss_info_changed(stru
@@ -6579,6 +6581,7 @@ static void ath10k_bss_info_changed(stru
return;
}

@ -161,8 +161,8 @@ v13:
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
@@ -3042,6 +3048,10 @@ int ath10k_core_start(struct ath10k *ar,
ar->eeprom_overrides.rc_txbf_probe);
@@ -3084,6 +3090,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar);
}
+ status = ath10k_leds_start(ar);
@ -172,7 +172,7 @@ v13:
return 0;
err_hif_stop:
@@ -3288,9 +3298,18 @@ static void ath10k_core_register_work(st
@@ -3330,9 +3340,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:
@@ -3348,6 +3367,8 @@ void ath10k_core_unregister(struct ath10
@@ -3390,6 +3409,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
@ -210,7 +210,7 @@ v13:
#include "htt.h"
#include "htc.h"
@@ -1255,6 +1256,13 @@ struct ath10k {
@@ -1273,6 +1274,13 @@ struct ath10k {
} testmode;
struct {
@ -455,7 +455,7 @@ v13:
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
--- a/ath10k-4.16/wmi.c
+++ b/ath10k-4.16/wmi.c
@@ -7405,6 +7405,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
@@ -7593,6 +7593,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
return skb;
}
@ -505,7 +505,7 @@ v13:
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
@@ -9020,6 +9063,9 @@ static const struct wmi_ops wmi_ops = {
@@ -9235,6 +9278,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,
@ -515,7 +515,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9090,6 +9136,8 @@ static const struct wmi_ops wmi_10_1_ops
@@ -9305,6 +9351,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,
@ -524,7 +524,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9167,6 +9215,8 @@ static const struct wmi_ops wmi_10_2_ops
@@ -9383,6 +9431,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,
@ -533,7 +533,7 @@ v13:
/* .gen_pdev_enable_adaptive_cca not implemented */
};
@@ -9237,6 +9287,8 @@ static const struct wmi_ops wmi_10_2_4_o
@@ -9453,6 +9503,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,
@ -542,7 +542,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9313,6 +9365,8 @@ static const struct wmi_ops wmi_10_4_ops
@@ -9529,6 +9581,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,
@ -553,7 +553,7 @@ v13:
int ath10k_wmi_attach(struct ath10k *ar)
--- a/ath10k-4.16/wmi.h
+++ b/ath10k-4.16/wmi.h
@@ -3011,6 +3011,41 @@ enum wmi_10_4_feature_mask {
@@ -3013,6 +3013,41 @@ enum wmi_10_4_feature_mask {
};
@ -674,8 +674,8 @@ v13:
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
@@ -3103,6 +3109,10 @@ int ath10k_core_start(struct ath10k *ar,
ar->eeprom_overrides.rc_txbf_probe);
@@ -3147,6 +3153,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar);
}
+ status = ath10k_leds_start(ar);
@ -685,7 +685,7 @@ v13:
return 0;
err_hif_stop:
@@ -3357,9 +3367,18 @@ static void ath10k_core_register_work(st
@@ -3401,9 +3411,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy;
}
@ -704,7 +704,7 @@ v13:
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
@@ -3417,6 +3436,8 @@ void ath10k_core_unregister(struct ath10
@@ -3461,6 +3480,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
@ -723,7 +723,7 @@ v13:
#include "htt.h"
#include "htc.h"
@@ -1113,7 +1114,6 @@ struct ath10k {
@@ -1132,7 +1133,6 @@ struct ath10k {
u32 low_5ghz_chan;
u32 high_5ghz_chan;
bool ani_enabled;
@ -731,7 +731,7 @@ v13:
bool p2p;
bool ct_all_pkts_htt; /* CT firmware only: native-wifi for all pkts */
@@ -1362,6 +1362,13 @@ struct ath10k {
@@ -1383,6 +1383,13 @@ struct ath10k {
} testmode;
struct {
@ -977,7 +977,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
@@ -7881,6 +7881,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
@@ -8070,6 +8070,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
return skb;
}
@ -1027,7 +1027,7 @@ v13:
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
@@ -9605,6 +9648,9 @@ static const struct wmi_ops wmi_ops = {
@@ -9821,6 +9864,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,
@ -1037,7 +1037,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9675,6 +9721,8 @@ static const struct wmi_ops wmi_10_1_ops
@@ -9891,6 +9937,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,
@ -1046,7 +1046,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9752,6 +9800,8 @@ static const struct wmi_ops wmi_10_2_ops
@@ -9969,6 +10017,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,
@ -1055,7 +1055,7 @@ v13:
/* .gen_pdev_enable_adaptive_cca not implemented */
};
@@ -9822,6 +9872,8 @@ static const struct wmi_ops wmi_10_2_4_o
@@ -10039,6 +10089,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,
@ -1064,7 +1064,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9902,6 +9954,8 @@ static const struct wmi_ops wmi_10_4_ops
@@ -10119,6 +10171,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,
@ -1075,7 +1075,7 @@ v13:
int ath10k_wmi_attach(struct ath10k *ar)
--- a/ath10k-4.19/wmi.h
+++ b/ath10k-4.19/wmi.h
@@ -3040,6 +3040,41 @@ enum wmi_10_4_feature_mask {
@@ -3041,6 +3041,41 @@ enum wmi_10_4_feature_mask {
};

@ -16,7 +16,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
--- a/ath10k-4.16/core.h
+++ b/ath10k-4.16/core.h
@@ -1346,6 +1346,10 @@ struct ath10k {
@@ -1366,6 +1366,10 @@ struct ath10k {
u8 csi_data[4096];
u16 csi_data_len;
@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
if (ret)
--- a/ath10k-4.16/mac.c
+++ b/ath10k-4.16/mac.c
@@ -9665,7 +9665,7 @@ int ath10k_mac_register(struct ath10k *a
@@ -9739,7 +9739,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 <dev@kresin.me>
#endif
--- a/ath10k-4.19/core.h
+++ b/ath10k-4.19/core.h
@@ -1459,6 +1459,10 @@ struct ath10k {
@@ -1482,6 +1482,10 @@ struct ath10k {
u8 csi_data[4096];
u16 csi_data_len;
@ -79,7 +79,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
if (ret)
--- a/ath10k-4.19/mac.c
+++ b/ath10k-4.19/mac.c
@@ -9837,7 +9837,7 @@ int ath10k_mac_register(struct ath10k *a
@@ -9908,7 +9908,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

@ -29,7 +29,7 @@ Forwarded: https://patchwork.kernel.org/patch/10549245/
#include <net/mac80211.h>
#include <linux/etherdevice.h>
#include <linux/acpi.h>
@@ -9561,6 +9562,7 @@ int ath10k_mac_register(struct ath10k *a
@@ -9632,6 +9633,7 @@ int ath10k_mac_register(struct ath10k *a
ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
}

Loading…
Cancel
Save