On Nov 4, 2010, at 10:23 PM, Lan Chunhe wrote:

> 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(-)

You need to bring in the changes from the next patch that address the use of 
the ccsr_pci struct instead of #defines into this patch.  Otherwise we break 
building of the code.  Also it makes the next patch easier to read as we are 
mixing the changes associated with 'struct ccsr_pci' with what its doing

> 
> 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