mac80211: update to 6.6.15
[openwrt/staging/jow.git] / package / kernel / mac80211 / patches / ath11k / 0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch
diff --git a/package/kernel/mac80211/patches/ath11k/0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch b/package/kernel/mac80211/patches/ath11k/0003-wifi-ath11k-Split-coldboot-calibration-hw_param.patch
deleted file mode 100644 (file)
index f8c7c93..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-From 011e5a3052a22d3758d17442bf0c04c68bf79bea Mon Sep 17 00:00:00 2001
-From: Seevalamuthu Mariappan <quic_seevalam@quicinc.com>
-Date: Wed, 26 Jul 2023 19:40:30 +0530
-Subject: [PATCH 3/5] wifi: ath11k: Split coldboot calibration hw_param
-
-QCN9074 enables coldboot calibration only in Factory Test Mode (FTM).
-Hence, split cold_boot_calib to two hw_params for mission and FTM
-mode.
-
-Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
-
-Signed-off-by: Seevalamuthu Mariappan <quic_seevalam@quicinc.com>
-Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
-Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
-Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
----
- drivers/net/wireless/ath/ath11k/ahb.c  |  3 +--
- drivers/net/wireless/ath/ath11k/core.c | 36 ++++++++++++++++++++------
- drivers/net/wireless/ath/ath11k/core.h |  1 +
- drivers/net/wireless/ath/ath11k/hw.h   |  3 ++-
- drivers/net/wireless/ath/ath11k/qmi.c  |  6 ++---
- 5 files changed, 35 insertions(+), 14 deletions(-)
-
---- a/drivers/net/wireless/ath/ath11k/ahb.c
-+++ b/drivers/net/wireless/ath/ath11k/ahb.c
-@@ -422,8 +422,7 @@ static int ath11k_ahb_fwreset_from_cold_
- {
-       int timeout;
--      if (ath11k_cold_boot_cal == 0 || ab->qmi.cal_done ||
--          ab->hw_params.cold_boot_calib == 0 ||
-+      if (!ath11k_core_coldboot_cal_support(ab) || ab->qmi.cal_done ||
-           ab->hw_params.cbcal_restart_fw == 0)
-               return 0;
---- a/drivers/net/wireless/ath/ath11k/core.c
-+++ b/drivers/net/wireless/ath/ath11k/core.c
-@@ -86,7 +86,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = false,
-               .idle_ps = false,
-               .supports_sta_ps = false,
--              .cold_boot_calib = true,
-+              .coldboot_cal_mm = true,
-+              .coldboot_cal_ftm = true,
-               .cbcal_restart_fw = true,
-               .fw_mem_mode = 0,
-               .num_vdevs = 16 + 1,
-@@ -167,7 +168,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = false,
-               .idle_ps = false,
-               .supports_sta_ps = false,
--              .cold_boot_calib = true,
-+              .coldboot_cal_mm = true,
-+              .coldboot_cal_ftm = true,
-               .cbcal_restart_fw = true,
-               .fw_mem_mode = 0,
-               .num_vdevs = 16 + 1,
-@@ -248,7 +250,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = true,
-               .idle_ps = true,
-               .supports_sta_ps = true,
--              .cold_boot_calib = false,
-+              .coldboot_cal_mm = false,
-+              .coldboot_cal_ftm = false,
-               .cbcal_restart_fw = false,
-               .fw_mem_mode = 0,
-               .num_vdevs = 16 + 1,
-@@ -332,7 +335,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = false,
-               .idle_ps = false,
-               .supports_sta_ps = false,
--              .cold_boot_calib = false,
-+              .coldboot_cal_mm = false,
-+              .coldboot_cal_ftm = false,
-               .cbcal_restart_fw = false,
-               .fw_mem_mode = 2,
-               .num_vdevs = 8,
-@@ -413,7 +417,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = true,
-               .idle_ps = true,
-               .supports_sta_ps = true,
--              .cold_boot_calib = false,
-+              .coldboot_cal_mm = false,
-+              .coldboot_cal_ftm = false,
-               .cbcal_restart_fw = false,
-               .fw_mem_mode = 0,
-               .num_vdevs = 16 + 1,
-@@ -495,7 +500,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = true,
-               .idle_ps = true,
-               .supports_sta_ps = true,
--              .cold_boot_calib = false,
-+              .coldboot_cal_mm = false,
-+              .coldboot_cal_ftm = false,
-               .cbcal_restart_fw = false,
-               .fw_mem_mode = 0,
-               .num_vdevs = 16 + 1,
-@@ -578,7 +584,8 @@ static const struct ath11k_hw_params ath
-               .supports_shadow_regs = true,
-               .idle_ps = true,
-               .supports_sta_ps = true,
--              .cold_boot_calib = true,
-+              .coldboot_cal_mm = true,
-+              .coldboot_cal_ftm = true,
-               .cbcal_restart_fw = false,
-               .fw_mem_mode = 0,
-               .num_vdevs = 16 + 1,
-@@ -667,7 +674,8 @@ static const struct ath11k_hw_params ath
-               .supports_suspend = false,
-               .hal_params = &ath11k_hw_hal_params_ipq8074,
-               .single_pdev_only = false,
--              .cold_boot_calib = true,
-+              .coldboot_cal_mm = true,
-+              .coldboot_cal_ftm = true,
-               .cbcal_restart_fw = true,
-               .fix_l1ss = true,
-               .supports_dynamic_smps_6ghz = false,
-@@ -749,6 +757,18 @@ void ath11k_fw_stats_free(struct ath11k_
-       ath11k_fw_stats_bcn_free(&stats->bcn);
- }
-+bool ath11k_core_coldboot_cal_support(struct ath11k_base *ab)
-+{
-+      if (!ath11k_cold_boot_cal)
-+              return false;
-+
-+      if (ath11k_ftm_mode)
-+              return ab->hw_params.coldboot_cal_ftm;
-+
-+      else
-+              return ab->hw_params.coldboot_cal_mm;
-+}
-+
- int ath11k_core_suspend(struct ath11k_base *ab)
- {
-       int ret;
---- a/drivers/net/wireless/ath/ath11k/core.h
-+++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -1186,6 +1186,7 @@ void ath11k_core_halt(struct ath11k *ar)
- int ath11k_core_resume(struct ath11k_base *ab);
- int ath11k_core_suspend(struct ath11k_base *ab);
- void ath11k_core_pre_reconfigure_recovery(struct ath11k_base *ab);
-+bool ath11k_core_coldboot_cal_support(struct ath11k_base *ab);
- const struct firmware *ath11k_core_firmware_request(struct ath11k_base *ab,
-                                                   const char *filename);
---- a/drivers/net/wireless/ath/ath11k/hw.h
-+++ b/drivers/net/wireless/ath/ath11k/hw.h
-@@ -187,7 +187,8 @@ struct ath11k_hw_params {
-       bool supports_shadow_regs;
-       bool idle_ps;
-       bool supports_sta_ps;
--      bool cold_boot_calib;
-+      bool coldboot_cal_mm;
-+      bool coldboot_cal_ftm;
-       bool cbcal_restart_fw;
-       int fw_mem_mode;
-       u32 num_vdevs;
---- a/drivers/net/wireless/ath/ath11k/qmi.c
-+++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -2079,7 +2079,7 @@ static int ath11k_qmi_assign_target_mem_
-                               return -EINVAL;
-                       }
--                      if (ath11k_cold_boot_cal && ab->hw_params.cold_boot_calib) {
-+                      if (ath11k_core_coldboot_cal_support(ab)) {
-                               if (hremote_node) {
-                                       ab->qmi.target_mem[idx].paddr =
-                                                       res.start + host_ddr_sz;
-@@ -3209,8 +3209,8 @@ static void ath11k_qmi_driver_event_work
-                               break;
-                       }
--                      if (ath11k_cold_boot_cal && ab->qmi.cal_done == 0 &&
--                          ab->hw_params.cold_boot_calib) {
-+                      if (ab->qmi.cal_done == 0 &&
-+                          ath11k_core_coldboot_cal_support(ab)) {
-                               ath11k_qmi_process_coldboot_calibration(ab);
-                       } else {
-                               clear_bit(ATH11K_FLAG_CRASH_FLUSH,