ath10k-ct: Update to 2019-02-28
authorMichael Yartys <michael.yartys@gmail.com>
Sat, 2 Mar 2019 19:50:18 +0000 (20:50 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Wed, 6 Mar 2019 20:58:59 +0000 (21:58 +0100)
9360f389234a ath10k: Support up to 24 vAP per radio, fix DMA bug in wave-1.
9cbf8d430974 ath10k-ct: Add 4.20 driver, SGI support for fixed-rate tx.

Runtime tested on: ipq806x

Signed-off-by: Michael Yartys <michael.yartys@gmail.com>
package/kernel/ath10k-ct/Makefile
package/kernel/ath10k-ct/patches/081-ath10k-calibration-variant.patch
package/kernel/ath10k-ct/patches/100-kernel_compat.patch
package/kernel/ath10k-ct/patches/160-ath10k-search-all-IEs-for-variant-before-falling-back.patch
package/kernel/ath10k-ct/patches/161-ath10k-add-support-for-configuring-management-packet.patch
package/kernel/ath10k-ct/patches/162-ath10k-fix-possible-out-of-bound-access-of-ath10k_ra.patch
package/kernel/ath10k-ct/patches/163-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch
package/kernel/ath10k-ct/patches/164-ath10k-commit-rates-from-mac80211.patch
package/kernel/ath10k-ct/patches/201-ath10k-4.16_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch

index 0bc81dfedbb04c378109616f5ff1817c3a6adb43..0f8b9a6bdb2a4461bc569d9f005f181f25477286 100644 (file)
@@ -8,9 +8,9 @@ PKG_LICENSE_FILES:=
 
 PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
 PKG_SOURCE_PROTO:=git
 
 PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2018-12-20
-PKG_SOURCE_VERSION:=118e16da8e82f2e028654f86e47f4c8e5bddccc8
-PKG_MIRROR_HASH:=f84616d5c6c3f6c0aded40b821d9b54fd88b78737f534b37a6ed0c51db16ed06
+PKG_SOURCE_DATE:=2019-02-28
+PKG_SOURCE_VERSION:=9360f389234a58f742c6cb3f8eea5a419c7523f6
+PKG_MIRROR_HASH:=7fa9ec0e298767b6dfaa9486e5f316cd03af82fc9d45066dbd80fca32a06b41f
 
 # 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
index 1752bf8c959ec38d154c3e61409d4aff42d0549a..987a7d79e2878b01c2bf05500be30e4163855d32 100644 (file)
@@ -43,7 +43,7 @@ Origin: upstream, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
 
 --- a/ath10k-4.13/core.c
 +++ b/ath10k-4.13/core.c
 
 --- a/ath10k-4.13/core.c
 +++ b/ath10k-4.13/core.c
-@@ -891,6 +891,28 @@ static int ath10k_core_check_smbios(stru
+@@ -893,6 +893,28 @@ static int ath10k_core_check_smbios(stru
        return 0;
  }
  
        return 0;
  }
  
@@ -72,7 +72,7 @@ Origin: upstream, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
  static int ath10k_download_and_run_otp(struct ath10k *ar)
  {
        u32 result, address = ar->hw_params.patch_load_addr;
  static int ath10k_download_and_run_otp(struct ath10k *ar)
  {
        u32 result, address = ar->hw_params.patch_load_addr;
-@@ -1530,19 +1552,19 @@ static int ath10k_core_create_board_name
+@@ -1532,19 +1554,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 };
  
        /* strlen(',variant=') + strlen(ar->id.bdf_ext) */
        char variant[9 + ATH10K_SMBIOS_BDF_EXT_STR_LENGTH] = { 0 };
  
@@ -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),
        scnprintf(name, name_len,
                  "bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x%s",
                  ath10k_bus_str(ar->hif.bus),
-@@ -2975,7 +2997,11 @@ static int ath10k_core_probe_fw(struct a
+@@ -2977,7 +2999,11 @@ static int ath10k_core_probe_fw(struct a
  
        ret = ath10k_core_check_smbios(ar);
        if (ret)
  
        ret = ath10k_core_check_smbios(ar);
        if (ret)
index 594a63e36abb4e1d416ecc132e33757ac4438bb8..6de451d95721c82bdf4c643b810915b2365ef7c7 100644 (file)
@@ -97,7 +97,7 @@
        ATH10K_DFS_STAT_INC(ar, pulses_total);
 --- a/ath10k-4.13/wmi.c
 +++ b/ath10k-4.13/wmi.c
        ATH10K_DFS_STAT_INC(ar, pulses_total);
 --- a/ath10k-4.13/wmi.c
 +++ b/ath10k-4.13/wmi.c
-@@ -4031,7 +4031,7 @@ static void ath10k_dfs_radar_report(stru
+@@ -4030,7 +4030,7 @@ static void ath10k_dfs_radar_report(stru
  
        ATH10K_DFS_STAT_INC(ar, pulses_detected);
  
  
        ATH10K_DFS_STAT_INC(ar, pulses_detected);
  
                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
-@@ -4065,7 +4065,7 @@ static void ath10k_dfs_radar_report(stru
+@@ -4064,7 +4064,7 @@ static void ath10k_dfs_radar_report(stru
  
        ATH10K_DFS_STAT_INC(ar, pulses_detected);
  
  
        ATH10K_DFS_STAT_INC(ar, pulses_detected);
  
index cb7aec06f5d1ba66a75aa1db85bcc76001536b3e..880d6626e747bc5d6292439e054bbf42b2a5ce52 100644 (file)
@@ -50,7 +50,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
 
 --- a/ath10k-4.13/core.c
 +++ b/ath10k-4.13/core.c
 
 --- a/ath10k-4.13/core.c
 +++ b/ath10k-4.13/core.c
-@@ -1427,14 +1427,61 @@ out:
+@@ -1429,14 +1429,61 @@ out:
        return ret;
  }
  
        return ret;
  }
  
@@ -115,7 +115,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,
  
        ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
                                                        ar->hw_params.fw.dir,
-@@ -1472,73 +1519,28 @@ static int ath10k_core_fetch_board_data_
+@@ -1474,73 +1521,28 @@ static int ath10k_core_fetch_board_data_
        data += magic_len;
        len -= magic_len;
  
        data += magic_len;
        len -= magic_len;
  
@@ -198,7 +198,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
        return 0;
  
  err:
        return 0;
  
  err:
-@@ -1547,12 +1549,12 @@ err:
+@@ -1549,12 +1551,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,
@@ -213,7 +213,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
                scnprintf(variant, sizeof(variant), ",variant=%s",
                          ar->id.bdf_ext);
  
                scnprintf(variant, sizeof(variant), ",variant=%s",
                          ar->id.bdf_ext);
  
-@@ -1578,21 +1580,31 @@ out:
+@@ -1580,21 +1582,31 @@ out:
  
  static int ath10k_core_fetch_board_file(struct ath10k *ar)
  {
  
  static int ath10k_core_fetch_board_file(struct ath10k *ar)
  {
@@ -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
                goto success;
 --- a/ath10k-4.16/core.c
 +++ b/ath10k-4.16/core.c
-@@ -1560,14 +1560,61 @@ out:
+@@ -1561,14 +1561,61 @@ out:
        return ret;
  }
  
        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,
  
        ar->normal_mode_fw.board = ath10k_fetch_fw_file(ar,
                                                        ar->hw_params.fw.dir,
-@@ -1605,73 +1652,28 @@ static int ath10k_core_fetch_board_data_
+@@ -1606,73 +1653,28 @@ static int ath10k_core_fetch_board_data_
        data += magic_len;
        len -= magic_len;
  
        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:
        return 0;
  
  err:
-@@ -1680,12 +1682,12 @@ err:
+@@ -1681,12 +1683,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,
@@ -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);
  
                scnprintf(variant, sizeof(variant), ",variant=%s",
                          ar->id.bdf_ext);
  
-@@ -1711,21 +1713,31 @@ out:
+@@ -1712,21 +1714,31 @@ out:
  
  static int ath10k_core_fetch_board_file(struct ath10k *ar)
  {
  
  static int ath10k_core_fetch_board_file(struct ath10k *ar)
  {
index a13c2e0869b9199e0153f267ee430b7e6121a004..7c59d14ffcbe301ae4555c88435445e09cbacb9c 100644 (file)
@@ -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) {
  static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss)
  {
        switch ((mcs_map >> (2 * nss)) & 0x3) {
-@@ -6248,9 +6264,10 @@ static void ath10k_bss_info_changed(stru
+@@ -6262,9 +6278,10 @@ static void ath10k_bss_info_changed(stru
        struct cfg80211_chan_def def;
        u32 vdev_param, pdev_param, slottime, preamble;
        u16 bitrate, hw_value;
        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);
  
  
        mutex_lock(&ar->conf_mutex);
  
-@@ -6456,6 +6473,30 @@ static void ath10k_bss_info_changed(stru
+@@ -6470,6 +6487,30 @@ static void ath10k_bss_info_changed(stru
                                    arvif->vdev_id,  ret);
        }
  
                                    arvif->vdev_id,  ret);
        }
  
index 5edd51788309d1bb4c2a5b09b655f5a0e096e1a2..5eba4f35424202437c0a67030afef244b17aa9fb 100644 (file)
@@ -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;
        }
                if (ath10k_rates[i].bitrate == bitrate)
                        return hw_value_prefix | ath10k_rates[i].hw_value;
        }
-@@ -6479,22 +6479,22 @@ static void ath10k_bss_info_changed(stru
+@@ -6493,22 +6493,22 @@ static void ath10k_bss_info_changed(stru
                        return;
                }
  
                        return;
                }
  
index 5ffec9a21cb099e0968f6fdc5a9426682e8f34ba..ade1eb2d75102aff36b952789e4f380b1dc52a0f 100644 (file)
@@ -17,7 +17,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
 
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
 
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
-@@ -6264,8 +6264,8 @@ static void ath10k_bss_info_changed(stru
+@@ -6278,8 +6278,8 @@ static void ath10k_bss_info_changed(stru
        struct cfg80211_chan_def def;
        u32 vdev_param, pdev_param, slottime, preamble;
        u16 bitrate, hw_value;
        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;
  
        enum nl80211_band band;
        const struct ieee80211_supported_band *sband;
  
-@@ -6438,7 +6438,11 @@ static void ath10k_bss_info_changed(stru
+@@ -6452,7 +6452,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;
        if (changed & BSS_CHANGED_MCAST_RATE &&
            !WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) {
                band = def.chan->band;
index 9c74f1d967e8db9306bb59a8359814d82f528936..43f5591bba83fd27d380ab6dbf23487ea9f20f4b 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Sven Eckelmann <sven@narfation.org>
 
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
 
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
-@@ -6460,6 +6460,7 @@ static void ath10k_bss_info_changed(stru
+@@ -6474,6 +6474,7 @@ static void ath10k_bss_info_changed(stru
                           "mac vdev %d mcast_rate %x\n",
                           arvif->vdev_id, rate);
  
                           "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);
                vdev_param = ar->wmi.vdev_param->mcast_data_rate;
                ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
                                                vdev_param, rate);
-@@ -6468,6 +6469,7 @@ static void ath10k_bss_info_changed(stru
+@@ -6482,6 +6483,7 @@ static void ath10k_bss_info_changed(stru
                                    "failed to set mcast rate on vdev %i: %d\n",
                                    arvif->vdev_id,  ret);
  
                                    "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);
                vdev_param = ar->wmi.vdev_param->bcast_data_rate;
                ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
                                                vdev_param, rate);
-@@ -6494,6 +6496,7 @@ static void ath10k_bss_info_changed(stru
+@@ -6508,6 +6510,7 @@ static void ath10k_bss_info_changed(stru
                        return;
                }
  
                        return;
                }
  
index 0be3ffdcff3f6c37ecb0fce5d01200e66c320b2e..06444f09c208172087c9ae74f76ac435289e74e1 100644 (file)
@@ -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,
                .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
                .uart_pin = 7,
                .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
-@@ -3040,6 +3046,10 @@ int ath10k_core_start(struct ath10k *ar,
+@@ -3041,6 +3047,10 @@ int ath10k_core_start(struct ath10k *ar,
                                                   ar->eeprom_overrides.rc_txbf_probe);
        }
  
                                                   ar->eeprom_overrides.rc_txbf_probe);
        }
  
@@ -172,7 +172,7 @@ v13:
        return 0;
  
  err_hif_stop:
        return 0;
  
  err_hif_stop:
-@@ -3286,9 +3296,18 @@ static void ath10k_core_register_work(st
+@@ -3287,9 +3297,18 @@ static void ath10k_core_register_work(st
                goto err_spectral_destroy;
        }
  
                goto err_spectral_destroy;
        }
  
@@ -191,7 +191,7 @@ v13:
  err_spectral_destroy:
        ath10k_spectral_destroy(ar);
  err_debug_destroy:
  err_spectral_destroy:
        ath10k_spectral_destroy(ar);
  err_debug_destroy:
-@@ -3346,6 +3365,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3347,6 +3366,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;
  
@@ -210,7 +210,7 @@ v13:
  
  #include "htt.h"
  #include "htc.h"
  
  #include "htt.h"
  #include "htc.h"
-@@ -1245,6 +1246,13 @@ struct ath10k {
+@@ -1251,6 +1252,13 @@ struct ath10k {
        } testmode;
  
        struct {
        } testmode;
  
        struct {
@@ -406,7 +406,7 @@ v13:
  };
  
  int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
  };
  
  int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
-@@ -975,6 +978,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
+@@ -983,6 +986,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
        return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
  }
  
        return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
  }
  
@@ -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
  static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
 --- a/ath10k-4.16/wmi.c
 +++ b/ath10k-4.16/wmi.c
-@@ -7325,6 +7325,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7362,6 +7362,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
        return skb;
  }
  
        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)
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
                             enum wmi_sta_ps_mode psmode)
-@@ -8940,6 +8983,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -8977,6 +9020,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,
@@ -515,7 +515,7 @@ v13:
        /* .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 */
-@@ -9010,6 +9056,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9047,6 +9093,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,
@@ -524,7 +524,7 @@ v13:
        /* .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 */
-@@ -9087,6 +9135,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9124,6 +9172,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,
@@ -533,7 +533,7 @@ v13:
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -9157,6 +9207,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -9194,6 +9244,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,
@@ -542,7 +542,7 @@ v13:
        /* .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 */
-@@ -9233,6 +9285,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9270,6 +9322,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,
@@ -553,7 +553,7 @@ v13:
  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
-@@ -3000,6 +3000,41 @@ enum wmi_10_4_feature_mask {
+@@ -3004,6 +3004,41 @@ enum wmi_10_4_feature_mask {
  
  };
  
  
  };
  
@@ -674,7 +674,7 @@ v13:
                .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,
-@@ -3102,6 +3108,10 @@ int ath10k_core_start(struct ath10k *ar,
+@@ -3103,6 +3109,10 @@ int ath10k_core_start(struct ath10k *ar,
                                                   ar->eeprom_overrides.rc_txbf_probe);
        }
  
                                                   ar->eeprom_overrides.rc_txbf_probe);
        }
  
@@ -685,7 +685,7 @@ v13:
        return 0;
  
  err_hif_stop:
        return 0;
  
  err_hif_stop:
-@@ -3356,9 +3366,18 @@ static void ath10k_core_register_work(st
+@@ -3357,9 +3367,18 @@ static void ath10k_core_register_work(st
                goto err_spectral_destroy;
        }
  
                goto err_spectral_destroy;
        }
  
@@ -704,7 +704,7 @@ v13:
  err_spectral_destroy:
        ath10k_spectral_destroy(ar);
  err_debug_destroy:
  err_spectral_destroy:
        ath10k_spectral_destroy(ar);
  err_debug_destroy:
-@@ -3416,6 +3435,8 @@ void ath10k_core_unregister(struct ath10
+@@ -3417,6 +3436,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;
  
@@ -723,7 +723,7 @@ v13:
  
  #include "htt.h"
  #include "htc.h"
  
  #include "htt.h"
  #include "htc.h"
-@@ -1106,7 +1107,6 @@ struct ath10k {
+@@ -1113,7 +1114,6 @@ struct ath10k {
        u32 low_5ghz_chan;
        u32 high_5ghz_chan;
        bool ani_enabled;
        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 */
  
        bool p2p;
        bool ct_all_pkts_htt; /* CT firmware only: native-wifi for all pkts */
  
-@@ -1355,6 +1355,13 @@ struct ath10k {
+@@ -1362,6 +1362,13 @@ struct ath10k {
        } testmode;
  
        struct {
        } testmode;
  
        struct {
@@ -928,7 +928,7 @@ v13:
  };
  
  int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
  };
  
  int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
-@@ -1071,6 +1074,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
+@@ -1079,6 +1082,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
        return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
  }
  
        return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
  }
  
@@ -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
  static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
 --- a/ath10k-4.19/wmi.c
 +++ b/ath10k-4.19/wmi.c
-@@ -7844,6 +7844,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7881,6 +7881,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
        return skb;
  }
  
        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)
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
                             enum wmi_sta_ps_mode psmode)
