2e917efb607f ath10k: Add slow-pci bus work-around, sw-crypt blockack support.
cc73ceb0dbc7 ath10k: Fix out-of-tree compile for 4.16 driver.
4b3cf7c20972 ath10k: Improve tx-status reporting.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=ath10k-ct
include $(TOPDIR)/rules.mk
PKG_NAME:=ath10k-ct
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2019-02-28
-PKG_SOURCE_VERSION:=9360f389234a58f742c6cb3f8eea5a419c7523f6
-PKG_MIRROR_HASH:=7fa9ec0e298767b6dfaa9486e5f316cd03af82fc9d45066dbd80fca32a06b41f
+PKG_SOURCE_DATE:=2019-03-25
+PKG_SOURCE_VERSION:=2e917efb607fdc807a8ec6e9ad8de176fc51d329
+PKG_MIRROR_HASH:=290eeaaea84ab8112e06b66bb1edd78ae717ad4e04417893b936e4e6de8d5bf0
# 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
# 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
return;
--- a/ath10k-4.16/wmi.c
+++ b/ath10k-4.16/wmi.c
return;
--- a/ath10k-4.16/wmi.c
+++ b/ath10k-4.16/wmi.c
-@@ -4064,7 +4064,7 @@ static void ath10k_dfs_radar_report(stru
+@@ -4105,7 +4105,7 @@ static void ath10k_dfs_radar_report(stru
ATH10K_DFS_STAT_INC(ar, pulses_detected);
ATH10K_DFS_STAT_INC(ar, pulses_detected);
goto success;
--- a/ath10k-4.16/core.c
+++ b/ath10k-4.16/core.c
goto success;
--- a/ath10k-4.16/core.c
+++ b/ath10k-4.16/core.c
-@@ -1561,14 +1561,61 @@ out:
+@@ -1562,14 +1562,61 @@ out:
ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar->hw_params.fw.dir,
ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar->hw_params.fw.dir,
-@@ -1606,73 +1653,28 @@ static int ath10k_core_fetch_board_data_
+@@ -1607,73 +1654,28 @@ static int ath10k_core_fetch_board_data_
data += magic_len;
len -= magic_len;
data += magic_len;
len -= magic_len;
-@@ -1681,12 +1683,12 @@ err:
+@@ -1682,12 +1684,12 @@ err:
}
static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
}
static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
scnprintf(variant, sizeof(variant), ",variant=%s",
ar->id.bdf_ext);
scnprintf(variant, sizeof(variant), ",variant=%s",
ar->id.bdf_ext);
-@@ -1712,21 +1714,31 @@ out:
+@@ -1713,21 +1715,31 @@ out:
static int ath10k_core_fetch_board_file(struct ath10k *ar)
{
static int ath10k_core_fetch_board_file(struct ath10k *ar)
{
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
-@@ -3041,6 +3047,10 @@ int ath10k_core_start(struct ath10k *ar,
+@@ -3042,6 +3048,10 @@ int ath10k_core_start(struct ath10k *ar,
ar->eeprom_overrides.rc_txbf_probe);
}
ar->eeprom_overrides.rc_txbf_probe);
}
-@@ -3287,9 +3297,18 @@ static void ath10k_core_register_work(st
+@@ -3288,9 +3298,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy;
}
goto err_spectral_destroy;
}
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
-@@ -3347,6 +3366,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3348,6 +3367,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
#include "htt.h"
#include "htc.h"
#include "htt.h"
#include "htc.h"
-@@ -1251,6 +1252,13 @@ struct ath10k {
+@@ -1255,6 +1256,13 @@ struct ath10k {
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
--- a/ath10k-4.16/wmi.c
+++ b/ath10k-4.16/wmi.c
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
--- a/ath10k-4.16/wmi.c
+++ b/ath10k-4.16/wmi.c
-@@ -7362,6 +7362,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7405,6 +7405,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
-@@ -8977,6 +9020,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -9020,6 +9063,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,
.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,
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9047,6 +9093,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9090,6 +9136,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,
.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,
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9124,6 +9172,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9167,6 +9215,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,
.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,
/* .gen_pdev_enable_adaptive_cca not implemented */
};
/* .gen_pdev_enable_adaptive_cca not implemented */
};
-@@ -9194,6 +9244,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -9237,6 +9287,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,
.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,
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9270,6 +9322,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9313,6 +9365,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,
.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,
int ath10k_wmi_attach(struct ath10k *ar)
--- a/ath10k-4.16/wmi.h
+++ b/ath10k-4.16/wmi.h
int ath10k_wmi_attach(struct ath10k *ar)
--- a/ath10k-4.16/wmi.h
+++ b/ath10k-4.16/wmi.h
-@@ -3004,6 +3004,41 @@ enum wmi_10_4_feature_mask {
+@@ -3011,6 +3011,41 @@ enum wmi_10_4_feature_mask {
--- a/ath10k-4.16/core.h
+++ b/ath10k-4.16/core.h
--- a/ath10k-4.16/core.h
+++ b/ath10k-4.16/core.h
-@@ -1342,6 +1342,10 @@ struct ath10k {
+@@ -1346,6 +1346,10 @@ struct ath10k {
u8 csi_data[4096];
u16 csi_data_len;
u8 csi_data[4096];
u16 csi_data_len;
if (ret)
--- a/ath10k-4.16/mac.c
+++ b/ath10k-4.16/mac.c
if (ret)
--- a/ath10k-4.16/mac.c
+++ b/ath10k-4.16/mac.c
-@@ -9638,7 +9638,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9665,7 +9665,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
wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
#ifdef CPTCFG_MAC80211_LEDS
#include <net/mac80211.h>
#include <linux/etherdevice.h>
#include <linux/acpi.h>
#include <net/mac80211.h>
#include <linux/etherdevice.h>
#include <linux/acpi.h>
-@@ -8390,6 +8391,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9561,6 +9562,7 @@ int ath10k_mac_register(struct ath10k *a
ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
}
ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
}