29 Dec, 2008

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits)
    powerpc/44x: Support 16K/64K base page sizes on 44x
    powerpc: Force memory size to be a multiple of PAGE_SIZE
    powerpc/32: Wire up the trampoline code for kdump
    powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M
    powerpc/32: Allow __ioremap on RAM addresses for kdump kernel
    powerpc/32: Setup OF properties for kdump
    powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs()
    powerpc: Prepare xmon_save_regs for use with kdump
    powerpc: Remove default kexec/crash_kernel ops assignments
    powerpc: Make default kexec/crash_kernel ops implicit
    powerpc: Setup OF properties for ppc32 kexec
    powerpc/pseries: Fix cpu hotplug
    powerpc: Fix KVM build on ppc440
    powerpc/cell: add QPACE as a separate Cell platform
    powerpc/cell: fix build breakage with CONFIG_SPUFS disabled
    powerpc/mpc5200: fix error paths in PSC UART probe function
    powerpc/mpc5200: add rts/cts handling in PSC UART driver
    powerpc/mpc5200: Make PSC UART driver update serial errors counters
    powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver
    powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver
    ...

    Fix trivial conflict in drivers/char/Makefile as per Paul's directions

    Linus Torvalds
     

24 Dec, 2008

1 commit

  • When deleting an edac device, we have to wait for its edac_dev.work to be
    completed before deleting the whole edac_dev structure. Since we have no
    idea which work in current edac_poller's workqueue is the work we are
    conerned about, we wait for all work in the edac_poller's workqueue to be
    proceseed. This is done via flush_cpu_workqueue() which inserts a
    wq_barrier into the tail of the workqueue and then sleeping on the
    completion of this wq_barrier. The edac_poller will wake up sleepers when
    it is found.

    EDAC core creates only one kernel worker thread, edac_poller, to run the
    works of all current edac devices. They share the same callback function
    of edac_device_workq_function(), which would grab the mutex of
    device_ctls_mutex first before it checks the device. This is exactly
    where edac_poller and rmmod would have a great chance to deadlock.

    In below call trace of rmmod > ... >
    edac_device_del_device >
    edac_device_workq_teardown > flush_workqueue > flush_cpu_workqueue,

    device_ctls_mutex would have already been grabbed by
    edac_device_del_device(). So, on one hand rmmod would sleep on the
    completion of a wq_barrier, holding device_ctls_mutex; on the other hand
    edac_poller would be blocked on the same mutex when it's running any one
    of works of existing edac evices(Note, this edac_dev.work is likely to be
    totally irrelevant to the one that is being removed right now)and never
    would have a chance to run the work of above wq_barrier to wake rmmod up.

    edac_device_workq_teardown() should not be called within the critical
    region of device_ctls_mutex. Just like is done in edac_pci_del_device()
    and edac_mc_del_mc(), where edac_pci_workq_teardown() and
    edac_mc_workq_teardown() are called after related mutex are released.

    Moreover, an edac_dev.work should check first if it is being removed. If
    this is the case, then it should bail out immediately. Since not all of
    existing edac devices are to be removed, this "shutting flag" should be
    contained to edac device being removed. The current edac_dev.op_state can
    be used to serve this purpose.

    The original deadlock problem and the solution have been witnessed and
    tested on actual hardware. Without the solution, rmmod an edac driver
    would result in below deadlock:

    root@localhost:/root> rmmod mv64x60_edac
    EDAC DEBUG: mv64x60_dma_err_remove()
    EDAC DEBUG: edac_device_del_device()
    EDAC DEBUG: find_edac_device_by_dev()

    (hang for a moment)

    INFO: task edac-poller:2030 blocked for more than 120 seconds.
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    edac-poller D 00000000 0 2030 2
    Call Trace:
    [df159dc0] [c0071e3c] free_hot_cold_page+0x17c/0x304 (unreliable)
    [df159e80] [c000a024] __switch_to+0x6c/0xa0
    [df159ea0] [c03587d8] schedule+0x2f4/0x4d8
    [df159f00] [c03598a8] __mutex_lock_slowpath+0xa0/0x174
    [df159f40] [e1030434] edac_device_workq_function+0x28/0xd8 [edac_core]
    [df159f60] [c003beb4] run_workqueue+0x114/0x218
    [df159f90] [c003c674] worker_thread+0x5c/0xc8
    [df159fd0] [c004106c] kthread+0x5c/0xa0
    [df159ff0] [c0013538] original_kernel_thread+0x44/0x60
    INFO: task rmmod:2062 blocked for more than 120 seconds.
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    rmmod D 0ff2c9fc 0 2062 1839
    Call Trace:
    [df119c00] [c0437a74] 0xc0437a74 (unreliable)
    [df119cc0] [c000a024] __switch_to+0x6c/0xa0
    [df119ce0] [c03587d8] schedule+0x2f4/0x4d8
    [df119d40] [c03591dc] schedule_timeout+0xb0/0xf4

    Signed-off-by: Linus Torvalds

    Harry Ciao
     

