All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/7] powerpc/mpc85xx: Fix EDAC address capture
@ 2013-09-06 15:43 York Sun
  2013-09-06 15:43 ` [PATCH 2/7] powerpc/mpc8xxx: Change EDAC for FSL SoC York Sun
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: York Sun @ 2013-09-06 15:43 UTC (permalink / raw)
  To: galak; +Cc: linuxppc-dev, York Sun

Extend err_addr to cover 64 bits for DDR errors.

Signed-off-by: York Sun <yorksun@freescale.com>
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
---
 drivers/edac/mpc85xx_edac.c |   10 +++++++---
 drivers/edac/mpc85xx_edac.h |    1 +
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c
index 3eb32f6..392178f 100644
--- a/drivers/edac/mpc85xx_edac.c
+++ b/drivers/edac/mpc85xx_edac.c
@@ -773,6 +773,8 @@ static void sbe_ecc_decode(u32 cap_high, u32 cap_low, u32 cap_ecc,
 	}
 }
 
+#define make64(high, low) (((u64)(high) << 32) | (low))
+
 static void mpc85xx_mc_check(struct mem_ctl_info *mci)
 {
 	struct mpc85xx_mc_pdata *pdata = mci->pvt_info;
@@ -780,7 +782,7 @@ static void mpc85xx_mc_check(struct mem_ctl_info *mci)
 	u32 bus_width;
 	u32 err_detect;
 	u32 syndrome;
-	u32 err_addr;
+	u64 err_addr;
 	u32 pfn;
 	int row_index;
 	u32 cap_high;
@@ -811,7 +813,9 @@ static void mpc85xx_mc_check(struct mem_ctl_info *mci)
 	else
 		syndrome &= 0xffff;
 
-	err_addr = in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_ADDRESS);
+	err_addr = make64(
+		in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_EXT_ADDRESS),
+		in_be32(pdata->mc_vbase + MPC85XX_MC_CAPTURE_ADDRESS));
 	pfn = err_addr >> PAGE_SHIFT;
 
 	for (row_index = 0; row_index < mci->nr_csrows; row_index++) {
@@ -848,7 +852,7 @@ static void mpc85xx_mc_check(struct mem_ctl_info *mci)
 	mpc85xx_mc_printk(mci, KERN_ERR,
 			"Captured Data / ECC:\t%#8.8x_%08x / %#2.2x\n",
 			cap_high, cap_low, syndrome);
-	mpc85xx_mc_printk(mci, KERN_ERR, "Err addr: %#8.8x\n", err_addr);
+	mpc85xx_mc_printk(mci, KERN_ERR, "Err addr: %#8.8llx\n", err_addr);
 	mpc85xx_mc_printk(mci, KERN_ERR, "PFN: %#8.8x\n", pfn);
 
 	/* we are out of range */
diff --git a/drivers/edac/mpc85xx_edac.h b/drivers/edac/mpc85xx_edac.h
index 932016f..efb25bc 100644
--- a/drivers/edac/mpc85xx_edac.h
+++ b/drivers/edac/mpc85xx_edac.h
@@ -43,6 +43,7 @@
 #define MPC85XX_MC_ERR_INT_EN		0x0e48
 #define MPC85XX_MC_CAPTURE_ATRIBUTES	0x0e4c
 #define MPC85XX_MC_CAPTURE_ADDRESS	0x0e50
+#define MPC85XX_MC_CAPTURE_EXT_ADDRESS	0x0e54
 #define MPC85XX_MC_ERR_SBE		0x0e58
 
 #define DSC_MEM_EN	0x80000000
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-10-29  0:39 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-06 15:43 [PATCH 1/7] powerpc/mpc85xx: Fix EDAC address capture York Sun
2013-09-06 15:43 ` [PATCH 2/7] powerpc/mpc8xxx: Change EDAC for FSL SoC York Sun
2013-09-06 15:43 ` [PATCH 3/7] i2c/rtc-ds3232: Fix irq for probing York Sun
2013-09-10 22:26   ` Scott Wood
     [not found] ` <1378482199-10581-1-git-send-email-yorksun-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2013-09-06 15:43   ` [PATCH 4/7] power/mpc85xx: Add delay after enabling I2C master York Sun
2013-09-06 15:43     ` York Sun
2013-09-06 15:43 ` [PATCH 5/7] powerpc/corenet64_smp_defconfig: Enable most SPI splash York Sun
2013-10-29  0:28   ` [5/7] " Scott Wood
2013-10-29  0:39     ` York Sun
2013-09-06 15:43 ` [PATCH 6/7] powerpc/t4240emu: Add device tree file for t4240emu York Sun
2013-09-06 15:43 ` [PATCH 7/7] powerpc/b4860emu: Add device tree file for b4860emu York Sun
2013-09-10 22:31   ` Scott Wood
2013-09-10 22:25 ` [PATCH 1/7] powerpc/mpc85xx: Fix EDAC address capture Scott Wood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.