PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_DATE:=2019-06-13
-PKG_SOURCE_VERSION:=a045b1ce61fe0908468c019e17a3848f7842c927
-PKG_MIRROR_HASH:=d5e37e129f1c55517461fec491804c52dca27bb3cae96f077ccbe6e1b6a5f834
+PKG_SOURCE_VERSION:=f0aa81302b2286715fa2fa5a2f4ebe2faf17694c
+PKG_MIRROR_HASH:=a6d418dfec02842529a53b3c48236e7a375a654a03e199fbc5178bdb269b7d64
# 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
--- a/ath10k-4.13/core.c
+++ b/ath10k-4.13/core.c
-@@ -893,6 +893,28 @@ static int ath10k_core_check_smbios(stru
+@@ -899,6 +899,28 @@ static int ath10k_core_check_smbios(stru
return 0;
}
static int ath10k_download_and_run_otp(struct ath10k *ar)
{
u32 result, address = ar->hw_params.patch_load_addr;
-@@ -1532,19 +1554,19 @@ static int ath10k_core_create_board_name
+@@ -1538,19 +1560,19 @@ static int ath10k_core_create_board_name
/* strlen(',variant=') + strlen(ar->id.bdf_ext) */
char variant[9 + ATH10K_SMBIOS_BDF_EXT_STR_LENGTH] = { 0 };
scnprintf(name, name_len,
"bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x%s",
ath10k_bus_str(ar->hif.bus),
-@@ -3028,7 +3050,11 @@ static int ath10k_core_probe_fw(struct a
+@@ -3034,7 +3056,11 @@ static int ath10k_core_probe_fw(struct a
ret = ath10k_core_check_smbios(ar);
if (ret)
--- a/ath10k-4.13/core.c
+++ b/ath10k-4.13/core.c
-@@ -1429,14 +1429,61 @@ out:
+@@ -1435,14 +1435,61 @@ out:
return ret;
}
ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar->hw_params.fw.dir,
-@@ -1474,73 +1521,28 @@ static int ath10k_core_fetch_board_data_
+@@ -1480,73 +1527,28 @@ static int ath10k_core_fetch_board_data_
data += magic_len;
len -= magic_len;
return 0;
err:
-@@ -1549,12 +1551,12 @@ err:
+@@ -1555,12 +1557,12 @@ err:
}
static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
scnprintf(variant, sizeof(variant), ",variant=%s",
ar->id.bdf_ext);
-@@ -1580,21 +1582,31 @@ out:
+@@ -1586,21 +1588,31 @@ out:
static int ath10k_core_fetch_board_file(struct ath10k *ar)
{
goto success;
--- a/ath10k-4.16/core.c
+++ b/ath10k-4.16/core.c
-@@ -1563,14 +1563,61 @@ out:
+@@ -1569,14 +1569,61 @@ out:
return ret;
}
ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
ar->hw_params.fw.dir,
-@@ -1608,73 +1655,28 @@ static int ath10k_core_fetch_board_data_
+@@ -1614,73 +1661,28 @@ static int ath10k_core_fetch_board_data_
data += magic_len;
len -= magic_len;
return 0;
err:
-@@ -1683,12 +1685,12 @@ err:
+@@ -1689,12 +1691,12 @@ err:
}
static int ath10k_core_create_board_name(struct ath10k *ar, char *name,
scnprintf(variant, sizeof(variant), ",variant=%s",
ar->id.bdf_ext);
-@@ -1714,21 +1716,31 @@ out:
+@@ -1720,21 +1722,31 @@ out:
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,
-@@ -3098,6 +3104,10 @@ int ath10k_core_start(struct ath10k *ar,
+@@ -3104,6 +3110,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar);
}
return 0;
err_hif_stop:
-@@ -3344,9 +3354,18 @@ static void ath10k_core_register_work(st
+@@ -3350,9 +3360,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy;
}
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
-@@ -3404,6 +3423,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3410,6 +3429,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
#include "htt.h"
#include "htc.h"
-@@ -1273,6 +1274,13 @@ struct ath10k {
+@@ -1278,6 +1279,13 @@ struct ath10k {
} testmode;
struct {
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
.uart_pin = 7,
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
-@@ -3161,6 +3167,10 @@ int ath10k_core_start(struct ath10k *ar,
+@@ -3167,6 +3173,10 @@ int ath10k_core_start(struct ath10k *ar,
ath10k_wmi_check_apply_board_power_ctl_table(ar);
}
return 0;
err_hif_stop:
-@@ -3415,9 +3425,18 @@ static void ath10k_core_register_work(st
+@@ -3421,9 +3431,18 @@ static void ath10k_core_register_work(st
goto err_spectral_destroy;
}
err_spectral_destroy:
ath10k_spectral_destroy(ar);
err_debug_destroy:
-@@ -3475,6 +3494,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3481,6 +3500,8 @@ void ath10k_core_unregister(struct ath10
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
return;
#include "htt.h"
#include "htc.h"
-@@ -1132,7 +1133,6 @@ struct ath10k {
+@@ -1137,7 +1138,6 @@ struct ath10k {
u32 low_5ghz_chan;
u32 high_5ghz_chan;
bool ani_enabled;
bool p2p;
bool ct_all_pkts_htt; /* CT firmware only: native-wifi for all pkts */
-@@ -1383,6 +1383,13 @@ struct ath10k {
+@@ -1388,6 +1388,13 @@ struct ath10k {
} testmode;
struct {
--- a/ath10k-4.16/core.h
+++ b/ath10k-4.16/core.h
-@@ -1366,6 +1366,10 @@ struct ath10k {
+@@ -1371,6 +1371,10 @@ struct ath10k {
u8 csi_data[4096];
u16 csi_data_len;
#endif
--- a/ath10k-4.19/core.h
+++ b/ath10k-4.19/core.h
-@@ -1482,6 +1482,10 @@ struct ath10k {
+@@ -1487,6 +1487,10 @@ struct ath10k {
u8 csi_data[4096];
u16 csi_data_len;