23 Dec, 2008

1 commit

  • Since the QPACE (Chromodynamics Parallel Computing on the
    Cell Broadband Engine) platform doesn't use a iommu, doesn't
    have PCI devices and a MPIC much lesser setup and
    configurations are needed. So far all devices are detected
    as OF device. A notifier function is used to set the dma_ops
    for the of_platform bus. Further this patch splits the
    PPC_CELL_NATIVE into PPC_CELL_COMMON which are parts that are
    shared with the QPACE platform and the rest.

    Signed-off-by: Benjamin Krill
    Signed-off-by: Arnd Bergmann

    Benjamin Krill
     

02 Dec, 2008

2 commits

  • Fix module removal bugs of i82875p_edac. Also i82975x_edac code seems to
    have the same module removal bugs as in i82875p_edac.

    The problems were:

    1. In module removal i82875p_remove_one() is never called.

    Variable i82875p_registered is newer changed from 1, which
    guarantees i82875p_remove_one() is not called (and even if it were
    called, it would be called in wrong order).

    As a result, the edac_mc workque is not stopped and keeps probing.
    If kernel debugging options are not enabled, user may not notice
    anything going wrong.

    if debugging options are enabled and I do "rmmod i82875p_edac", I
    get:

    edac debug: edac_pci_workq_function() checking
    BUG: unable to handle kernel paging request at f882d16f
    ...
    call trace:
    [] ? edac_mc_workq_function+0x55/0x7e [edac_core]
    [] ? run_workqueue+0xd7/0x1a5
    [] ? run_workqueue+0x92/0x1a5
    [] ? edac_mc_workq_function+0x0/0x7e [edac_core]
    [] ? worker_thread+0xb7/0xc3
    [] ? autoremove_wake_function+0x0/0x33
    [] ? worker_thread+0x0/0xc3
    [] ? kthread+0x3b/0x61
    [] ? kthread+0x0/0x61
    [] ? kernel_thread_helper+0x7/0x10

    Fix for this is to get rid of needles variable i82875p_registered
    altogether and run i82875p_remove_one() *before*
    pci_unregister_driver().

    2. edac_mc_del_mc() uses mci after freeing mci

    edac_mc_del_mc() calls calls edac_remove_sysfs_mci_device(). The
    kobject refcount of mci drops to 0 and mci is freed. After this
    mci is accessed via debug print and i82875p_remove_one() still
    uses mci->pvt and tries to free mci again with edac_mc_free().

    The fix for this is add kobject_get(&mci->edac_mci_kobj) after
    edac_mc_alloc(). Then the mci is still available after returning
    from edac_mc_del_mc() with refcount 1, and mci->pvt is still
    available. When i82875p_remove_one() finally calls edac_mc_free(),
    this will cause kobject_put() and mci is released properly.

    Signed-off-by: Jarkko Lavinen
    Cc: Doug Thompson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jarkko Lavinen
     
  • When I do "modprobe i82875p_edac" on my Asus P4C800 MB on kernels 2.6.26
    or later, the module load fails due to BAR 0 collision. On 2.6.25 the
    module loads just fine.

    The overflow device on the MB seems to be hidden and its resources are not
    allocated at normal PCI bus init. Log shows the missing resource problem:

    EDAC DEBUG: i82875p_probe1()
    PCI: 0000:00:06.0 reg 10 32bit mmio: [fecf0000, fecf0fff]
    pci 0000:00:06.0: device not available because of BAR 0
    [0xfecf0000-0xfecf0fff] collisions
    EDAC i82875p: i82875p_setup_overfl_dev(): Failed to enable overflow
    device

    The patch below fixes this by calling pci_bus_assign_resources() after
    the overflow device is revealed and added to the bus. With this patch
    I am again able to load and use the module.

    Signed-off-by: Jarkko Lavinen
    Cc: Doug Thompson
    Cc: Jesse Barnes
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jarkko Lavinen
     