-@@ -9568,6 +9611,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -9605,6 +9648,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,
@@ -1037,7 +1037,7 @@ v13:
        /* .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 */
-@@ -9638,6 +9684,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9675,6 +9721,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,
@@ -1046,7 +1046,7 @@ v13:
        /* .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 */
-@@ -9715,6 +9763,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9752,6 +9800,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,
@@ -1055,7 +1055,7 @@ v13:
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -9785,6 +9835,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -9822,6 +9872,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,
@@ -1064,7 +1064,7 @@ v13:
        /* .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 */
-@@ -9865,6 +9917,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9902,6 +9954,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,
@@ -1075,7 +1075,7 @@ v13:
  int ath10k_wmi_attach(struct ath10k *ar)
 --- a/ath10k-4.19/wmi.h
 +++ b/ath10k-4.19/wmi.h
  int ath10k_wmi_attach(struct ath10k *ar)
 --- a/ath10k-4.19/wmi.h
 +++ b/ath10k-4.19/wmi.h
-@@ -3038,6 +3038,41 @@ enum wmi_10_4_feature_mask {
+@@ -3040,6 +3040,41 @@ enum wmi_10_4_feature_mask {
  
  };
  
  
  };
  
index d8a062bf62722c62450ba87c1bb62f104b1d8ff7..2549c71d8401d0d659009bd9c932be0217717cb9 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
 
 --- a/ath10k-4.16/core.h
 +++ b/ath10k-4.16/core.h
 
 --- a/ath10k-4.16/core.h
 +++ b/ath10k-4.16/core.h
-@@ -1336,6 +1336,10 @@ struct ath10k {
+@@ -1342,6 +1342,10 @@ struct ath10k {
        u8 csi_data[4096];
        u16 csi_data_len;
  
        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
        if (ret)
 --- a/ath10k-4.16/mac.c
 +++ b/ath10k-4.16/mac.c
-@@ -9624,7 +9624,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9638,7 +9638,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
@@ -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
  #endif
 --- a/ath10k-4.19/core.h
 +++ b/ath10k-4.19/core.h
-@@ -1452,6 +1452,10 @@ struct ath10k {
+@@ -1459,6 +1459,10 @@ struct ath10k {
        u8 csi_data[4096];
        u16 csi_data_len;
  
        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
        if (ret)
 --- a/ath10k-4.19/mac.c
 +++ b/ath10k-4.19/mac.c
-@@ -9823,7 +9823,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9837,7 +9837,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