16 Sep, 2009

5 commits

  • The old code was using smp_call_function_many which skips the current
    cpu if it is in the supplied cpumask. Switch to the rdmsr_on_cpus()
    interface which takes care of that.

    In addition, add get_cpus_on_this_dct_cpumask helper which computes a
    cpumask of all the cores on a node and thus on a DCT.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • Simplify the procedure by checking if there is any DIMM in each channel.
    This patch will fix the bugs such as when there is no DIMMs under
    certain node, two DIMMs in the same channel, and only one DIMM in each
    channel of the node.

    Borislav: minor fixups

    Signed-off-by: Wan Wei
    Signed-off-by: Borislav Petkov

    Wan Wei
     
  • Simplify code flow and make sure return value is always valid since
    further driver init depends on it. Carve out long warning string and
    make code more readable. Shorten some names, while at it.

    There should be no functional change resulting from this patch.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • Signed-off-by: Andreas Herrmann
    Signed-off-by: Borislav Petkov
    Acked-by: H. Peter Anvin

    Andreas Herrmann
     
  • -tip testing found the following build failure (config attached):

    drivers/built-in.o: In function `amd64_check':
    amd64_edac.c:(.text+0x3e9491): undefined reference to `amd_decode_nb_mce'
    drivers/built-in.o: In function `amd64_init_2nd_stage':
    amd64_edac.c:(.text+0x3e9b46): undefined reference to `amd_report_gart_errors'
    amd64_edac.c:(.text+0x3e9b55): undefined reference to `amd_register_ecc_decoder'
    drivers/built-in.o: In function `amd64_nbea_store':
    amd64_edac_dbg.c:(.text+0x3ea22e): undefined reference to `amd_decode_nb_mce'
    drivers/built-in.o: In function `amd64_remove_one_instance':
    amd64_edac.c:(.devexit.text+0x3eea): undefined reference to `amd_report_gart_errors'
    amd64_edac.c:(.devexit.text+0x3ef6): undefined reference to `amd_unregister_ecc_decoder'

    the AMD EDAC code has a dependency on CONFIG_CPU_SUP_AMD facilities. The
    patch below solves the problem here.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Borislav Petkov

    Ingo Molnar
     

15 Sep, 2009

14 commits


04 Aug, 2009

1 commit


03 Aug, 2009

1 commit

  • On the good path of BIOS enabled ECC and no override, the value returned
    is 1 by omission and thus is deemed failing by the probe-function.

    Allow proper module initialization by clearing the retval explicitly.

    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson
     

30 Jul, 2009

1 commit


27 Jul, 2009

1 commit


01 Jul, 2009

1 commit


26 Jun, 2009

3 commits


19 Jun, 2009

4 commits

  • Fix the meaning of EDAC(Error Detection And Correction) correctly.

    [akpm@linux-foundation.org: add missing space]
    Signed-off-by: GeunSik Lim
    Cc: Alan Cox
    Acked-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    GeunSik Lim
     
  • The remove function uses __devexit, so the .remove assignment needs
    __devexit_p() to fix a build error with hotplug disabled.

    Signed-off-by: Mike Frysinger
    Cc: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • Add edac_device_alloc_index(), because for MAPLE platform there may
    exist several EDAC driver modules that could make use of
    edac_device_ctl_info structure at the same time. The index allocation
    for these structures should be taken care of by EDAC core.

    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: Harry Ciao
    Cc: Doug Thompson
    Cc: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Kumar Gala
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harry Ciao
     
  • Introduce IBM CPC925 EDAC driver, which makes use of ECC, CPU and
    HyperTransport Link error detections and corrections on the IBM
    CPC925 Bridge and Memory Controller.

    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Harry Ciao
    Cc: Doug Thompson
    Cc: Michael Ellerman
    Cc: Benjamin Herrenschmidt
    Cc: Kumar Gala
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harry Ciao
     

13 Jun, 2009

1 commit


10 Jun, 2009

8 commits

  • Prevent EDAC compilation units from being built by default and let the
    user explicitly select the needed modules.

    Acked-by: Randy Dunlap
    Tested-by: Randy Dunlap
    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • While at it, fix a link failure when !K8_NB.

    Acked-by: Doug Thompson
    Acked-by: Randy Dunlap
    Tested-by: Randy Dunlap
    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • Also, link into Kbuild by adding Kconfig and Makefile entries.

    Borislav:
    - Kconfig/Makefile splitting
    - use zero-sized arrays for the sysfs attrs if not enabled
    - rename sysfs attrs to more conform values
    - shorten CONFIG_ names
    - make multiple structure members assignment vertically aligned
    - fix/cleanup comments
    - fix function return value patterns
    - fix err labels
    - fix a memleak bug caught by Ingo
    - remove the NUMA dependency and use num_k8_northbrides for initializing
    a driver instance per NB.
    - do not copy the pvt contents into the mci struct in
    amd64_init_2nd_stage() and save it in the mci->pvt_info void ptr
    instead.
    - cleanup debug calls
    - simplify amd64_setup_pci_device()

    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson
     
  • Borislav:
    - convert to the new {rd|wr}msr_on_cpus interfaces.
    - convert pvt->old_mcgctl to a bitmask thus saving some bytes
    - fix/cleanup comments
    - fix function return value patterns
    - add a proper bugfix found by Doug to amd64_check_ecc_enabled where we
    missed checking for the ECC enabled bit in NB CFG.
    - cleanup debug calls

    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson
     
  • Borislav:

    - add a amd64_free_mc_sibling_devices() helper instead of opencoding the
    release-path.
    - fix/cleanup comments
    - fix function return value patterns
    - cleanup debug calls

    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson
     
  • Borislav:

    - fold amd64_error_info_valid() into its only user
    - fix/cleanup comments
    - fix function return value patterns
    - cleanup debug calls

    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson
     
  • Borislav:

    - fix comments
    - cleanup debug calls

    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson
     
  • Borislav:

    - fix comments
    - fix function return value patterns

    Reviewed-by: Mauro Carvalho Chehab
    Signed-off-by: Doug Thompson
    Signed-off-by: Borislav Petkov

    Doug Thompson