13 Nov, 2008

1 commit

  • It turns out that edac_mc_del_mc will kobject_put the last kref on the
    mci object.

    If the timing is just right, that means that the mci object is freed
    before before i5000_remove_one has a chance to free the resources
    associated with it, causing a null pointer exceptions when unloading the
    driver. Insert a kobject_{get,put} pair so that this doesn't happen.

    Signed-off-by: Darrick J. Wong
    Cc: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Darrick J. Wong
     

31 Oct, 2008

2 commits

  • The edac driver on cell turned out to be not enabled because of a missing
    op_state. This patch introduces it. Verified to work on top of Ben's
    next branch.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Jens Osterkamp
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • I wrote a new module for Intel X38 chipset. This chipset is very similar
    to Intel 3200 chipset, but there are some different points, so I copyed
    i3200_edac.c and modified.

    This is Intel's web page describing this chipset.
    http://www.intel.com/Products/Desktop/Chipsets/X38/X38-overview.htm

    I've tested this new module with broken memory, and it seems to be working
    well.

    Signed-off-by: Hitoshi Mitake
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hitoshi Mitake
     

20 Oct, 2008

1 commit

  • The cell_edac driver is setting the edac_mode field of the csrow's to an
    incorrect value, causing the sysfs show routine for that field to go out
    of an array bound and Oopsing the kernel when used.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Doug Thompson
    Cc: [2.6.27.x, 2.6.26.x. 2.6.25.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

17 Oct, 2008

4 commits

  • Make the Thermal messages (temperature got past Tmid) be displayed only
    once because:

    1) it's the BIOS job to configure and handle the memory throttling
    2) if the BIOS is broken or is aware about the condition, flooding the
    system logs won't help anything.
    3) According to the specification update for Intel 5000 MCHs, all the
    revisions of this MCH have problems on the thermal sensors, making
    not automatic (a.k.a. intelligent thermal throttling) impossible.

    Signed-off-by: Aristeu Rozanski
    Signed-off-by: Doug Thompson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aristeu Rozanski
     
  • Update the i5000_edac messages, making everything pass through the EDAC
    (so the log controls will work) and being more specific about the errors.
    Also, it makes the miscellaneous errors optional and disabled by default.

    As I didn't found anywhere information about M23ERR-M26ERR
    (FERR_NF_THERMAL) on FERR_NF_FBD, I'm removing them.

    Signed-off-by: Aristeu Rozanski
    Signed-off-by: Doug Thompson
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Aristeu Rozanski
     
  • This adds support for the dual-core MPC8572 processor. We have
    to support making SPR changes on each core. Also, since we can
    have multiple memory controllers sharing an interrupt, flag the
    interrupts with IRQF_SHARED.

    Signed-off-by: Andrew Kilkenny
    Signed-off-by: Nate Case
    Acked-by: Dave Jiang
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Kilkenny
     
  • Fix 443BX/GX MCH suppport in a EDAC.

    It makes i82443bxgx_edac coexist with intel_agp using the same approach as
    several other EDAC drivers.

    Tested on Intel's L443GX with redhat's 2.6.18 with whole EDAC subsystem
    backported a while ago.

    [root@host ~]# dmesg|grep -iE '(AGP|EDAC)'
    Linux agpgart interface v0.101 (c) Dave Jones
    agpgart: Detected an Intel 440GX Chipset.
    agpgart: AGP aperture is 64M @ 0xf8000000
    EDAC MC: Ver: 2.1.0 Jun 27 2008
    EDAC MC0: Giving out device to 'i82443bxgx_edac' 'I82443BXGX': DEV 0000:00:00.0
    EDAC PCI0: Giving out device to module 'i82443bxgx_edac' controller 'EDAC PCI controller': DEV '0000:00:00.0' (POLLED)

    Signed-off-by: Vladislav Bogdanov
    Cc: Doug Thompson
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladislav Bogdanov
     

24 Aug, 2008

1 commit


26 Jul, 2008

