From c013878d2632c50a23a89da845ce663805b4602c Mon Sep 17 00:00:00 2001 From: Patrik Jakobsson Date: Tue, 26 May 2015 19:38:15 +0200 Subject: [PATCH] bcwc_pcie: Return failed bits from memory test Instead of returning number of failed write/reads we return the actual bits that where wrong. Signed-off-by: Patrik Jakobsson --- bcwc_ddr.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bcwc_ddr.c b/bcwc_ddr.c index 0cade21..f13489c 100644 --- a/bcwc_ddr.c +++ b/bcwc_ddr.c @@ -74,7 +74,7 @@ int bcwc_ddr_verify_mem_full(struct bcwc_private *dev_priv, u32 base) int bcwc_ddr_verify_mem(struct bcwc_private *dev_priv, u32 base) { u32 i, addr, val, val_read; - int fails = 0; + int failed_bits = 0; for (i = 0; i < 0x400; i += 4) { bcwc_ddr_mem_pattern(i, &addr, &val); @@ -85,11 +85,10 @@ int bcwc_ddr_verify_mem(struct bcwc_private *dev_priv, u32 base) bcwc_ddr_mem_pattern(i, &addr, &val); val_read = BCWC_S2_MEM_READ(base + addr); - if (val_read != val) - fails++; + failed_bits |= val ^ val_read; } - return fails; + return ((failed_bits & 0xffff) | ((failed_bits >> 16) & 0xffff)); }