01a5a79129
6f74e269c8 kernel: bump 4.14 to 4.14.87 b2f243394e kernel: bump 4.9 to 4.9.144 2213b20aee kernel: bump 4.14 to 4.14.86 bcd7644007 kernel: bump 4.9 to 4.9.143 d5afaa4114 openvpn: re-add option comp_lzo 629073e86d rpcd: update to latest Git head 1cd945ea22 ramips: fix leds on GL.iNet GL-MT300N-V2 fbadfecbb5 ipq40xx: fix openmesh sysupgrade with tar content out of order 06a20afb34 rules.mk: fix syntax error d40e90986c rules.mk: add INSTALL_SUID macro d40de11d1b base-files: fix prerm return value, align with postinst code cc8e875039 sdk: find kernel modules when KDIR is a symlink a8b292afe6 uhttpd: update to latest Git head 7a8b75375c uhttpd: support multiple Lua prefixes fede6df09e uhttpd: update to latest Git head 9671a2d2c8 apm821xx: MBL: load kernel/dtb from SATA 0:1 first 26ebcc88e3 apm821xx: wndr4700: restore sd-card media detection 5337319bdf uclient: update to latest Git head Compile-tested: ar71xx, ipq40xx, x86-64 Runtime-tested: ar71xx
79 lines
2.7 KiB
Diff
79 lines
2.7 KiB
Diff
From: Sven Eckelmann <sven@narfation.org>
|
|
Date: Mon, 18 Jun 2018 21:03:37 +0200
|
|
Subject: ath10k-ct: reduce memory consumption
|
|
|
|
ath10k uses a rather high number of buffers to communicate with the QCA
|
|
firmware. Especially the HTC (host-target-communication) and HTT
|
|
(host-target-transport) can take up a lot of memory when data is
|
|
transferred over a ath10k wifi link.
|
|
|
|
This problem was already worked around in commit cc189c0b7fa0 ("mac80211:
|
|
enable ath10k AHB support for QCA4019") for the ath10k driver from
|
|
mac80211. But this change was forgotton for the ath10k-ct driver.
|
|
|
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
|
|
|
Forwarded: https://github.com/openwrt/openwrt/pull/1077
|
|
|
|
diff --git a/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch b/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..7ee89be9cc4c7602db10dc6c118b803e3b130192
|
|
--- /dev/null
|
|
+++ b/package/kernel/ath10k-ct/patches/960-0010-ath10k-limit-htt-rx-ring-size.patch
|
|
@@ -0,0 +1,11 @@
|
|
+--- a/ath10k-4.13/htt.h
|
|
++++ b/ath10k-4.13/htt.h
|
|
+@@ -199,7 +199,7 @@ enum htt_rx_ring_flags {
|
|
+ };
|
|
+
|
|
+ #define HTT_RX_RING_SIZE_MIN 128
|
|
+-#define HTT_RX_RING_SIZE_MAX 2048
|
|
++#define HTT_RX_RING_SIZE_MAX 512
|
|
+
|
|
+ struct htt_rx_ring_setup_ring {
|
|
+ __le32 fw_idx_shadow_reg_paddr;
|
|
diff --git a/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch b/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..82ccb88ccbf341ab63da8fd12aeb13ff468cc98a
|
|
--- /dev/null
|
|
+++ b/package/kernel/ath10k-ct/patches/960-0011-ath10k-limit-pci-buffer-size.patch
|
|
@@ -0,0 +1,38 @@
|
|
+--- a/ath10k-4.13/pci.c
|
|
++++ b/ath10k-4.13/pci.c
|
|
+@@ -128,7 +128,7 @@ static struct ce_attr host_ce_config_wla
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
+ .src_nentries = 0,
|
|
+ .src_sz_max = 2048,
|
|
+- .dest_nentries = 512,
|
|
++ .dest_nentries = 128,
|
|
+ .recv_cb = ath10k_pci_htt_htc_rx_cb,
|
|
+ },
|
|
+
|
|
+@@ -137,7 +137,7 @@ static struct ce_attr host_ce_config_wla
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
+ .src_nentries = 0,
|
|
+ .src_sz_max = 2048,
|
|
+- .dest_nentries = 128,
|
|
++ .dest_nentries = 64,
|
|
+ .recv_cb = ath10k_pci_htc_rx_cb,
|
|
+ },
|
|
+
|
|
+@@ -164,7 +164,7 @@ static struct ce_attr host_ce_config_wla
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
+ .src_nentries = 0,
|
|
+ .src_sz_max = 512,
|
|
+- .dest_nentries = 512,
|
|
++ .dest_nentries = 128,
|
|
+ .recv_cb = ath10k_pci_htt_rx_cb,
|
|
+ },
|
|
+
|
|
+@@ -189,7 +189,7 @@ static struct ce_attr host_ce_config_wla
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
+ .src_nentries = 0,
|
|
+ .src_sz_max = 2048,
|
|
+- .dest_nentries = 128,
|
|
++ .dest_nentries = 96,
|
|
+ .recv_cb = ath10k_pci_pktlog_rx_cb,
|
|
+ },
|
|
+
|