From 7872505a2194c9766c7986e761c0ae9bdd6e5e57 Mon Sep 17 00:00:00 2001
From: Calvin Johnson <calvin.johnson@nxp.com>
Date: Tue, 26 Mar 2019 16:52:22 +0530
Subject: [PATCH] staging: fsl_ppfe/eth: use memremap() to map RAM area used by
 PFE

RAM area used by PFE should be mapped using memremap() instead of
directly traslating physical addr to virtual. This will ensure proper
checks are done before the area is used.

Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
---
 drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
@@ -143,9 +143,10 @@ static int pfe_platform_probe(struct pla
 	pfe->ddr_phys_baseaddr = res.start;
 	pfe->ddr_size = resource_size(&res);
 
-	pfe->ddr_baseaddr = phys_to_virt(res.start);
+	pfe->ddr_baseaddr = memremap(res.start, resource_size(&res),
+				     MEMREMAP_WB);
 	if (!pfe->ddr_baseaddr) {
-		pr_err("ioremap() ddr failed\n");
+		pr_err("memremap() ddr failed\n");
 		rc = -ENOMEM;
 		goto err_ddr;
 	}
@@ -235,7 +236,7 @@ err_hif_irq:
 	iounmap(pfe->cbus_baseaddr);
 
 err_axi:
-	iounmap(pfe->ddr_baseaddr);
+	memunmap(pfe->ddr_baseaddr);
 
 err_ddr:
 	platform_set_drvdata(pdev, NULL);
@@ -259,7 +260,8 @@ static int pfe_platform_remove(struct pl
 	rc = pfe_remove(pfe);
 
 	iounmap(pfe->cbus_baseaddr);
-	iounmap(pfe->ddr_baseaddr);
+
+	memunmap(pfe->ddr_baseaddr);
 
 	platform_set_drvdata(pdev, NULL);
 
