[source] ipq806x: increase coherent dma pool size
LEDE Commits
lede-commits at lists.infradead.org
Thu Dec 1 06:48:02 PST 2016
blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/2b71f958b1d2022bd0c4dcaa458f5ba1b955f934
commit 2b71f958b1d2022bd0c4dcaa458f5ba1b955f934
Author: Pavel Kubelun <be.dissent at gmail.com>
AuthorDate: Tue Nov 15 21:28:36 2016 +0300
ipq806x: increase coherent dma pool size
Cherry-picked and rebased from
https://source.codeaurora.org/quic/qsdk/system/openwrt/tree/?h=korg/linux-3.4.y/release/arugula_bb_cs
Signed-off-by: Pavel Kubelun <be.dissent at gmail.com>
---
...pq806x-Increase-Atomic-Coherent-Pool-size.patch | 52 ++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/target/linux/ipq806x/patches-4.4/308-soc-qcom-ipq806x-Increase-Atomic-Coherent-Pool-size.patch b/target/linux/ipq806x/patches-4.4/308-soc-qcom-ipq806x-Increase-Atomic-Coherent-Pool-size.patch
new file mode 100644
index 0000000..1c997ab
--- /dev/null
+++ b/target/linux/ipq806x/patches-4.4/308-soc-qcom-ipq806x-Increase-Atomic-Coherent-Pool-size.patch
@@ -0,0 +1,52 @@
+From 689a8f1ec58a88152669d21572a1539ad34024cb Mon Sep 17 00:00:00 2001
+From: Varadarajan Narayanan <varada at codeaurora.org>
+Date: Mon, 30 Mar 2015 13:25:21 +0530
+Subject: soc: qcom: ipq806x: Increase Atomic Coherent Pool size
+
+Linux 3.14, by default allocates a 256K Atomic Coherent Pool.
+However, Linux 3.4 seems to have allocated ~1.8M for the same.
+256K doesn't seem to be enough for the WiFi driver. Hence,
+setting the size to be similar to 3.4.
+
+CRs-Fixed: 810357
+
+Change-Id: I5b98a8531dcb33aff451a943f8b83402f9d13fa7
+Signed-off-by: Varadarajan Narayanan <varada at codeaurora.org>
+---
+ arch/arm/mach-qcom/board.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+--- a/arch/arm/mach-qcom/board.c
++++ b/arch/arm/mach-qcom/board.c
+@@ -12,6 +12,11 @@
+
+ #include <linux/init.h>
+
++#include <linux/err.h>
++#include <linux/io.h>
++#include <linux/module.h>
++#include <linux/dma-mapping.h>
++
+ #include <asm/mach/arch.h>
+
+ static const char * const qcom_dt_match[] __initconst = {
+@@ -28,3 +33,19 @@ static const char * const qcom_dt_match[
+ DT_MACHINE_START(QCOM_DT, "Qualcomm (Flattened Device Tree)")
+ .dt_compat = qcom_dt_match,
+ MACHINE_END
++
++
++static int __init qcom_atomic_pool_size_set(void)
++{
++#define ATOMIC_DMA_COHERENT_POOL_SIZE SZ_2M
++
++ init_dma_coherent_pool_size(ATOMIC_DMA_COHERENT_POOL_SIZE);
++
++ return 0;
++}
++
++/*
++ * This should happen before atomic_pool_init(), which is a
++ * postcore_initcall.
++ */
++core_initcall(qcom_atomic_pool_size_set);
More information about the lede-commits
mailing list