aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0112-sdk_dpaa-Rework-QBMan-portal-mappings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0112-sdk_dpaa-Rework-QBMan-portal-mappings.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0112-sdk_dpaa-Rework-QBMan-portal-mappings.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0112-sdk_dpaa-Rework-QBMan-portal-mappings.patch b/target/linux/layerscape/patches-5.4/701-net-0112-sdk_dpaa-Rework-QBMan-portal-mappings.patch
new file mode 100644
index 0000000000..1752d1e304
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0112-sdk_dpaa-Rework-QBMan-portal-mappings.patch
@@ -0,0 +1,65 @@
+From d0e3e315f49a0a35c7e0bdae934f33ee6b3042a0 Mon Sep 17 00:00:00 2001
+From: Roy Pledge <roy.pledge@nxp.com>
+Date: Wed, 1 May 2019 16:08:53 -0400
+Subject: [PATCH] sdk_dpaa: Rework QBMan portal mappings
+
+Rework the QBMan portal mappings in the SDK driver to
+match the mechanism used in the upstream varient.
+
+Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
+---
+ drivers/staging/fsl_qbman/bman_driver.c | 16 ++++++++--------
+ drivers/staging/fsl_qbman/qman_driver.c | 17 +++++++++--------
+ 2 files changed, 17 insertions(+), 16 deletions(-)
+
+--- a/drivers/staging/fsl_qbman/bman_driver.c
++++ b/drivers/staging/fsl_qbman/bman_driver.c
+@@ -199,14 +199,14 @@ static struct bm_portal_config * __init
+ resource_size(&pcfg->addr_phys[DPA_PORTAL_CI]));
+
+ #else
+- pcfg->addr_virt[DPA_PORTAL_CE] = ioremap_prot(
+- pcfg->addr_phys[DPA_PORTAL_CE].start,
+- (unsigned long)len,
+- 0);
+- pcfg->addr_virt[DPA_PORTAL_CI] = ioremap_prot(
+- pcfg->addr_phys[DPA_PORTAL_CI].start,
+- resource_size(&pcfg->addr_phys[DPA_PORTAL_CI]),
+- _PAGE_GUARDED | _PAGE_NO_CACHE);
++ pcfg->addr_virt[DPA_PORTAL_CE] =
++ memremap(pcfg->addr_phys[DPA_PORTAL_CE].start,
++ (unsigned long)len, MEMREMAP_WB);
++
++ pcfg->addr_virt[DPA_PORTAL_CI] =
++ ioremap(pcfg->addr_phys[DPA_PORTAL_CI].start,
++ resource_size(&pcfg->addr_phys[DPA_PORTAL_CI]));
++
+ #endif
+ /* disable bp depletion */
+ __raw_writel(0x0, pcfg->addr_virt[DPA_PORTAL_CI] + BM_REG_SCN(0));
+--- a/drivers/staging/fsl_qbman/qman_driver.c
++++ b/drivers/staging/fsl_qbman/qman_driver.c
+@@ -459,14 +459,15 @@ static struct qm_portal_config * __init
+ pcfg->addr_phys[DPA_PORTAL_CI].start,
+ resource_size(&pcfg->addr_phys[DPA_PORTAL_CI]));
+ #else
+- pcfg->addr_virt[DPA_PORTAL_CE] = ioremap_prot(
+- pcfg->addr_phys[DPA_PORTAL_CE].start,
+- (unsigned long)len,
+- 0);
+- pcfg->addr_virt[DPA_PORTAL_CI] = ioremap_prot(
+- pcfg->addr_phys[DPA_PORTAL_CI].start,
+- resource_size(&pcfg->addr_phys[DPA_PORTAL_CI]),
+- _PAGE_GUARDED | _PAGE_NO_CACHE);
++
++ pcfg->addr_virt[DPA_PORTAL_CE] =
++ memremap(pcfg->addr_phys[DPA_PORTAL_CE].start,
++ (unsigned long)len, MEMREMAP_WB);
++
++ pcfg->addr_virt[DPA_PORTAL_CI] =
++ ioremap(pcfg->addr_phys[DPA_PORTAL_CI].start,
++ resource_size(&pcfg->addr_phys[DPA_PORTAL_CI]));
++
+ #endif
+ return pcfg;
+ err: