mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 14:13:16 +00:00
694757a08f
Based on:1ac627024d
("kernel: ath10k-ct: provide a build variant for small RAM devices") Like described in the ath10k-ct-smallbuffers version, oom-killer gets triggered frequently by devices with small RAM. That change is necessary for many community mesh networks which use ath10k based devices with too little RAM. The -ct driver has been proven unstable if used with 11s meshing and only wave2 chipsets are supporting 11s. Freifunk Berlin is nowadays assembling its firmware-based completely of vanilla OpenWRT with some package additions which are made through the imagebuilder. Therefore we cannot take the approach other freifunk communities have taken to maintain that patch downstream [1]. Other communities consider these devices as broken and that change would pretty much give those devices a second life [2]. [1] -450b306e54
[2] - https://github.com/freifunk-gluon/gluon/issues/1988#issuecomment-619532909 Signed-off-by: Simon Polack <spolack+git@mailbox.org> Signed-off-by: Nick Hainke <vincent@systemli.org>
65 lines
1.6 KiB
Diff
65 lines
1.6 KiB
Diff
--- a/drivers/net/wireless/ath/ath10k/htt.h
|
|
+++ b/drivers/net/wireless/ath/ath10k/htt.h
|
|
@@ -235,7 +235,11 @@ enum htt_rx_ring_flags {
|
|
};
|
|
|
|
#define HTT_RX_RING_SIZE_MIN 128
|
|
+#ifndef CONFIG_ATH10K_SMALLBUFFERS
|
|
#define HTT_RX_RING_SIZE_MAX 2048
|
|
+#else
|
|
+#define HTT_RX_RING_SIZE_MAX 512
|
|
+#endif
|
|
#define HTT_RX_RING_SIZE HTT_RX_RING_SIZE_MAX
|
|
#define HTT_RX_RING_FILL_LEVEL (((HTT_RX_RING_SIZE) / 2) - 1)
|
|
#define HTT_RX_RING_FILL_LEVEL_DUAL_MAC (HTT_RX_RING_SIZE - 1)
|
|
--- a/drivers/net/wireless/ath/ath10k/pci.c
|
|
+++ b/drivers/net/wireless/ath/ath10k/pci.c
|
|
@@ -131,7 +131,11 @@ static const struct ce_attr pci_host_ce_
|
|
.flags = CE_ATTR_FLAGS,
|
|
.src_nentries = 0,
|
|
.src_sz_max = 2048,
|
|
+#ifndef CONFIG_ATH10K_SMALLBUFFERS
|
|
.dest_nentries = 512,
|
|
+#else
|
|
+ .dest_nentries = 128,
|
|
+#endif
|
|
.recv_cb = ath10k_pci_htt_htc_rx_cb,
|
|
},
|
|
|
|
@@ -140,7 +144,11 @@ static const struct ce_attr pci_host_ce_
|
|
.flags = CE_ATTR_FLAGS,
|
|
.src_nentries = 0,
|
|
.src_sz_max = 2048,
|
|
+#ifndef CONFIG_ATH10K_SMALLBUFFERS
|
|
.dest_nentries = 128,
|
|
+#else
|
|
+ .dest_nentries = 64,
|
|
+#endif
|
|
.recv_cb = ath10k_pci_htc_rx_cb,
|
|
},
|
|
|
|
@@ -167,7 +175,11 @@ static const struct ce_attr pci_host_ce_
|
|
.flags = CE_ATTR_FLAGS,
|
|
.src_nentries = 0,
|
|
.src_sz_max = 512,
|
|
+#ifndef CONFIG_ATH10K_SMALLBUFFERS
|
|
.dest_nentries = 512,
|
|
+#else
|
|
+ .dest_nentries = 128,
|
|
+#endif
|
|
.recv_cb = ath10k_pci_htt_rx_cb,
|
|
},
|
|
|
|
@@ -192,7 +204,11 @@ static const struct ce_attr pci_host_ce_
|
|
.flags = CE_ATTR_FLAGS,
|
|
.src_nentries = 0,
|
|
.src_sz_max = 2048,
|
|
+#ifndef CONFIG_ATH10K_SMALLBUFFERS
|
|
.dest_nentries = 128,
|
|
+#else
|
|
+ .dest_nentries = 96,
|
|
+#endif
|
|
.recv_cb = ath10k_pci_pktlog_rx_cb,
|
|
},
|
|
|