14 commits

  • Convert PCI err device from platform to open firmware of_dev to comply
    with powerpc schemes.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Dave Jiang
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jiang
     
  • Fixup of missing bit 0 on 64360 PCIx_ERR_MASK and errata FEr-#11 and
    FEr-#16 for the 64460. Bit 0 must remain 0.

    Signed-off-by: Dave Jiang
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jiang
     
  • Update get_property() call to use of_get_property() in order to fix compile

    Signed-off-by: Dave Jiang
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jiang
     
  • This module harvests more than just memory errors, it also harvests
    various bus and dma errors that the Chipset detects. Previously, it would
    report all such errors, which would cause output to be TOO loud.

    This patches therefore adds a parameter which is used to turn off
    NON-MEMORY error reports by default. Or the reporting can be enabled via
    the parameter

    Also did code style cleanup: less than 80 characters per line rule

    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Thompson
     
  • The channel DIMM label does not seem to be used much in the edac code.
    However, where it is used (in the core code), it is assumed to not have a
    newline embedded. This leaves the sysfs file newline free which looks
    funny when cat'ing it. Here we just add the trailing newline to the sysfs
    chX_dimm_label output...

    [Doug Thompson note: the DIMM label is one of the primary uses of EDAC.
    User space daemon scripts, edac-utils@sourceforge, populate the DIMM label
    fields, via /sys/devices/system/edac attributes, with the silk screen
    labels of the motherboard in use. dmidecode access BIOS tables, but BIOS
    tables are well known to be incorrect and useless in these respects.
    edac-utils will strip off any newlines before its use of the output, when
    displaying DIMM slot silk screen labels.

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • Static kobjects and ksets are not supported in Linux kernel. Convert the
    mc_kset from static to dynamic. This patch depends on my previous patch
    to remove the module parameter attributes from mc...

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • /sys/devices/system/edac/mc has a few files which are duplicated in
    /sys/module/edac_core/parameters. Now that all the functionality is
    duplicated between these two locations, we remove the former kobject
    attributes and update the documentation.

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • When updating the edac_mc_poll_msec module parameter from the sysfs
    /sys/module/edac_core/parameters/edac_mc_poll_msec file, we don't update
    the workq timers. So that, if we move from a big poll time to a small
    one, the small one won't take effect until the big one has timed out.

    Here we provide a new module parameter set method to call out to the
    update routine. This brings the /sys/module/edac_core/parameters
    functionality up to that provided by the /sys/drivers/system/edac/mc sysfs
    module parameter files so that we can remove them or at least link to the
    /sys/module files...

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • Static kobjects are not supported in linux kernel. Convert the
    edac_pci_top_main_kobj from static to dynamic. This avoids the double
    free of the edac_pci_top_main_kobj.name that we see on module reload of
    the e752x edac driver (and probably others as well).

    In addition Greg KH has pointed out that this code may be
    cleaned up significantly. I will look at that as a follow-on patch, for
    now, I just want the minimum fix to get this double-free oops bug
    squashed...

    Many thanks to Greg KH for his patience in showing me what the
    Documentation/kobject.txt already said (oops)...

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • Some code cleanliness issues found by Andrew Morton (thanks!) which should
    not affect functionality, but which should help make the code more
    maintainable.

    In particular, we now:

    * convert all #define's w/ a parameter to static inlines
    * use 1UL rather than 1ULL when calculating an unsigned long
    * use pci_disable_device

    The resulting code is tested and seems to work fine...

    Signed-off-by: Arthur Jones
    Cc: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • Explicitly unmask ECC errors we are interested in reporting.

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • It is possible that the BIOS did not enable ECC at boot time. We check
    for that case and fail to load if it is true.

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • The error mask we use to trigger ECC notifications is missing many bits of
    interest. We add these bits here so that all possible ECC errors can be
    reported.

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     
  • Preliminary support for the Intel 5100 MCH. CE and UE errors are reported
    along with the current DIMM label information and other memory parameters.

    Reasons why this is preliminary:

    1) This chip has 2 independent memory controllers which, for best
    perforance, use interleaved accesses to the DDR2 memory. This
    architecture does not map very well to the current edac data structures
    which depend on symmetric channel access to the interleaved data.
    Without core changes, the best I could do for now is to map both memory
    controllers to different csrows (first all ranks of controller 0, then
    all ranks of controller 1). Someone much more familiar with the edac
    core than I will probably need to come up with a more general data
    structure to handle the interleaving and de-interleaving of the two
    memory controllers.

    2) I have not yet tackled the de-interleaving of the rank/controller
    address space into the physical address space of the CPU. There is
    nothing fundamentally missing, it is just ending up to be a lot of
    code, and I'd rather keep it separate for now, esp since it doesn't
    work yet...

    3) The code depends on a particular i5100 chip select to DIMM mainboard
    chip select mapping. This mapping seems obvious to me in order to
    support dual and single ranked memory, but it is not unique and DIMM
    labels could be wrong on other mainboards. There is no way to query
    this mapping that I know of.

    4) The code requires that the i5100 is in 32GB mode. Only 4 ranks per
    controller, 2 ranks per DIMM are supported. I do not have hardware
    (nor do I expect to have hardware anytime soon) for the 48GB (6 ranks
    per controller) mode.

    5) The serial presence detect code should be broken out into a "real"
    i2c driver so that decode-dimms.pl can work.

    Signed-off-by: Arthur Jones
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arthur Jones
     

