sync upstream driver
This commit is contained in:
parent
c864662d0b
commit
9ef2003b8a
@ -1,12 +1,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=wireless-regdb
|
PKG_NAME:=wireless-regdb
|
||||||
PKG_VERSION:=2021.04.21
|
PKG_VERSION:=2022.08.12
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
|
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
|
||||||
PKG_HASH:=9e4c02b2a9710df4dbdb327c39612e8cbbae6495987afeddaebab28c1ea3d8fa
|
PKG_HASH:=59c8f7d17966db71b27f90e735ee8f5b42ca3527694a8c5e6e9b56bd379c3b84
|
||||||
|
|
||||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
---
|
---
|
||||||
--- a/db.txt
|
--- a/db.txt
|
||||||
+++ b/db.txt
|
+++ b/db.txt
|
||||||
@@ -16,7 +16,7 @@ country 00:
|
@@ -19,13 +19,15 @@ country 00:
|
||||||
# Channel 14. Only JP enables this and for 802.11b only
|
# Channel 14. Only JP enables this and for 802.11b only
|
||||||
(2474 - 2494 @ 20), (20), NO-IR, NO-OFDM
|
(2474 - 2494 @ 20), (20), NO-IR, NO-OFDM
|
||||||
# Channel 36 - 48
|
# Channel 36 - 48
|
||||||
@ -14,3 +14,20 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
# Channel 52 - 64
|
# Channel 52 - 64
|
||||||
(5250 - 5330 @ 80), (20), NO-IR, DFS, AUTO-BW
|
(5250 - 5330 @ 80), (20), NO-IR, DFS, AUTO-BW
|
||||||
# Channel 100 - 144
|
# Channel 100 - 144
|
||||||
|
(5490 - 5730 @ 160), (20), NO-IR, DFS
|
||||||
|
# Channel 149 - 165
|
||||||
|
(5735 - 5835 @ 80), (20), NO-IR
|
||||||
|
+ # Channel 1 - 223
|
||||||
|
+ (5925 - 7125 @ 320), (12), AUTO-BW
|
||||||
|
# IEEE 802.11ad (60GHz), channels 1..3
|
||||||
|
(57240 - 63720 @ 2160), (0)
|
||||||
|
|
||||||
|
@@ -1736,7 +1736,7 @@ country US: DFS-FCC
|
||||||
|
(5850 - 5895 @ 40), (27), NO-OUTDOOR, AUTO-BW, NO-IR
|
||||||
|
# 6g band
|
||||||
|
# https://www.federalregister.gov/documents/2020/05/26/2020-11236/unlicensed-use-of-the-6ghz-band
|
||||||
|
- (5925 - 7125 @ 320), (12), NO-OUTDOOR, NO-IR
|
||||||
|
+ (5925 - 7125 @ 320), (12), AUTO-BW
|
||||||
|
# 60g band
|
||||||
|
# reference: section IV-D https://docs.fcc.gov/public/attachments/FCC-16-89A1.pdf
|
||||||
|
# channels 1-6 EIRP=40dBm(43dBm peak)
|
||||||
|
@ -1,32 +1,30 @@
|
|||||||
--- a/db.txt
|
--- a/db.txt
|
||||||
+++ b/db.txt
|
+++ b/db.txt
|
||||||
@@ -347,9 +347,9 @@ country CL: DFS-JP
|
@@ -353,8 +353,8 @@ country CL: DFS-JP
|
||||||
(5735 - 5835 @ 80), (20)
|
# https://wap.miit.gov.cn/cms_files/filemanager/1226211233/attach/20219/d125301b13454551b698ff5afa49ca28.pdf
|
||||||
|
# Note: The transmit power for 5150-5350MHz bands can be raised by 3dBm when TPC is implemented
|
||||||
country CN: DFS-FCC
|
country CN: DFS-FCC
|
||||||
- (2402 - 2482 @ 40), (20)
|
- (2400 - 2483.5 @ 40), (20)
|
||||||
- (5170 - 5250 @ 80), (23), AUTO-BW
|
- (5150 - 5350 @ 80), (20), DFS, AUTO-BW
|
||||||
- (5250 - 5330 @ 80), (23), DFS, AUTO-BW
|
+ (2400 - 2483.5 @ 40), (30)
|
||||||
+ (2402 - 2482 @ 40), (30)
|
+ (5150 - 5350 @ 160), (30)
|
||||||
+ (5170 - 5250 @ 80), (30), AUTO-BW
|
(5725 - 5850 @ 80), (33)
|
||||||
+ (5250 - 5330 @ 80), (30), AUTO-BW
|
|
||||||
(5735 - 5835 @ 80), (30)
|
|
||||||
# 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm
|
# 60 GHz band channels 1,4: 28dBm, channels 2,3: 44dBm
|
||||||
# ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf
|
# ref: http://www.miit.gov.cn/n11293472/n11505629/n11506593/n11960250/n11960606/n11960700/n12330791.files/n12330790.pdf
|
||||||
@@ -1580,13 +1580,13 @@ country UG: DFS-FCC
|
@@ -1626,14 +1626,12 @@ country US: DFS-FCC
|
||||||
country US: DFS-FCC
|
(920-928 @ 8), (30)
|
||||||
(2400 - 2483.5 @ 40), (30)
|
(2400 - 2472 @ 40), (30)
|
||||||
# 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients
|
# 5.15 ~ 5.25 GHz: 30 dBm for master mode, 23 dBm for clients
|
||||||
- (5150 - 5250 @ 80), (23), AUTO-BW
|
- (5150 - 5250 @ 80), (23), AUTO-BW
|
||||||
- (5250 - 5350 @ 80), (23), DFS, AUTO-BW
|
- (5250 - 5350 @ 80), (24), DFS, AUTO-BW
|
||||||
+ (5150 - 5250 @ 80), (30), AUTO-BW
|
+ (5150 - 5350 @ 160), (30)
|
||||||
+ (5250 - 5350 @ 80), (30), AUTO-BW
|
|
||||||
# This range ends at 5725 MHz, but channel 144 extends to 5730 MHz.
|
# This range ends at 5725 MHz, but channel 144 extends to 5730 MHz.
|
||||||
# Since 5725 ~ 5730 MHz belongs to the next range which has looser
|
# Since 5725 ~ 5730 MHz belongs to the next range which has looser
|
||||||
# requirements, we can extend the range by 5 MHz to make the kernel
|
# requirements, we can extend the range by 5 MHz to make the kernel
|
||||||
# happy and be able to use channel 144.
|
# happy and be able to use channel 144.
|
||||||
- (5470 - 5730 @ 160), (23), DFS
|
- (5470 - 5730 @ 160), (24), DFS
|
||||||
+ (5470 - 5730 @ 160), (30)
|
- (5730 - 5850 @ 80), (30), AUTO-BW
|
||||||
(5730 - 5850 @ 80), (30)
|
+ (5470 - 5850 @ 160), (30)
|
||||||
# 60g band
|
# https://www.federalregister.gov/documents/2021/05/03/2021-08802/use-of-the-5850-5925-ghz-band
|
||||||
# reference: section IV-D https://docs.fcc.gov/public/attachments/FCC-16-89A1.pdf
|
# max. 33 dBm AP @ 20MHz, 36 dBm AP @ 40Mhz+, 6 dB less for clients
|
||||||
|
(5850 - 5895 @ 40), (27), NO-OUTDOOR, AUTO-BW, NO-IR
|
||||||
|
@ -8,14 +8,14 @@ PKG_LICENSE_FILES:=
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2021-11-28
|
PKG_SOURCE_DATE:=2022-05-13
|
||||||
PKG_SOURCE_VERSION:=dc350bbf41d987c5b2db54405bcc9ef3cd66d5db
|
PKG_SOURCE_VERSION:=f808496fcc6b1f68942914117aebf8b3f8d52bb3
|
||||||
PKG_MIRROR_HASH:=92422485c7b92be840a40bf8d157bb6731d14d3811907b6cb4e4cfab0777b60d
|
PKG_MIRROR_HASH:=39527b3408696594eda5579521a9fb798417be4dda73fa08e8b3a8c7b0d3f3d9
|
||||||
|
|
||||||
# Build the 5.10 ath10k-ct driver version.
|
# Build the 5.15 ath10k-ct driver version.
|
||||||
# Probably this should match as closely as
|
# Probably this should match as closely as
|
||||||
# possible to whatever mac80211 backports version is being used.
|
# possible to whatever mac80211 backports version is being used.
|
||||||
CT_KVER="-5.10"
|
CT_KVER="-5.15"
|
||||||
|
|
||||||
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
|
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
@ -33,7 +33,8 @@ define KernelPackage/ath10k-ct
|
|||||||
FILES:=\
|
FILES:=\
|
||||||
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
|
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
|
||||||
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
|
$(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
|
||||||
AUTOLOAD:=$(call AutoProbe,ath10k_pci)
|
AUTOLOAD:=$(call AutoProbe,ath10k_core ath10k_pci)
|
||||||
|
MODPARAMS.ath10k_core:=frame_mode=2
|
||||||
PROVIDES:=kmod-ath10k
|
PROVIDES:=kmod-ath10k
|
||||||
VARIANT:=regular
|
VARIANT:=regular
|
||||||
endef
|
endef
|
||||||
@ -111,8 +112,7 @@ ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
+$(MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) -C "$(LINUX_DIR)" \
|
+$(KERNEL_MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) \
|
||||||
$(KERNEL_MAKE_FLAGS) \
|
|
||||||
M="$(PKG_BUILD_DIR)/ath10k$(CT_KVER)" \
|
M="$(PKG_BUILD_DIR)/ath10k$(CT_KVER)" \
|
||||||
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
|
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
|
||||||
modules
|
modules
|
||||||
|
29
package/kernel/ath10k-ct/patches/100-api_update.patch
Normal file
29
package/kernel/ath10k-ct/patches/100-api_update.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--- a/ath10k-5.15/core.c
|
||||||
|
+++ b/ath10k-5.15/core.c
|
||||||
|
@@ -4151,7 +4151,11 @@
|
||||||
|
ath10k_debug_print_board_info(ar);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
|
||||||
|
device_get_mac_address(ar->dev, ar->mac_addr, sizeof(ar->mac_addr));
|
||||||
|
+#else
|
||||||
|
+ device_get_mac_address(ar->dev, ar->mac_addr);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Try to get mac address from device node (from nvmem cell) */
|
||||||
|
of_get_mac_address(ar->dev->of_node, ar->mac_addr);
|
||||||
|
--- a/ath10k-5.15/pci.c
|
||||||
|
+++ b/ath10k-5.15/pci.c
|
||||||
|
@@ -3563,8 +3563,12 @@
|
||||||
|
|
||||||
|
void ath10k_pci_init_napi(struct ath10k *ar)
|
||||||
|
{
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
|
||||||
|
netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_pci_napi_poll,
|
||||||
|
ATH10K_NAPI_BUDGET);
|
||||||
|
+#else
|
||||||
|
+ netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_pci_napi_poll);
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int ath10k_pci_init_irq(struct ath10k *ar)
|
@ -0,0 +1,162 @@
|
|||||||
|
From e2333703373e8b81294da5d1c73c30154f75b082 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christian Lamparter <chunkeey@gmail.com>
|
||||||
|
Date: Fri, 15 Oct 2021 18:56:33 +0200
|
||||||
|
Subject: [PATCH] ath10k: fetch (pre-)calibration data via nvmem subsystem
|
||||||
|
|
||||||
|
On most embedded ath10k devices (like range extenders,
|
||||||
|
routers, accesspoints, ...) the calibration data is
|
||||||
|
stored in a easily accessible MTD partitions named
|
||||||
|
"ART", "caldata", "calibration", etc...
|
||||||
|
|
||||||
|
Since commit 4b361cfa8624 ("mtd: core: add OTP nvmem provider support"):
|
||||||
|
MTD partitions and portions of them can be specified
|
||||||
|
as potential nvmem-cells which are accessible through
|
||||||
|
the nvmem subsystem.
|
||||||
|
|
||||||
|
This feature - together with an nvmem cell definition either
|
||||||
|
in the platform data or via device-tree allows drivers to get
|
||||||
|
the (pre-)calibration data which is required for initializing
|
||||||
|
the WIFI.
|
||||||
|
|
||||||
|
Tested with Netgear EX6150v2 (IPQ4018)
|
||||||
|
|
||||||
|
Cc: Robert Marko <robimarko@gmail.com>
|
||||||
|
Cc: Thibaut Varene <hacks@slashdirt.org>
|
||||||
|
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||||
|
---
|
||||||
|
--- a/ath10k-5.15/core.c
|
||||||
|
+++ b/ath10k-5.15/core.c
|
||||||
|
@@ -13,6 +13,7 @@
|
||||||
|
#include <linux/dmi.h>
|
||||||
|
#include <linux/ctype.h>
|
||||||
|
#include <linux/pm_qos.h>
|
||||||
|
+#include <linux/nvmem-consumer.h>
|
||||||
|
#include <asm/byteorder.h>
|
||||||
|
#include <linux/ctype.h>
|
||||||
|
|
||||||
|
@@ -1005,7 +1006,8 @@ static int ath10k_core_get_board_id_from
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ar->cal_mode == ATH10K_PRE_CAL_MODE_DT ||
|
||||||
|
- ar->cal_mode == ATH10K_PRE_CAL_MODE_FILE)
|
||||||
|
+ ar->cal_mode == ATH10K_PRE_CAL_MODE_FILE ||
|
||||||
|
+ ar->cal_mode == ATH10K_PRE_CAL_MODE_NVMEM)
|
||||||
|
bmi_board_id_param = BMI_PARAM_GET_FLASH_BOARD_ID;
|
||||||
|
else
|
||||||
|
bmi_board_id_param = BMI_PARAM_GET_EEPROM_BOARD_ID;
|
||||||
|
@@ -2115,7 +2117,8 @@ static int ath10k_download_and_run_otp(s
|
||||||
|
|
||||||
|
/* As of now pre-cal is valid for 10_4 variants */
|
||||||
|
if (ar->cal_mode == ATH10K_PRE_CAL_MODE_DT ||
|
||||||
|
- ar->cal_mode == ATH10K_PRE_CAL_MODE_FILE)
|
||||||
|
+ ar->cal_mode == ATH10K_PRE_CAL_MODE_FILE ||
|
||||||
|
+ ar->cal_mode == ATH10K_PRE_CAL_MODE_NVMEM)
|
||||||
|
bmi_otp_exe_param = BMI_PARAM_FLASH_SECTION_ALL;
|
||||||
|
|
||||||
|
ret = ath10k_bmi_execute(ar, address, bmi_otp_exe_param, &result);
|
||||||
|
@@ -2249,6 +2252,39 @@ struct ath10k_bss_rom_ie {
|
||||||
|
__le32 rom_len;
|
||||||
|
} __packed;
|
||||||
|
|
||||||
|
+static int ath10k_download_cal_nvmem(struct ath10k *ar, const char *cell_name)
|
||||||
|
+{
|
||||||
|
+ struct nvmem_cell *cell;
|
||||||
|
+ void *buf;
|
||||||
|
+ size_t len;
|
||||||
|
+ int ret;
|
||||||
|
+
|
||||||
|
+ cell = devm_nvmem_cell_get(ar->dev, cell_name);
|
||||||
|
+ if (IS_ERR(cell)) {
|
||||||
|
+ ret = PTR_ERR(cell);
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ buf = nvmem_cell_read(cell, &len);
|
||||||
|
+ if (IS_ERR(buf))
|
||||||
|
+ return PTR_ERR(buf);
|
||||||
|
+
|
||||||
|
+ if (ar->hw_params.cal_data_len != len) {
|
||||||
|
+ kfree(buf);
|
||||||
|
+ ath10k_warn(ar, "invalid calibration data length in nvmem-cell '%s': %zu != %u\n",
|
||||||
|
+ cell_name, len, ar->hw_params.cal_data_len);
|
||||||
|
+ return -EMSGSIZE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ret = ath10k_download_board_data(ar, buf, len);
|
||||||
|
+ kfree(buf);
|
||||||
|
+ if (ret)
|
||||||
|
+ ath10k_warn(ar, "failed to download calibration data from nvmem-cell '%s': %d\n",
|
||||||
|
+ cell_name, ret);
|
||||||
|
+
|
||||||
|
+ return ret;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name,
|
||||||
|
struct ath10k_fw_file *fw_file)
|
||||||
|
{
|
||||||
|
@@ -2625,6 +2661,18 @@ static int ath10k_core_pre_cal_download(
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
+ ret = ath10k_download_cal_nvmem(ar, "pre-calibration");
|
||||||
|
+ if (ret == 0) {
|
||||||
|
+ ar->cal_mode = ATH10K_PRE_CAL_MODE_NVMEM;
|
||||||
|
+ goto success;
|
||||||
|
+ } else if (ret == -EPROBE_DEFER) {
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ath10k_dbg(ar, ATH10K_DBG_BOOT,
|
||||||
|
+ "boot did not find a pre-calibration nvmem-cell, try file next: %d\n",
|
||||||
|
+ ret);
|
||||||
|
+
|
||||||
|
ret = ath10k_download_cal_file(ar, ar->pre_cal_file);
|
||||||
|
if (ret == 0) {
|
||||||
|
ar->cal_mode = ATH10K_PRE_CAL_MODE_FILE;
|
||||||
|
@@ -2691,6 +2739,18 @@ static int ath10k_download_cal_data(stru
|
||||||
|
"pre cal download procedure failed, try cal file: %d\n",
|
||||||
|
ret);
|
||||||
|
|
||||||
|
+ ret = ath10k_download_cal_nvmem(ar, "calibration");
|
||||||
|
+ if (ret == 0) {
|
||||||
|
+ ar->cal_mode = ATH10K_CAL_MODE_NVMEM;
|
||||||
|
+ goto done;
|
||||||
|
+ } else if (ret == -EPROBE_DEFER) {
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ath10k_dbg(ar, ATH10K_DBG_BOOT,
|
||||||
|
+ "boot did not find a calibration nvmem-cell, try file next: %d\n",
|
||||||
|
+ ret);
|
||||||
|
+
|
||||||
|
ret = ath10k_download_cal_file(ar, ar->cal_file);
|
||||||
|
if (ret == 0) {
|
||||||
|
ar->cal_mode = ATH10K_CAL_MODE_FILE;
|
||||||
|
--- a/ath10k-5.15/core.h
|
||||||
|
+++ b/ath10k-5.15/core.h
|
||||||
|
@@ -1109,8 +1109,10 @@ enum ath10k_cal_mode {
|
||||||
|
ATH10K_CAL_MODE_FILE,
|
||||||
|
ATH10K_CAL_MODE_OTP,
|
||||||
|
ATH10K_CAL_MODE_DT,
|
||||||
|
+ ATH10K_CAL_MODE_NVMEM,
|
||||||
|
ATH10K_PRE_CAL_MODE_FILE,
|
||||||
|
ATH10K_PRE_CAL_MODE_DT,
|
||||||
|
+ ATH10K_PRE_CAL_MODE_NVMEM,
|
||||||
|
ATH10K_CAL_MODE_EEPROM,
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -1130,10 +1132,14 @@ static inline const char *ath10k_cal_mod
|
||||||
|
return "otp";
|
||||||
|
case ATH10K_CAL_MODE_DT:
|
||||||
|
return "dt";
|
||||||
|
+ case ATH10K_CAL_MODE_NVMEM:
|
||||||
|
+ return "nvmem";
|
||||||
|
case ATH10K_PRE_CAL_MODE_FILE:
|
||||||
|
return "pre-cal-file";
|
||||||
|
case ATH10K_PRE_CAL_MODE_DT:
|
||||||
|
return "pre-cal-dt";
|
||||||
|
+ case ATH10K_PRE_CAL_MODE_NVMEM:
|
||||||
|
+ return "pre-cal-nvmem";
|
||||||
|
case ATH10K_CAL_MODE_EEPROM:
|
||||||
|
return "eeprom";
|
||||||
|
}
|
@ -66,25 +66,25 @@ v13:
|
|||||||
|
|
||||||
* cleanup includes
|
* cleanup includes
|
||||||
|
|
||||||
ath10k-5.10/Kconfig | 10 +++
|
ath10k-5.15/Kconfig | 10 +++
|
||||||
ath10k-5.10/Makefile | 1 +
|
ath10k-5.15/Makefile | 1 +
|
||||||
ath10k-5.10/core.c | 22 +++++++
|
ath10k-5.15/core.c | 22 +++++++
|
||||||
ath10k-5.10/core.h | 9 ++-
|
ath10k-5.15/core.h | 9 ++-
|
||||||
ath10k-5.10/hw.h | 1 +
|
ath10k-5.15/hw.h | 1 +
|
||||||
ath10k-5.10/leds.c | 103 ++++++++++++++++++++++++++++++
|
ath10k-5.15/leds.c | 103 ++++++++++++++++++++++++++++++
|
||||||
ath10k-5.10/leds.h | 45 +++++++++++++
|
ath10k-5.15/leds.h | 45 +++++++++++++
|
||||||
ath10k-5.10/mac.c | 1 +
|
ath10k-5.15/mac.c | 1 +
|
||||||
ath10k-5.10/wmi-ops.h | 32 ++++++++++
|
ath10k-5.15/wmi-ops.h | 32 ++++++++++
|
||||||
ath10k-5.10/wmi-tlv.c | 2 +
|
ath10k-5.15/wmi-tlv.c | 2 +
|
||||||
ath10k-5.10/wmi.c | 54 ++++++++++++++++
|
ath10k-5.15/wmi.c | 54 ++++++++++++++++
|
||||||
ath10k-5.10/wmi.h | 35 ++++++++++
|
ath10k-5.15/wmi.h | 35 ++++++++++
|
||||||
12 files changed, 314 insertions(+), 1 deletion(-)
|
12 files changed, 314 insertions(+), 1 deletion(-)
|
||||||
create mode 100644 ath10k-5.10/leds.c
|
create mode 100644 ath10k-5.15/leds.c
|
||||||
create mode 100644 ath10k-5.10/leds.h
|
create mode 100644 ath10k-5.15/leds.h
|
||||||
|
|
||||||
--- a/ath10k-5.10/Kconfig
|
--- a/ath10k-5.15/Kconfig
|
||||||
+++ b/ath10k-5.10/Kconfig
|
+++ b/ath10k-5.15/Kconfig
|
||||||
@@ -65,6 +65,16 @@ config ATH10K_DEBUGFS
|
@@ -66,6 +66,16 @@ config ATH10K_DEBUGFS
|
||||||
|
|
||||||
If unsure, say Y to make it easier to debug problems.
|
If unsure, say Y to make it easier to debug problems.
|
||||||
|
|
||||||
@ -101,8 +101,8 @@ v13:
|
|||||||
config ATH10K_SPECTRAL
|
config ATH10K_SPECTRAL
|
||||||
bool "Atheros ath10k spectral scan support"
|
bool "Atheros ath10k spectral scan support"
|
||||||
depends on ATH10K_DEBUGFS
|
depends on ATH10K_DEBUGFS
|
||||||
--- a/ath10k-5.10/Makefile
|
--- a/ath10k-5.15/Makefile
|
||||||
+++ b/ath10k-5.10/Makefile
|
+++ b/ath10k-5.15/Makefile
|
||||||
@@ -20,6 +20,7 @@ ath10k_core-$(CONFIG_ATH10K_SPECTRAL) +=
|
@@ -20,6 +20,7 @@ ath10k_core-$(CONFIG_ATH10K_SPECTRAL) +=
|
||||||
ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
|
ath10k_core-$(CONFIG_NL80211_TESTMODE) += testmode.o
|
||||||
ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
|
ath10k_core-$(CONFIG_ATH10K_TRACING) += trace.o
|
||||||
@ -111,9 +111,9 @@ v13:
|
|||||||
ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o
|
ath10k_core-$(CONFIG_MAC80211_DEBUGFS) += debugfs_sta.o
|
||||||
ath10k_core-$(CONFIG_PM) += wow.o
|
ath10k_core-$(CONFIG_PM) += wow.o
|
||||||
ath10k_core-$(CONFIG_ATH10K_CE) += ce.o
|
ath10k_core-$(CONFIG_ATH10K_CE) += ce.o
|
||||||
--- a/ath10k-5.10/core.c
|
--- a/ath10k-5.15/core.c
|
||||||
+++ b/ath10k-5.10/core.c
|
+++ b/ath10k-5.15/core.c
|
||||||
@@ -26,6 +26,7 @@
|
@@ -28,6 +28,7 @@
|
||||||
#include "testmode.h"
|
#include "testmode.h"
|
||||||
#include "wmi-ops.h"
|
#include "wmi-ops.h"
|
||||||
#include "coredump.h"
|
#include "coredump.h"
|
||||||
@ -121,7 +121,7 @@ v13:
|
|||||||
|
|
||||||
/* Disable ath10k-ct DBGLOG output by default */
|
/* Disable ath10k-ct DBGLOG output by default */
|
||||||
unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG;
|
unsigned int ath10k_debug_mask = ATH10K_DBG_NO_DBGLOG;
|
||||||
@@ -68,6 +69,7 @@ static const struct ath10k_hw_params ath
|
@@ -70,6 +71,7 @@ static const struct ath10k_hw_params ath
|
||||||
.dev_id = QCA988X_2_0_DEVICE_ID,
|
.dev_id = QCA988X_2_0_DEVICE_ID,
|
||||||
.bus = ATH10K_BUS_PCI,
|
.bus = ATH10K_BUS_PCI,
|
||||||
.name = "qca988x hw2.0",
|
.name = "qca988x hw2.0",
|
||||||
@ -129,7 +129,7 @@ v13:
|
|||||||
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||||
@@ -137,6 +139,7 @@ static const struct ath10k_hw_params ath
|
@@ -143,6 +145,7 @@ static const struct ath10k_hw_params ath
|
||||||
.dev_id = QCA9887_1_0_DEVICE_ID,
|
.dev_id = QCA9887_1_0_DEVICE_ID,
|
||||||
.bus = ATH10K_BUS_PCI,
|
.bus = ATH10K_BUS_PCI,
|
||||||
.name = "qca9887 hw1.0",
|
.name = "qca9887 hw1.0",
|
||||||
@ -137,7 +137,7 @@ v13:
|
|||||||
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||||
@@ -342,6 +345,7 @@ static const struct ath10k_hw_params ath
|
@@ -360,6 +363,7 @@ static const struct ath10k_hw_params ath
|
||||||
.dev_id = QCA99X0_2_0_DEVICE_ID,
|
.dev_id = QCA99X0_2_0_DEVICE_ID,
|
||||||
.bus = ATH10K_BUS_PCI,
|
.bus = ATH10K_BUS_PCI,
|
||||||
.name = "qca99x0 hw2.0",
|
.name = "qca99x0 hw2.0",
|
||||||
@ -145,7 +145,7 @@ v13:
|
|||||||
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.otp_exe_param = 0x00000700,
|
.otp_exe_param = 0x00000700,
|
||||||
@@ -382,6 +386,7 @@ static const struct ath10k_hw_params ath
|
@@ -402,6 +406,7 @@ static const struct ath10k_hw_params ath
|
||||||
.dev_id = QCA9984_1_0_DEVICE_ID,
|
.dev_id = QCA9984_1_0_DEVICE_ID,
|
||||||
.bus = ATH10K_BUS_PCI,
|
.bus = ATH10K_BUS_PCI,
|
||||||
.name = "qca9984/qca9994 hw1.0",
|
.name = "qca9984/qca9994 hw1.0",
|
||||||
@ -153,7 +153,7 @@ v13:
|
|||||||
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||||
@@ -429,6 +434,7 @@ static const struct ath10k_hw_params ath
|
@@ -451,6 +456,7 @@ static const struct ath10k_hw_params ath
|
||||||
.dev_id = QCA9888_2_0_DEVICE_ID,
|
.dev_id = QCA9888_2_0_DEVICE_ID,
|
||||||
.bus = ATH10K_BUS_PCI,
|
.bus = ATH10K_BUS_PCI,
|
||||||
.name = "qca9888 hw2.0",
|
.name = "qca9888 hw2.0",
|
||||||
@ -161,7 +161,7 @@ v13:
|
|||||||
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
|
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
|
||||||
.uart_pin = 7,
|
.uart_pin = 7,
|
||||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||||
@@ -3705,6 +3711,10 @@ int ath10k_core_start(struct ath10k *ar,
|
@@ -3977,6 +3983,10 @@ int ath10k_core_start(struct ath10k *ar,
|
||||||
ath10k_wmi_check_apply_board_power_ctl_table(ar);
|
ath10k_wmi_check_apply_board_power_ctl_table(ar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ v13:
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_hif_stop:
|
err_hif_stop:
|
||||||
@@ -3963,9 +3973,18 @@ static void ath10k_core_register_work(st
|
@@ -4238,9 +4248,18 @@ static void ath10k_core_register_work(st
|
||||||
goto err_spectral_destroy;
|
goto err_spectral_destroy;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ v13:
|
|||||||
err_spectral_destroy:
|
err_spectral_destroy:
|
||||||
ath10k_spectral_destroy(ar);
|
ath10k_spectral_destroy(ar);
|
||||||
err_debug_destroy:
|
err_debug_destroy:
|
||||||
@@ -4025,6 +4044,8 @@ void ath10k_core_unregister(struct ath10
|
@@ -4300,6 +4319,8 @@ void ath10k_core_unregister(struct ath10
|
||||||
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
|
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -200,8 +200,8 @@ v13:
|
|||||||
ath10k_thermal_unregister(ar);
|
ath10k_thermal_unregister(ar);
|
||||||
/* Stop spectral before unregistering from mac80211 to remove the
|
/* Stop spectral before unregistering from mac80211 to remove the
|
||||||
* relayfs debugfs file cleanly. Otherwise the parent debugfs tree
|
* relayfs debugfs file cleanly. Otherwise the parent debugfs tree
|
||||||
--- a/ath10k-5.10/core.h
|
--- a/ath10k-5.15/core.h
|
||||||
+++ b/ath10k-5.10/core.h
|
+++ b/ath10k-5.15/core.h
|
||||||
@@ -14,6 +14,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/uuid.h>
|
#include <linux/uuid.h>
|
||||||
@ -210,7 +210,7 @@ v13:
|
|||||||
|
|
||||||
#include "htt.h"
|
#include "htt.h"
|
||||||
#include "htc.h"
|
#include "htc.h"
|
||||||
@@ -1557,6 +1558,13 @@ struct ath10k {
|
@@ -1577,6 +1578,13 @@ struct ath10k {
|
||||||
} testmode;
|
} testmode;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
@ -224,8 +224,8 @@ v13:
|
|||||||
/* protected by data_lock */
|
/* protected by data_lock */
|
||||||
u32 rx_crc_err_drop;
|
u32 rx_crc_err_drop;
|
||||||
u32 fw_crash_counter;
|
u32 fw_crash_counter;
|
||||||
--- a/ath10k-5.10/hw.h
|
--- a/ath10k-5.15/hw.h
|
||||||
+++ b/ath10k-5.10/hw.h
|
+++ b/ath10k-5.15/hw.h
|
||||||
@@ -521,6 +521,7 @@ struct ath10k_hw_params {
|
@@ -521,6 +521,7 @@ struct ath10k_hw_params {
|
||||||
const char *name;
|
const char *name;
|
||||||
u32 patch_load_addr;
|
u32 patch_load_addr;
|
||||||
@ -235,7 +235,7 @@ v13:
|
|||||||
|
|
||||||
/* Type of hw cycle counter wraparound logic, for more info
|
/* Type of hw cycle counter wraparound logic, for more info
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/ath10k-5.10/leds.c
|
+++ b/ath10k-5.15/leds.c
|
||||||
@@ -0,0 +1,103 @@
|
@@ -0,0 +1,103 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2005-2011 Atheros Communications Inc.
|
+ * Copyright (c) 2005-2011 Atheros Communications Inc.
|
||||||
@ -341,7 +341,7 @@ v13:
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/ath10k-5.10/leds.h
|
+++ b/ath10k-5.15/leds.h
|
||||||
@@ -0,0 +1,41 @@
|
@@ -0,0 +1,41 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
+ * Copyright (c) 2018, The Linux Foundation. All rights reserved.
|
||||||
@ -384,8 +384,8 @@ v13:
|
|||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
+#endif /* _LEDS_H_ */
|
+#endif /* _LEDS_H_ */
|
||||||
--- a/ath10k-5.10/mac.c
|
--- a/ath10k-5.15/mac.c
|
||||||
+++ b/ath10k-5.10/mac.c
|
+++ b/ath10k-5.15/mac.c
|
||||||
@@ -25,6 +25,7 @@
|
@@ -25,6 +25,7 @@
|
||||||
#include "wmi-tlv.h"
|
#include "wmi-tlv.h"
|
||||||
#include "wmi-ops.h"
|
#include "wmi-ops.h"
|
||||||
@ -394,8 +394,8 @@ v13:
|
|||||||
|
|
||||||
/*********/
|
/*********/
|
||||||
/* Rates */
|
/* Rates */
|
||||||
--- a/ath10k-5.10/wmi-ops.h
|
--- a/ath10k-5.15/wmi-ops.h
|
||||||
+++ b/ath10k-5.10/wmi-ops.h
|
+++ b/ath10k-5.15/wmi-ops.h
|
||||||
@@ -228,7 +228,10 @@ struct wmi_ops {
|
@@ -228,7 +228,10 @@ struct wmi_ops {
|
||||||
const struct wmi_bb_timing_cfg_arg *arg);
|
const struct wmi_bb_timing_cfg_arg *arg);
|
||||||
struct sk_buff *(*gen_per_peer_per_tid_cfg)(struct ath10k *ar,
|
struct sk_buff *(*gen_per_peer_per_tid_cfg)(struct ath10k *ar,
|
||||||
@ -443,8 +443,8 @@ v13:
|
|||||||
static inline int
|
static inline int
|
||||||
ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level)
|
ath10k_wmi_dbglog_cfg(struct ath10k *ar, u64 module_enable, u32 log_level)
|
||||||
{
|
{
|
||||||
--- a/ath10k-5.10/wmi-tlv.c
|
--- a/ath10k-5.15/wmi-tlv.c
|
||||||
+++ b/ath10k-5.10/wmi-tlv.c
|
+++ b/ath10k-5.15/wmi-tlv.c
|
||||||
@@ -4594,6 +4594,8 @@ static const struct wmi_ops wmi_tlv_ops
|
@@ -4594,6 +4594,8 @@ static const struct wmi_ops wmi_tlv_ops
|
||||||
.gen_echo = ath10k_wmi_tlv_op_gen_echo,
|
.gen_echo = ath10k_wmi_tlv_op_gen_echo,
|
||||||
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
|
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
|
||||||
@ -454,9 +454,9 @@ v13:
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
|
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
|
||||||
--- a/ath10k-5.10/wmi.c
|
--- a/ath10k-5.15/wmi.c
|
||||||
+++ b/ath10k-5.10/wmi.c
|
+++ b/ath10k-5.15/wmi.c
|
||||||
@@ -8409,6 +8409,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
|
@@ -8413,6 +8413,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
|
||||||
return skb;
|
return skb;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -506,7 +506,7 @@ v13:
|
|||||||
static struct sk_buff *
|
static struct sk_buff *
|
||||||
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
|
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
|
||||||
enum wmi_sta_ps_mode psmode)
|
enum wmi_sta_ps_mode psmode)
|
||||||
@@ -10238,6 +10281,9 @@ static const struct wmi_ops wmi_ops = {
|
@@ -10244,6 +10287,9 @@ static const struct wmi_ops wmi_ops = {
|
||||||
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
|
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
|
||||||
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
||||||
.gen_echo = ath10k_wmi_op_gen_echo,
|
.gen_echo = ath10k_wmi_op_gen_echo,
|
||||||
@ -516,7 +516,7 @@ v13:
|
|||||||
/* .gen_bcn_tmpl not implemented */
|
/* .gen_bcn_tmpl not implemented */
|
||||||
/* .gen_prb_tmpl not implemented */
|
/* .gen_prb_tmpl not implemented */
|
||||||
/* .gen_p2p_go_bcn_ie not implemented */
|
/* .gen_p2p_go_bcn_ie not implemented */
|
||||||
@@ -10308,6 +10354,8 @@ static const struct wmi_ops wmi_10_1_ops
|
@@ -10314,6 +10360,8 @@ static const struct wmi_ops wmi_10_1_ops
|
||||||
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
|
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
|
||||||
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
||||||
.gen_echo = ath10k_wmi_op_gen_echo,
|
.gen_echo = ath10k_wmi_op_gen_echo,
|
||||||
@ -525,7 +525,7 @@ v13:
|
|||||||
/* .gen_bcn_tmpl not implemented */
|
/* .gen_bcn_tmpl not implemented */
|
||||||
/* .gen_prb_tmpl not implemented */
|
/* .gen_prb_tmpl not implemented */
|
||||||
/* .gen_p2p_go_bcn_ie not implemented */
|
/* .gen_p2p_go_bcn_ie not implemented */
|
||||||
@@ -10387,6 +10435,8 @@ static const struct wmi_ops wmi_10_2_ops
|
@@ -10393,6 +10441,8 @@ static const struct wmi_ops wmi_10_2_ops
|
||||||
.gen_delba_send = ath10k_wmi_op_gen_delba_send,
|
.gen_delba_send = ath10k_wmi_op_gen_delba_send,
|
||||||
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
|
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
|
||||||
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
|
||||||
@ -534,7 +534,7 @@ v13:
|
|||||||
/* .gen_pdev_enable_adaptive_cca not implemented */
|
/* .gen_pdev_enable_adaptive_cca not implemented */
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -10458,6 +10508,8 @@ static const struct wmi_ops wmi_10_2_4_o
|
@@ -10464,6 +10514,8 @@ static const struct wmi_ops wmi_10_2_4_o
|
||||||
ath10k_wmi_op_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,
|
.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
|
||||||
.gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
|
.gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
|
||||||
@ -543,7 +543,7 @@ v13:
|
|||||||
/* .gen_bcn_tmpl not implemented */
|
/* .gen_bcn_tmpl not implemented */
|
||||||
/* .gen_prb_tmpl not implemented */
|
/* .gen_prb_tmpl not implemented */
|
||||||
/* .gen_p2p_go_bcn_ie not implemented */
|
/* .gen_p2p_go_bcn_ie not implemented */
|
||||||
@@ -10540,6 +10592,8 @@ static const struct wmi_ops wmi_10_4_ops
|
@@ -10546,6 +10598,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_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
|
||||||
.gen_echo = ath10k_wmi_op_gen_echo,
|
.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_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
|
||||||
@ -552,8 +552,8 @@ v13:
|
|||||||
};
|
};
|
||||||
|
|
||||||
int ath10k_wmi_attach(struct ath10k *ar)
|
int ath10k_wmi_attach(struct ath10k *ar)
|
||||||
--- a/ath10k-5.10/wmi.h
|
--- a/ath10k-5.15/wmi.h
|
||||||
+++ b/ath10k-5.10/wmi.h
|
+++ b/ath10k-5.15/wmi.h
|
||||||
@@ -3133,6 +3133,41 @@ enum wmi_10_4_feature_mask {
|
@@ -3133,6 +3133,41 @@ enum wmi_10_4_feature_mask {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -9,14 +9,14 @@ traffic.
|
|||||||
|
|
||||||
Signed-off-by: Mathias Kresin <dev@kresin.me>
|
Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||||
---
|
---
|
||||||
ath10k-5.10/core.h | 4 ++++
|
ath10k-5.15/core.h | 4 ++++
|
||||||
ath10k-5.10/leds.c | 4 +---
|
ath10k-5.15/leds.c | 4 +---
|
||||||
ath10k-5.10/mac.c | 2 +-
|
ath10k-5.15/mac.c | 2 +-
|
||||||
3 files changed, 6 insertions(+), 4 deletions(-)
|
3 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
--- a/ath10k-5.10/core.h
|
--- a/ath10k-5.15/core.h
|
||||||
+++ b/ath10k-5.10/core.h
|
+++ b/ath10k-5.15/core.h
|
||||||
@@ -1665,6 +1665,10 @@ struct ath10k {
|
@@ -1692,6 +1692,10 @@ struct ath10k {
|
||||||
u8 csi_data[4096];
|
u8 csi_data[4096];
|
||||||
u16 csi_data_len;
|
u16 csi_data_len;
|
||||||
|
|
||||||
@ -27,8 +27,8 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
|||||||
/* must be last */
|
/* must be last */
|
||||||
u8 drv_priv[] __aligned(sizeof(void *));
|
u8 drv_priv[] __aligned(sizeof(void *));
|
||||||
};
|
};
|
||||||
--- a/ath10k-5.10/leds.c
|
--- a/ath10k-5.15/leds.c
|
||||||
+++ b/ath10k-5.10/leds.c
|
+++ b/ath10k-5.15/leds.c
|
||||||
@@ -81,9 +81,7 @@ int ath10k_leds_register(struct ath10k *
|
@@ -81,9 +81,7 @@ int ath10k_leds_register(struct ath10k *
|
||||||
|
|
||||||
ar->leds.cdev.name = ar->leds.label;
|
ar->leds.cdev.name = ar->leds.label;
|
||||||
@ -40,9 +40,9 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
|
|||||||
|
|
||||||
ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
|
ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
|
||||||
if (ret)
|
if (ret)
|
||||||
--- a/ath10k-5.10/mac.c
|
--- a/ath10k-5.15/mac.c
|
||||||
+++ b/ath10k-5.10/mac.c
|
+++ b/ath10k-5.15/mac.c
|
||||||
@@ -11405,7 +11405,7 @@ int ath10k_mac_register(struct ath10k *a
|
@@ -11544,7 +11544,7 @@ int ath10k_mac_register(struct ath10k *a
|
||||||
ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
|
ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
|
||||||
|
|
||||||
#ifdef CPTCFG_MAC80211_LEDS
|
#ifdef CPTCFG_MAC80211_LEDS
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
From 0d2e335d780bda1432a9ba719c8200f796d27854 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robert Marko <robimarko@gmail.com>
|
||||||
|
Date: Mon, 29 Nov 2021 12:27:12 +0100
|
||||||
|
Subject: [PATCH] ath10k-ct: Fix spectral scan NULL pointer
|
||||||
|
|
||||||
|
If spectral scan support is enabled then ath10k-ct will cause a NULL
|
||||||
|
pointer due to relay_open() being called with a const callback struct
|
||||||
|
which is only supported in kernel 5.11 and later.
|
||||||
|
|
||||||
|
So, simply check the kernel version and if 5.11 and newer use the const
|
||||||
|
callback struct, otherwise use the regular struct.
|
||||||
|
|
||||||
|
Fixes: 553a3ac ("ath10k-ct: use 5.15 version")
|
||||||
|
Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||||
|
---
|
||||||
|
ath10k-5.15/spectral.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
--- a/ath10k-5.15/spectral.c
|
||||||
|
+++ b/ath10k-5.15/spectral.c
|
||||||
|
@@ -497,7 +497,11 @@ static int remove_buf_file_handler(struc
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if LINUX_VERSION_IS_GEQ(5,11,0)
|
||||||
|
static const struct rchan_callbacks rfs_spec_scan_cb = {
|
||||||
|
+#else
|
||||||
|
+static struct rchan_callbacks rfs_spec_scan_cb = {
|
||||||
|
+#endif
|
||||||
|
.create_buf_file = create_buf_file_handler,
|
||||||
|
.remove_buf_file = remove_buf_file_handler,
|
||||||
|
};
|
@ -1,5 +1,5 @@
|
|||||||
--- a/ath10k-5.10/htt.h
|
--- a/ath10k-5.15/htt.h
|
||||||
+++ b/ath10k-5.10/htt.h
|
+++ b/ath10k-5.15/htt.h
|
||||||
@@ -237,7 +237,11 @@ enum htt_rx_ring_flags {
|
@@ -237,7 +237,11 @@ enum htt_rx_ring_flags {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--- a/ath10k-5.10/pci.c
|
--- a/ath10k-5.15/pci.c
|
||||||
+++ b/ath10k-5.10/pci.c
|
+++ b/ath10k-5.15/pci.c
|
||||||
@@ -131,7 +131,11 @@ static const struct ce_attr pci_host_ce_
|
@@ -131,7 +131,11 @@ static const struct ce_attr pci_host_ce_
|
||||||
.flags = CE_ATTR_FLAGS,
|
.flags = CE_ATTR_FLAGS,
|
||||||
.src_nentries = 0,
|
.src_nentries = 0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user