03 Feb, 2017

1 commit

  • The L2 cache controller on the T2080 SoC has similar capabilities to the
    others already supported by the mpc85xx_edac driver. Add it to the list
    of compatible devices.

    Signed-off-by: Chris Packham
    Acked-by: Johannes Thumshirn
    Acked-by: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: devicetree@vger.kernel.org
    Cc: linux-edac
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/20170201231624.28843-1-chris.packham@alliedtelesis.co.nz
    Signed-off-by: Borislav Petkov

    Chris Packham
     

15 Dec, 2016

1 commit


17 Nov, 2016

1 commit

  • If we execute the below steps without this patch:

    modprobe mpc85xx_edac [The first insmod, everything is well.]
    modprobe -r mpc85xx_edac
    modprobe mpc85xx_edac [insmod again, error happens.]

    We would get the error messages as below:

    BUG: recent printk recursion!
    Oops: Kernel access of bad area, sig: 11 [#48]
    Modules linked in: mpc85xx_edac edac_core softdog [last unloaded: mpc85xx_edac]
    CPU: 5 PID: 14773 Comm: modprobe Tainted: G D C 4.8.3-rt2
    .vsnprintf
    .vscnprintf
    .vprintk_emit
    .printk
    .edac_pci_add_device
    .mpc85xx_pci_err_probe
    .platform_drv_probe
    .driver_probe_device
    .__driver_attach
    .bus_for_each_dev
    .driver_attach
    .bus_add_driver
    .driver_register
    .__platform_register_drivers
    .mpc85xx_mc_init
    .do_one_initcall
    .do_init_module
    .load_module
    .SyS_finit_module
    system_call

    Address this by cleaning up properly when removing the platform driver.

    Tested on a T4240QDS board.

    Signed-off-by: Yanjiang Jin
    Acked-by: Johannes Thumshirn
    Cc: linux-edac
    Cc: york.sun@nxp.com
    Link: http://lkml.kernel.org/r/1479351380-17109-2-git-send-email-yanjiang.jin@windriver.com
    [ Boris: massage commit message. ]
    Signed-off-by: Borislav Petkov

    Yanjiang Jin
     

12 Sep, 2016

1 commit

  • We'd like to eventually remove NO_IRQ on powerpc, so remove usages of it
    from powerpc-only drivers.

    The pdata structs are kzalloc'ed, so we don't need to initialise those
    to 0, we can just drop the assignments entirely.

    Signed-off-by: Michael Ellerman
    Cc: Arnd Bergmann
    Cc: Johannes Thumshirn
    Cc: linux-edac
    Cc: linuxppc-dev@ozlabs.org
    Link: http://lkml.kernel.org/r/1473674436-19467-1-git-send-email-mpe@ellerman.id.au
    Signed-off-by: Borislav Petkov

    Michael Ellerman
     

01 Sep, 2016

4 commits

  • Use FSL-specific prefix for macros, variables and functions.

    Signed-off-by: York Sun
    Cc: Johannes Thumshirn
    Cc: linux-edac
    Cc: oss@buserror.net
    Cc: stuart.yoder@nxp.com
    Link: http://lkml.kernel.org/r/1470779760-16483-5-git-send-email-york.sun@nxp.com
    Signed-off-by: Borislav Petkov

    York Sun
     
  • The mpc85xx-compatible DDR controllers are used on ARM-based SoCs too.
    Carve out the DDR part from the mpc85xx EDAC driver in preparation to
    support both architectures.

    Signed-off-by: York Sun
    Cc: Johannes Thumshirn
    Cc: linux-edac
    Cc: oss@buserror.net
    Cc: stuart.yoder@nxp.com
    Link: http://lkml.kernel.org/r/1470946525-3410-1-git-send-email-york.sun@nxp.com
    Signed-off-by: Borislav Petkov

    York Sun
     
  • Replace printk() with pr_err/pr_warn/pr_info macros.

    Signed-off-by: York Sun
    Cc: Johannes Thumshirn
    Cc: linux-edac
    Cc: oss@buserror.net
    Cc: stuart.yoder@nxp.com
    Link: http://lkml.kernel.org/r/1470779760-16483-3-git-send-email-york.sun@nxp.com
    [ Boris: unbreak strings for easier greppability. ]
    Signed-off-by: Borislav Petkov

    York Sun
     
  • On e500v1, read fault exception enable (RFXE) controls whether assertion
    of core_fault_in causes a machine check interrupt. Assertion of
    core_fault_in can result from uncorrectable data error, such as an L2
    multi-bit ECC error. It can also occur from a system error if logic on
    the integrated device signals a fault for nonfatal errors. RFXE bit is
    cleared out of reset, and should be left clear for normal operation.
    Assertion of core_fault_in does not cause a machine check.

    RFXE is set specifically for RIO (Rapid IO) and PCI for book E to catch
    the errors by machine check. With this bit set, the EDAC driver can't
    get the interrupt in case of uncorrectable error. So this bit is cleared
    in favor of EDAC. However, the benefit of catching such uncorrectable
    error doesn't outweigh the other errors which may hang the system.
    Besides, e500v2 has different errors masked by RFXE, and e500mc doesn't
    support this bit. It is more reasonable to leave RFXE as is in the EDAC
    driver, and leave the uncorrectable errors triggering machine check for
    e500v1.

    Suggested-by: Scott Wood
    Signed-off-by: York Sun
    Cc: Johannes Thumshirn
    Cc: linux-edac
    Cc: oss@buserror.net
    Cc: stuart.yoder@nxp.com
    Link: http://lkml.kernel.org/r/1470779760-16483-2-git-send-email-york.sun@nxp.com
    Signed-off-by: Borislav Petkov

    York Sun
     

18 Aug, 2016

1 commit

  • According to the reference manual of MPC8572 and T4240, bit 31 of
    PEX_ERR_CAP_STAT is W1C (write 1 to clear).

    Add the corresponding write to PEX_ERR_CAP_STAT in order to fix the PCIe
    error capture.

    Tested on a T4240 processor.

    Signed-off-by: Tillmann Heidsieck
    Acked-by: Johannes Thumshirn
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/20160815190849.29327-1-theidsieck@leenox.de
    Signed-off-by: Borislav Petkov

    Tillmann Heidsieck
     

03 Feb, 2016

1 commit

  • We were getting this build warning:

    drivers/edac/mpc85xx_edac.c:1247:6: warning: unused variable 'pvr'

    pvr is only used if CONFIG_FSL_SOC_BOOKE is defined. Declare it
    __maybe_unused.

    Suggested-by: Guenter Roeck
    Signed-off-by: Sudip Mukherjee
    Reviewed-by: Johannes Thumshirn
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1454427573-7994-1-git-send-email-sudipm.mukherjee@gmail.com
    Signed-off-by: Borislav Petkov

    Sudip Mukherjee
     

11 Dec, 2015

1 commit

  • Originally the mpc85xx-pci-edac driver bound directly to the PCI
    controller node.

    Commit

    905e75c46dba ("powerpc/fsl-pci: Unify pci/pcie initialization code")

    turned the PCI controller code into a platform device. Since we can't
    have two drivers binding to the same device, the EDAC code was changed
    to be called into as a library-style submodule. However, this doesn't
    work if the EDAC driver is built as a module.

    Commit

    8d8fcba6d1ea ("EDAC: Rip out the edac_subsys reference counting")

    exposed another problem with this approach -- mpc85xx_pci_err_probe()
    was being called in the same early boot phase that the PCI controller
    is initialized, rather than in the device_initcall phase that the EDAC
    layer expects. This caused a crash on boot.

    To fix this, the PCI controller code now creates a child platform device
    specifically for EDAC, which the mpc85xx-pci-edac driver binds to.

    Reported-by: Michael Ellerman
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Scott Wood
    Cc: Andrew Morton
    Cc: Benjamin Herrenschmidt
    Cc: Daniel Axtens
    Cc: Doug Thompson
    Cc: Jia Hongtao
    Cc: Jiri Kosina
    Cc: Kim Phillips
    Cc: linux-edac
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: Masanari Iida
    Cc: Mauro Carvalho Chehab
    Cc: Paul Mackerras
    Cc: Randy Dunlap
    Cc: Rob Herring
    Link: http://lkml.kernel.org/r/1449774432-18593-1-git-send-email-scottwood@freescale.com
    Signed-off-by: Borislav Petkov

    Scott Wood
     

03 Dec, 2015

1 commit

  • These new helpers simplify implementing multi-driver modules and
    properly handle failure to register one driver by unregistering all
    previously registered drivers.

    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Thierry Reding
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1449136632-11680-1-git-send-email-thierry.reding@gmail.com
    Signed-off-by: Borislav Petkov

    Thierry Reding
     

31 May, 2015

1 commit

  • Extend err_addr to cover 64 bits for DDR errors.

    Signed-off-by: York Sun
    Acked-by: Johannes Thumshirn
    Cc: Mingkai.hu@freescale.com
    Link: http://lkml.kernel.org/r/1431425022-44766-2-git-send-email-Wenbin.Song@freescale.com
    Signed-off-by: songwenbin
    Signed-off-by: Borislav Petkov

    York Sun
     

21 Mar, 2015

1 commit

  • of_device_id is always used as const. See driver.of_match_table and open
    firmware functions.

    Signed-off-by: Fabian Frederick
    Cc: Greg Kroah-Hartman
    Cc: Doug Thompson
    Cc: Robert Richter
    Cc: Mauro Carvalho Chehab
    Cc: Johannes Thumshirn
    Cc: Michal Simek
    Cc: Sören Brinkmann
    Cc: linux-edac@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1426535685-25996-10-git-send-email-fabf@skynet.be
    Signed-off-by: Borislav Petkov

    Fabian Frederick
     

23 Feb, 2015

1 commit


02 Jan, 2015

1 commit


20 Oct, 2014

1 commit


30 Sep, 2014

1 commit

  • The other two interrupt handlers in this driver are shared, except this
    one. When loading the driver, it fails like this.

    So make the IRQ line shared.

    Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista Software
    mpc85xx_mc_err_probe: No ECC DIMMs discovered
    EDAC DEVICE0: Giving out device to module MPC85xx_edac controller mpc85xx_l2_err: DEV mpc85xx_l2_err (INTERRUPT)
    genirq: Flags mismatch irq 16. 00000000 ([EDAC] L2 err) vs. 00000080 ([EDAC] PCI err)
    mpc85xx_l2_err_probe: Unable to request irq 16 for MPC85xx L2 err
    remove_proc_entry: removing non-empty directory 'irq/16', leaking at least 'aerdrv'
    ------------[ cut here ]------------
    WARNING: at fs/proc/generic.c:521
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc5-dirty #1
    task: ee058000 ti: ee046000 task.ti: ee046000
    NIP: c016c0c4 LR: c016c0c4 CTR: c037b51c
    REGS: ee047c10 TRAP: 0700 Not tainted (3.17.0-rc5-dirty)
    MSR: 00029000 CR: 22008022 XER: 20000000

    GPR00: c016c0c4 ee047cc0 ee058000 00000053 00029000 00000000 c037c744 00000003
    GPR08: c09aab28 c09aab24 c09aab28 00000156 20008028 00000000 c0002ac8 00000000
    GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000139 c0950394
    GPR24: c09f0000 ee5585b0 ee047d08 c0a10000 ee047d08 ee15f808 00000002 ee03f660
    NIP [c016c0c4] remove_proc_entry
    LR [c016c0c4] remove_proc_entry
    Call Trace:
    remove_proc_entry (unreliable)
    unregister_irq_proc
    free_desc
    irq_free_descs
    mpc85xx_l2_err_probe
    platform_drv_probe
    really_probe
    __driver_attach
    bus_for_each_dev
    bus_add_driver
    driver_register
    mpc85xx_mc_init
    do_one_initcall
    kernel_init_freeable
    kernel_init
    ret_from_kernel_thread
    Instruction dump: ...

    Reported-and-tested-by:
    Acked-by: Johannes Thumshirn
    Cc: stable@vger.kernel.org
    Signed-off-by: Borislav Petkov

    Borislav Petkov
     

07 Feb, 2014

1 commit


25 Nov, 2013

1 commit

  • Add pcie error interrupt edac support for mpc85xx, p3041, p4080, and
    p5020. The mpc85xx uses the legacy interrupt report mechanism - the
    error interrupts are reported directly to mpic. While the p3041/
    p4080/p5020 attaches the most of error interrupts to interrupt zero. And
    report error interrupts to mpic via interrupt 0.

    This patch can handle both of them.

    Signed-off-by: Chunhe Lan
    Link: http://lkml.kernel.org/r/1384712714-8826-3-git-send-email-morbidrsa@gmail.com
    Cc: Doug Thompson
    Cc: Dave Jiang
    Signed-off-by: Johannes Thumshirn
    Signed-off-by: Borislav Petkov

    Chunhe Lan
     

18 Nov, 2013

1 commit

  • Remove mpc85xx_pci_err_remove(...) which is obsolete, this removes the
    compiler warning which can be seen when building the driver either
    statically or as a module.

    Signed-off-by: Johannes Thumshirn
    Link: https://lkml.kernel.org/r/20131112161901.GA15637@jtlinux
    Signed-off-by: Johannes Thumshirn
    Signed-off-by: Borislav Petkov

    Johannes Thumshirn
     

10 Feb, 2013

1 commit


04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, and __devexit
    from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: Doug Thompson
    Cc: Borislav Petkov
    Cc: Mark Gross
    Cc: Jason Uhlenkott
    Cc: Mauro Carvalho Chehab
    Cc: Tim Small
    Cc: Ranganathan Desikan
    Cc: "Arvind R."
    Cc: Ralf Baechle
    Cc: David Daney
    Cc: Egor Martovetsky
    Cc: Olof Johansson
    Cc: Chris Metcalf
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

13 Sep, 2012

1 commit

  • We unified the Freescale pci/pcie initialization by changing the fsl_pci
    to a platform driver. In previous PCI code architecture the initialization
    routine is called at board_setup_arch stage. Now the initialization is done
    in probe function which is architectural better. Also It's convenient for
    adding PM support for PCI controller in later patch.

    Now we registered pci controllers as platform devices. So we combine two
    initialization code as one platform driver.

    Signed-off-by: Jia Hongtao
    Signed-off-by: Li Yang
    Signed-off-by: Chunhe Lan
    Signed-off-by: Kumar Gala

    Jia Hongtao
     

30 Jul, 2012

1 commit

  • * devel: (33 commits)
    edac i5000, i5400: fix pointer math in i5000_get_mc_regs()
    edac: allow specifying the error count with fake_inject
    edac: add support for Calxeda highbank L2 cache ecc
    edac: add support for Calxeda highbank memory controller
    edac: create top-level debugfs directory
    sb_edac: properly handle error count
    i7core_edac: properly handle error count
    edac: edac_mc_handle_error(): add an error_count parameter
    edac: remove arch-specific parameter for the error handler
    amd64_edac: Don't pass driver name as an error parameter
    edac_mc: check for allocation failure in edac_mc_alloc()
    edac: Increase version to 3.0.0
    edac_mc: Cleanup per-dimm_info debug messages
    edac: Convert debugfX to edac_dbg(X,
    edac: Use more normal debugging macro style
    edac: Don't add __func__ or __FILE__ for debugf[0-9] msgs
    Edac: Add ABI Documentation for the new device nodes
    edac: move documentation ABI to ABI/testing/sysfs-devices-edac
    i7core_edac: change the mem allocation scheme to make Documentation/kobject.txt happy
    edac: change the mem allocation scheme to make Documentation/kobject.txt happy
    ...

    Mauro Carvalho Chehab
     

12 Jun, 2012

6 commits

  • In order to avoid loosing error events, it is desirable to group
    error events together and generate a single trace for several identical
    errors.

    The trace API already allows reporting multiple errors. Change the
    handle_error function to also allow that.

    The changes at the drivers were made by this small script:

    $file .=$_ while (<>);
    $file =~ s/(edac_mc_handle_error)\s*\(([^\,]+)\,([^\,]+)\,/$1($2,$3, 1,/g;
    print $file;

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Remove the arch-dependent parameter, as it were not used,
    as the MCE tracepoint weren't implemented. It probably doesn't
    make sense to have an MCE-specific tracepoint, as this will
    cost more bytes at the tracepoint, and tracepoint is not free.

    The changes at the EDAC drivers were done by this small perl script:

    $file .=$_ while (<>);
    $file =~ s/(edac_mc_handle_error)\s*\(([^\;]+)\,([^\,\)]+)\s*\)/$1($2)/g;
    print $file;

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Use a more common debugging style.

    Remove __FILE__ uses, add missing newlines,
    coalesce formats and align arguments.

    Signed-off-by: Joe Perches
    Signed-off-by: Mauro Carvalho Chehab

    Joe Perches
     
  • The debug macro already adds that. Most of the work here was
    made by this small script:

    $f .=$_ while (<>);

    $f =~ s/(debugf[0-9]\s*\(\s*)__FILE__\s*": /\1"/g;
    $f =~ s/(debugf[0-9]\s*\(\s*)__FILE__\s*/\1/g;
    $f =~ s/(debugf[0-9]\s*\(\s*)__FILE__\s*"MC: /\1"/g;

    $f =~ s/(debugf[0-9]\s*\(\")\%s[\:\,\(\)]*\s*([^\"]*\s*[^\)]+)__func__\s*\,\s*/\1\2/g;
    $f =~ s/(debugf[0-9]\s*\(\")\%s[\:\,\(\)]*\s*([^\"]*\s*[^\)]+),\s*__func__\s*\)/\1\2)/g;
    $f =~ s/(debugf[0-9]\s*\(\"MC\:\s*)\%s[\:\,\(\)]*\s*([^\"]*\s*[^\)]+)__func__\s*\,\s*/\1\2/g;
    $f =~ s/(debugf[0-9]\s*\(\"MC\:\s*)\%s[\:\,\(\)]*\s*([^\"]*\s*[^\)]+),\s*__func__\s*\)/\1\2)/g;

    $f =~ s/\"MC\: \\n\"/"MC:\\n"/g;

    print $f;

    After running the script, manual cleanups were done to fix it the remaining
    places.

    While here, removed the __LINE__ on most places, as it doesn't actually give
    useful info on most places.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Kernel kobjects have rigid rules: each container object should be
    dynamically allocated, and can't be allocated into a single kmalloc.

    EDAC never obeyed this rule: it has a single malloc function that
    allocates all needed data into a single kzalloc.

    As this is not accepted anymore, change the allocation schema of the
    EDAC *_info structs to enforce this Kernel standard.

    Acked-by: Chris Metcalf
    Cc: Aristeu Rozanski
    Cc: Doug Thompson
    Cc: Greg K H
    Cc: Borislav Petkov
    Cc: Mark Gross
    Cc: Tim Small
    Cc: Ranganathan Desikan
    Cc: "Arvind R."
    Cc: Olof Johansson
    Cc: Egor Martovetsky
    Cc: Michal Marek
    Cc: Jiri Kosina
    Cc: Dmitry Eremin-Solenikov
    Cc: Benjamin Herrenschmidt
    Cc: Hitoshi Mitake
    Cc: Andrew Morton
    Cc: Shaohui Xie
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Now that the EDAC core supports struct device, there's no sense on
    having any logic at the EDAC core to simulate it. So, instead of adding
    such logic there, change the logic at mpc85xx_edac to use it

    compile-tested only.

    Reviewed-by: Aristeu Rozanski
    Cc: Andrew Morton
    Cc: Shaohui Xie
    Cc: Jiri Kosina
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

11 Jun, 2012

2 commits

  • As EDAC doesn't use struct device itself, it created a parent dev
    pointer called as "pdev". Now that we'll be converting it to use
    struct device, instead of struct devsys, this needs to be fixed.

    No functional changes.

    Reviewed-by: Aristeu Rozanski
    Acked-by: Chris Metcalf
    Cc: Doug Thompson
    Cc: Borislav Petkov
    Cc: Mark Gross
    Cc: Jason Uhlenkott
    Cc: Tim Small
    Cc: Ranganathan Desikan
    Cc: "Arvind R."
    Cc: Olof Johansson
    Cc: Egor Martovetsky
    Cc: Michal Marek
    Cc: Jiri Kosina
    Cc: Joe Perches
    Cc: Dmitry Eremin-Solenikov
    Cc: Benjamin Herrenschmidt
    Cc: Hitoshi Mitake
    Cc: Andrew Morton
    Cc: "Niklas Söderlund"
    Cc: Shaohui Xie
    Cc: Josh Boyer
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • commit ca0907b "edac: Remove the legacy EDAC ABI" broke mpc85xx_edac
    in the following manner:

    mpc85xx_edac.c:983:35: error: too few arguments to function 'edac_mc_alloc'

    this patch puts back the missing 'layers' argument.

    [mchehab@redhat.com: As Ben sent a similar fix, I added his SOB on this patch]
    Signed-off-by: Kim Phillips
    Signed-off-by: Ben Collins
    Signed-off-by: Mauro Carvalho Chehab

    Kim Phillips
     

29 May, 2012

4 commits

  • Now that all drivers got converted to use the new ABI, we can
    drop the old one.

    Acked-by: Chris Metcalf
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The legacy edac ABI is going to be removed. Port the driver to use
    and benefit from the new API functionality.

    Cc: Andrew Morton
    Cc: Shaohui Xie
    Cc: Jiri Kosina
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The number of pages is a dimm property. Move it to the dimm struct.

    After this change, it is possible to add sysfs nodes for the DIMM's that
    will properly represent the DIMM stick properties, including its size.

    A TODO fix here is to properly represent dual-rank/quad-rank DIMMs when
    the memory controller represents the memory via chip select rows.

    Reviewed-by: Aristeu Rozanski
    Acked-by: Borislav Petkov
    Acked-by: Chris Metcalf
    Cc: Doug Thompson
    Cc: Mark Gross
    Cc: Jason Uhlenkott
    Cc: Tim Small
    Cc: Ranganathan Desikan
    Cc: "Arvind R."
    Cc: Olof Johansson
    Cc: Egor Martovetsky
    Cc: Michal Marek
    Cc: Jiri Kosina
    Cc: Joe Perches
    Cc: Dmitry Eremin-Solenikov
    Cc: Benjamin Herrenschmidt
    Cc: Hitoshi Mitake
    Cc: Andrew Morton
    Cc: "Niklas Söderlund"
    Cc: Shaohui Xie
    Cc: Josh Boyer
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • On systems based on chip select rows, all channels need to use memories
    with the same properties, otherwise the memories on channels A and B
    won't be recognized.

    However, such assumption is not true for all types of memory
    controllers.

    Controllers for FB-DIMM's don't have such requirements.

    Also, modern Intel controllers seem to be capable of handling such
    differences.

    So, we need to get rid of storing the DIMM information into a per-csrow
    data, storing it, instead at the right place.

    The first step is to move grain, mtype, dtype and edac_mode to the
    per-dimm struct.

    Reviewed-by: Aristeu Rozanski
    Reviewed-by: Borislav Petkov
    Acked-by: Chris Metcalf
    Cc: Doug Thompson
    Cc: Borislav Petkov
    Cc: Mark Gross
    Cc: Jason Uhlenkott
    Cc: Tim Small
    Cc: Ranganathan Desikan
    Cc: "Arvind R."
    Cc: Olof Johansson
    Cc: Egor Martovetsky
    Cc: Michal Marek
    Cc: Jiri Kosina
    Cc: Joe Perches
    Cc: Dmitry Eremin-Solenikov
    Cc: Benjamin Herrenschmidt
    Cc: Hitoshi Mitake
    Cc: Andrew Morton
    Cc: James Bottomley
    Cc: "Niklas Söderlund"
    Cc: Shaohui Xie
    Cc: Josh Boyer
    Cc: Mike Williams
    Cc: linuxppc-dev@lists.ozlabs.org
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

24 Nov, 2011

1 commit


27 Jul, 2011

1 commit


10 Jun, 2011

1 commit