22 Jul, 2008

1 commit


25 May, 2008

1 commit

  • including of causes build problems since it doesn't exist.

    Also removed warning:
    drivers/edac/mpc85xx_edac.c:45: warning: 'mpc85xx_ctl_name' defined but not used

    Signed-off-by: Kumar Gala
    Acked-by: Doug Thompson
    Acked-by: Dave Jiang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     

06 May, 2008

1 commit

  • Commit 06916639e2fed9ee475efef2747a1b7429f8fe76 ("driver-core: add
    dev_name() to help transition away from using bus_id") added a static
    inline dev_name() and used it in dev_printk.

    Unfortunately, drivers/edac/edac_core.h defines a macro called
    dev_name(). Rename the latter.

    Diagnosis by Tony Breeds and Michael Ellerman.

    Signed-off-by: Stephen Rothwell
    Acked-by: Doug Thompson
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     

30 Apr, 2008

1 commit

  • Commit c3c52bce6993c6d37af2c2de9b482a7013d646a7 ("edac: fix module
    initialization on several modules 2nd time") added a call to opstate_init
    but did not include linux/edac.h that declares it.

    Signed-off-by: Stephen Rothwell
    Acked-by: Olof Johansson
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     

29 Apr, 2008

5 commits

  • I implemented opstate_init() as a inline function in linux/edac.h.

    added calling opstate_init() to:
    i82443bxgx_edac.c
    i82860_edac.c
    i82875p_edac.c
    i82975x_edac.c

    I wrote a fixed patch of
    edac-fix-module-initialization-on-several-modules.patch,
    and tested building 2.6.25-rc7 with applying this. It was succeed.
    I think the patch is now correct.

    Cc: Alan Cox
    Signed-off-by: Hitoshi Mitake
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hitoshi Mitake
     
  • Collection of patches, merged into one, from Adrian that do the following:

    1) This patch makes the following needlessly global functions static:
    - edac_pci_get_log_pe()
    - edac_pci_get_log_npe()
    - edac_pci_get_panic_on_pe()
    - edac_pci_unregister_sysfs_instance_kobj()
    - edac_pci_main_kobj_setup()

    2) Remove unneeded function edac_device_find()

    3) Added #if 0 around function edac_pci_find()

    4) make the needlessly global edac_pci_generic_check() static

    5) Removed function edac_check_mc_devices()

    Doug Thompson modified Adrian's patches, to bettern represent
    the direction of EDAC, and make them one patch.

    Cc: Alan Cox
    Signed-off-by: Adrian Bunk
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Signed-off-by: Robert P. J. Day
    Acked-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Add a module parameter "sysbus_parity" to allow forcing system bus parity
    error checking on or off. Also add support to automatically disable system
    bus parity errors for processors which do not support it.

    If the sysbus_parity parameter is specified, sysbus parity detection will be
    forced on or off. If it is not specified, the driver will attempt to look at
    the CPU identifier string and determine if the CPU supports system bus parity.
    A blacklist was used instead of a whitelist so that system bus parity would
    be enabled by default and to minimize the chances of breaking things for those
    people already using the driver which for some reason have a processor that
    does not have a valid CPU identifier string.

    [akpm@linux-foundation.org: coding-style fixes]
    Cc: Alan Cox
    Signed-off-by: Peter Tyser
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Tyser
     
  • Add Intel 3100 chipset support to e752x EDAC driver.

    Cc: Alan Cox
    Signed-off-by: Andrei Konovalov
    Signed-off-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrei Konovalov
     

08 Feb, 2008

3 commits