There are some differences of register offset and definition between
pci and pcie error management registers. While, some other pci/pcie
error management registers are nearly the same.
To merge pci and pcie edac code into one, it is easier to use ccsr_pci
structure than the hardcoded define. So remove the hardcoded define and
add pci/pcie error management register in ccsr_pci structure.

Signed-off-by: Kai.Jiang <kai.ji...@freescale.com>
Signed-off-by: Kumar Gala <ga...@kernel.crashing.org>
Signed-off-by: Lan Chunhe <b25...@freescale.com>
---
 arch/powerpc/sysdev/fsl_pci.h |   54 +++++++++++++++++++++++++++++++---------
 drivers/edac/mpc85xx_edac.h   |   13 +--------
 2 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/arch/powerpc/sysdev/fsl_pci.h b/arch/powerpc/sysdev/fsl_pci.h
index 8ad72a1..796985b 100644
--- a/arch/powerpc/sysdev/fsl_pci.h
+++ b/arch/powerpc/sysdev/fsl_pci.h
@@ -1,7 +1,7 @@
 /*
  * MPC85xx/86xx PCI Express structure define
  *
- * Copyright 2007 Freescale Semiconductor, Inc
+ * Copyright 2007, 2010 Freescale Semiconductor, Inc
  *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
@@ -14,6 +14,8 @@
 #ifndef __POWERPC_FSL_PCI_H
 #define __POWERPC_FSL_PCI_H
 
+#include <asm/pci-bridge.h>
+
 #define PCIE_LTSSM     0x0404          /* PCIE Link Training and Status */
 #define PCIE_LTSSM_L0  0x16            /* L0 state */
 #define PIWAR_EN               0x80000000      /* Enable */
@@ -71,18 +73,46 @@ struct ccsr_pci {
  */
        struct pci_inbound_window_regs piw[3];
 
-       __be32  pex_err_dr;             /* 0x.e00 - PCI/PCIE error detect 
register */
-       u8      res21[4];
-       __be32  pex_err_en;             /* 0x.e08 - PCI/PCIE error interrupt 
enable register */
-       u8      res22[4];
-       __be32  pex_err_disr;           /* 0x.e10 - PCI/PCIE error disable 
register */
-       u8      res23[12];
-       __be32  pex_err_cap_stat;       /* 0x.e20 - PCI/PCIE error capture 
status register */
+/* Merge PCI/PCI Express error management registers */
+       __be32  pex_err_dr;       /* 0x.e00
+                                  * - PCI/PCIE error detect register
+                                  */
+       __be32  pex_err_cap_dr;   /* 0x.e04
+                                  * - PCI error capture disabled register
+                                  * - PCIE has no this register
+                                  */
+       __be32  pex_err_en;       /* 0x.e08
+                                  * - PCI/PCIE error interrupt enable register
+                                  */
+       __be32  pex_err_attrib;   /* 0x.e0c
+                                  * - PCI error attributes capture register
+                                  * - PCIE has no this register
+                                  */
+       __be32  pex_err_disr;     /* 0x.e10
+                                  * - PCI error address capture register
+                                  * - PCIE error disable register
+                                  */
+       __be32  pex_err_ext_addr; /* 0x.e14
+                                  * - PCI error extended addr capture register
+                                  * - PCIE has no this register
+                                  */
+       __be32  pex_err_dl;       /* 0x.e18
+                                  * - PCI error data low capture register
+                                  * - PCIE has no this register
+                                  */
+       __be32  pex_err_dh;       /* 0x.e1c
+                                  * - PCI error data high capture register
+                                  * - PCIE has no this register
+                                  */
+       __be32  pex_err_cap_stat; /* 0x.e20
+                                  * - PCI gasket timer register
+                                  * - PCIE error capture status register
+                                  */
        u8      res24[4];
-       __be32  pex_err_cap_r0;         /* 0x.e28 - PCIE error capture register 
0 */
-       __be32  pex_err_cap_r1;         /* 0x.e2c - PCIE error capture register 
0 */
-       __be32  pex_err_cap_r2;         /* 0x.e30 - PCIE error capture register 
0 */
-       __be32  pex_err_cap_r3;         /* 0x.e34 - PCIE error capture register 
0 */
+       __be32  pex_err_cap_r0;   /* 0x.e28 - PCIE error capture register 0 */
+       __be32  pex_err_cap_r1;   /* 0x.e2c - PCIE error capture register 1 */
+       __be32  pex_err_cap_r2;   /* 0x.e30 - PCIE error capture register 2 */
+       __be32  pex_err_cap_r3;   /* 0x.e34 - PCIE error capture register 3 */
 };
 
 extern int fsl_add_bridge(struct device_node *dev, int is_primary);
diff --git a/drivers/edac/mpc85xx_edac.h b/drivers/edac/mpc85xx_edac.h
index cb24df8..099581d 100644
--- a/drivers/edac/mpc85xx_edac.h
+++ b/drivers/edac/mpc85xx_edac.h
@@ -1,5 +1,7 @@
 /*
  * Freescale MPC85xx Memory Controller kenel module
+ * Copyright (c) 2010 Freescale Semiconductor, Inc.
+ *
  * Author: Dave Jiang <dji...@mvista.com>
  *
  * 2006-2007 (c) MontaVista Software, Inc. This file is licensed under
@@ -131,17 +133,6 @@
 #define PCI_EDE_PERR_MASK      (PCI_EDE_TGT_PERR | PCI_EDE_MST_PERR | \
                                PCI_EDE_ADDR_PERR)
 
-#define MPC85XX_PCI_ERR_DR             0x0000
-#define MPC85XX_PCI_ERR_CAP_DR         0x0004
-#define MPC85XX_PCI_ERR_EN             0x0008
-#define MPC85XX_PCI_ERR_ATTRIB         0x000c
-#define MPC85XX_PCI_ERR_ADDR           0x0010
-#define MPC85XX_PCI_ERR_EXT_ADDR       0x0014
-#define MPC85XX_PCI_ERR_DL             0x0018
-#define MPC85XX_PCI_ERR_DH             0x001c
-#define MPC85XX_PCI_GAS_TIMR           0x0020
-#define MPC85XX_PCI_PCIX_TIMR          0x0024
-
 struct mpc85xx_mc_pdata {
        char *name;
        int edac_idx;
-- 
1.5.4.5


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to