diff mbox

net: stmmac: fixed the pbl setting with DT

Message ID 004f01cea093$9980e100$cc82a300$%an@samsung.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Byungho An Aug. 24, 2013, 6:31 a.m. UTC
This patch fixed the pbl(programmable burst length) setting 
using DT. Even though the default pbl is 8, If there is no 
pbl property in device tree file, pbl is set 0 and it causes 
bandwidth degradation.

Signed-off-by: Byungho An <bh74.an@samsung.com>
---
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  |   20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

Comments

David Miller Aug. 28, 2013, 9:44 p.m. UTC | #1
From: Byungho An <bh74.an@samsung.com>
Date: Sat, 24 Aug 2013 15:31:43 +0900

> This patch fixed the pbl(programmable burst length) setting 
> using DT. Even though the default pbl is 8, If there is no 
> pbl property in device tree file, pbl is set 0 and it causes 
> bandwidth degradation.
> 
> Signed-off-by: Byungho An <bh74.an@samsung.com>

Applied, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 98e1988..142ee8e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -78,14 +78,18 @@  static int stmmac_probe_config_dt(struct platform_device *pdev,
 		plat->force_sf_dma_mode = 1;
 	}
 
-	dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg), GFP_KERNEL);
-	if (!dma_cfg)
-		return -ENOMEM;
-
-	plat->dma_cfg = dma_cfg;
-	of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
-	dma_cfg->fixed_burst = of_property_read_bool(np, "snps,fixed-burst");
-	dma_cfg->mixed_burst = of_property_read_bool(np, "snps,mixed-burst");
+	if (of_find_property(np, "snps,pbl", NULL)) {
+		dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg),
+				       GFP_KERNEL);
+		if (!dma_cfg)
+			return -ENOMEM;
+		plat->dma_cfg = dma_cfg;
+		of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
+		dma_cfg->fixed_burst =
+			of_property_read_bool(np, "snps,fixed-burst");
+		dma_cfg->mixed_burst =
+			of_property_read_bool(np, "snps,mixed-burst");
+	}
 
 	return 0;
 }