linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC
@ 2015-05-07  9:41 songwenbin
  2015-05-07  9:41 ` [PATCH v2 2/2] powerpc/mpc85xx: Fix EDAC address capture songwenbin
  2015-05-29  0:46 ` [v2,1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC Scott Wood
  0 siblings, 2 replies; 4+ messages in thread
From: songwenbin @ 2015-05-07  9:41 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Mingkai.hu, York Sun, songwenbin

From: York Sun <yorksun@freescale.com>

Remove mpc83xx and mpc85xx as dependency.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: songwenbin <wenbin.song@freescale.com>
---
 drivers/edac/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index cb59619..ad07d4f 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -262,10 +262,10 @@ config EDAC_SBRIDGE
 
 config EDAC_MPC85XX
 	tristate "Freescale MPC83xx / MPC85xx"
-	depends on EDAC_MM_EDAC && FSL_SOC && (PPC_83xx || PPC_85xx)
+	depends on EDAC_MM_EDAC && FSL_SOC
 	help
 	  Support for error detection and correction on the Freescale
-	  MPC8349, MPC8560, MPC8540, MPC8548
+	  MPC8349, MPC8560, MPC8540, MPC8548, T4240
 
 config EDAC_MV64X60
 	tristate "Marvell MV64x60"
-- 
2.1.0.27.g96db324

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

* [PATCH v2 2/2] powerpc/mpc85xx: Fix EDAC address capture
  2015-05-07  9:41 [PATCH v2 1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC songwenbin
@ 2015-05-07  9:41 ` songwenbin
  2015-05-29  0:46 ` [v2,1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC Scott Wood
  1 sibling, 0 replies; 4+ messages in thread
From: songwenbin @ 2015-05-07  9:41 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Mingkai.hu, York Sun, songwenbin

From: York Sun <yorksun@freescale.com>

Extend err_addr to cover 64 bits for DDR errors.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: songwenbin <wenbin.song@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 68bf234..23ef8e9 100644
--- a/drivers/edac/mpc85xx_edac.c
+++ b/drivers/edac/mpc85xx_edac.c
@@ -811,6 +811,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;
@@ -818,7 +820,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;
@@ -849,7 +851,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++) {
@@ -886,7 +890,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 4498baf..9352e88 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
-- 
2.1.0.27.g96db324

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

* Re: [v2,1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC
  2015-05-07  9:41 [PATCH v2 1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC songwenbin
  2015-05-07  9:41 ` [PATCH v2 2/2] powerpc/mpc85xx: Fix EDAC address capture songwenbin
@ 2015-05-29  0:46 ` Scott Wood
  2015-05-29 19:26   ` York Sun
  1 sibling, 1 reply; 4+ messages in thread
From: Scott Wood @ 2015-05-29  0:46 UTC (permalink / raw)
  To: songwenbin; +Cc: linuxppc-dev, Mingkai.hu, York Sun

On Thu, May 07, 2015 at 05:41:37PM +0800, songwenbin wrote:
> From: York Sun <yorksun@freescale.com>
> 
> Remove mpc83xx and mpc85xx as dependency.
> 
> Signed-off-by: York Sun <yorksun@freescale.com>
> Signed-off-by: songwenbin <wenbin.song@freescale.com>
> ---
>  drivers/edac/Kconfig | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

These patches need to be sent to the EDAC list and maintainer.

> diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
> index cb59619..ad07d4f 100644
> --- a/drivers/edac/Kconfig
> +++ b/drivers/edac/Kconfig
> @@ -262,10 +262,10 @@ config EDAC_SBRIDGE
>  
>  config EDAC_MPC85XX
>  	tristate "Freescale MPC83xx / MPC85xx"
> -	depends on EDAC_MM_EDAC && FSL_SOC && (PPC_83xx || PPC_85xx)
> +	depends on EDAC_MM_EDAC && FSL_SOC
>  	help
>  	  Support for error detection and correction on the Freescale
> -	  MPC8349, MPC8560, MPC8540, MPC8548
> +	  MPC8349, MPC8560, MPC8540, MPC8548, T4240

Why T4240?  We're not really going to list every mpc85xx/QorIQ PPC chip
here, are we?

-Scott

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

* Re: [v2,1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC
  2015-05-29  0:46 ` [v2,1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC Scott Wood
@ 2015-05-29 19:26   ` York Sun
  0 siblings, 0 replies; 4+ messages in thread
From: York Sun @ 2015-05-29 19:26 UTC (permalink / raw)
  To: Scott Wood, songwenbin; +Cc: linuxppc-dev, Mingkai.hu



On 05/28/2015 05:46 PM, Scott Wood wrote:
> On Thu, May 07, 2015 at 05:41:37PM +0800, songwenbin wrote:
>> From: York Sun <yorksun@freescale.com>
>>
>> Remove mpc83xx and mpc85xx as dependency.
>>
>> Signed-off-by: York Sun <yorksun@freescale.com>
>> Signed-off-by: songwenbin <wenbin.song@freescale.com>
>> ---
>>  drivers/edac/Kconfig | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> These patches need to be sent to the EDAC list and maintainer.
> 
>> diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
>> index cb59619..ad07d4f 100644
>> --- a/drivers/edac/Kconfig
>> +++ b/drivers/edac/Kconfig
>> @@ -262,10 +262,10 @@ config EDAC_SBRIDGE
>>  
>>  config EDAC_MPC85XX
>>  	tristate "Freescale MPC83xx / MPC85xx"
>> -	depends on EDAC_MM_EDAC && FSL_SOC && (PPC_83xx || PPC_85xx)
>> +	depends on EDAC_MM_EDAC && FSL_SOC
>>  	help
>>  	  Support for error detection and correction on the Freescale
>> -	  MPC8349, MPC8560, MPC8540, MPC8548
>> +	  MPC8349, MPC8560, MPC8540, MPC8548, T4240
> 
> Why T4240?  We're not really going to list every mpc85xx/QorIQ PPC chip
> here, are we?

T4240 was the one under debugging. It should be more generic since it removes
PPC_83xx and PPC_85xx.

Wenbin, do you mind update this patch?

York

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

end of thread, other threads:[~2015-05-29 20:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-07  9:41 [PATCH v2 1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC songwenbin
2015-05-07  9:41 ` [PATCH v2 2/2] powerpc/mpc85xx: Fix EDAC address capture songwenbin
2015-05-29  0:46 ` [v2,1/2] powerpc/mpc8xxx: Change EDAC for FSL SoC Scott Wood
2015-05-29 19:26   ` York Sun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).