Home
last modified time | relevance | path

Searched full:edac (Results 1 – 25 of 137) sorted by relevance

123456

/openbmc/openbmc/meta-openembedded/meta-oe/recipes-bsp/edac-utils/files/
H A Dmake-init-script-be-able-to-automatically-load-EDAC-.patch1 make init script be able to automatically load EDAC module.
7 src/etc/edac.init.in | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
10 diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in
12 --- a/src/etc/edac.init.in
13 +++ b/src/etc/edac.init.in
23 # Assume that if EDAC_DRIVER is not set, then EDAC is configured
26 + if [ ! -f /etc/edac/edac-driver ]; then
27 + [ -d /sys/bus/edac/devices/mc/mc0 ] && \
28 + echo `lsmod | grep _edac | cut -d" " -f1` > /etc/edac/edac-driver
31 + [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver`
[all …]
H A Dadd-restart-to-initscript.patch4 Subject: [PATCH] edac: add restart to initscript
10 src/etc/edac.init.in | 6 +++++-
13 diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in
15 --- a/src/etc/edac.init.in
16 +++ b/src/etc/edac.init.in
/openbmc/linux/Documentation/ABI/testing/
H A Dsysfs-devices-edac1 What: /sys/devices/system/edac/mc/mc*/reset_counters
3 Contact: linux-edac@vger.kernel.org
12 What: /sys/devices/system/edac/mc/mc*/seconds_since_reset
14 Contact: linux-edac@vger.kernel.org
19 What: /sys/devices/system/edac/mc/mc*/mc_name
21 Contact: linux-edac@vger.kernel.org
25 What: /sys/devices/system/edac/mc/mc*/size_mb
27 Contact: linux-edac@vger.kernel.org
31 What: /sys/devices/system/edac/mc/mc*/ue_count
33 Contact: linux-edac@vger.kernel.org
[all …]
/openbmc/linux/drivers/edac/
H A Dxgene_edac.c3 * APM X-Gene SoC EDAC (error detection and correction)
11 #include <linux/edac.h>
66 static void xgene_edac_pcp_rd(struct xgene_edac *edac, u32 reg, u32 *val) in xgene_edac_pcp_rd() argument
68 *val = readl(edac->pcp_csr + reg); in xgene_edac_pcp_rd()
71 static void xgene_edac_pcp_clrbits(struct xgene_edac *edac, u32 reg, in xgene_edac_pcp_clrbits() argument
76 spin_lock(&edac->lock); in xgene_edac_pcp_clrbits()
77 val = readl(edac->pcp_csr + reg); in xgene_edac_pcp_clrbits()
79 writel(val, edac->pcp_csr + reg); in xgene_edac_pcp_clrbits()
80 spin_unlock(&edac->lock); in xgene_edac_pcp_clrbits()
83 static void xgene_edac_pcp_setbits(struct xgene_edac *edac, u32 reg, in xgene_edac_pcp_setbits() argument
[all …]
H A Dti_edac.c21 #include <linux/edac.h>
71 #define EDAC_MOD_NAME "ti-emif-edac"
82 static u32 ti_edac_readl(struct ti_edac *edac, u16 offset) in ti_edac_readl() argument
84 return readl_relaxed(edac->reg + offset); in ti_edac_readl()
87 static void ti_edac_writel(struct ti_edac *edac, u32 val, u16 offset) in ti_edac_writel() argument
89 writel_relaxed(val, edac->reg + offset); in ti_edac_writel()
95 struct ti_edac *edac = mci->pvt_info; in ti_edac_isr() local
100 irq_status = ti_edac_readl(edac, EMIF_IRQ_STATUS); in ti_edac_isr()
103 err_addr = ti_edac_readl(edac, EMIF_1B_ECC_ERR_ADDR_LOG); in ti_edac_isr()
104 err_count = ti_edac_readl(edac, EMIF_1B_ECC_ERR_CNT); in ti_edac_isr()
[all …]
H A Daltera_edac.c11 #include <linux/edac.h>
76 /*********************** EDAC Memory Controller Functions ****************/
78 /* The SDRAM controller uses the EDAC Memory Controller framework. */
225 { .compatible = "altr,sdram-edac", .data = &c5_data},
226 { .compatible = "altr,sdram-edac-a10", .data = &a10_data},
457 "EDAC Probe Failed; Error %d\n", res); in altr_sdram_probe()
474 * If you want to suspend, need to disable EDAC by removing it
480 pr_err("Suspend not allowed when EDAC is enabled.\n"); in altr_sdram_prepare()
506 /************************* EDAC Parent Probe *************************/
532 /************************* EDAC Device Functions *************************/
[all …]
H A DKconfig2 # EDAC Kconfig
12 menuconfig EDAC config
13 tristate "EDAC (Error Detection And Correction) reporting"
16 EDAC is a subsystem along with hardware-specific drivers designed to
22 The mailing list for the EDAC project is linux-edac@vger.kernel.org.
24 if EDAC
27 bool "EDAC legacy sysfs"
31 Use 'Y' if your edac utilities aren't ported to work with the newer
38 This turns on debugging information for the entire EDAC subsystem.
56 tristate "Output ACPI APEI/GHES BIOS detected errors via EDAC"
[all …]
H A Dedac_module.c13 #include <linux/edac.h>
44 MODULE_PARM_DESC(edac_debug_level, "EDAC debug level: [0-4], default: 2");
67 * sysfs object: /sys/devices/system/edac
71 .name = "edac",
72 .dev_name = "edac",
79 /* create the /sys/devices/system/edac directory */ in edac_subsys_init()
82 printk(KERN_ERR "Error registering toplevel EDAC sysfs dir\n"); in edac_subsys_init()
92 /* return pointer to the 'edac' node in sysfs */
168 MODULE_DESCRIPTION("Core library routines for EDAC reporting");
H A Dedac_pci.h18 * Please look at Documentation/driver-api/edac.rst for more info about
19 * EDAC core structs and functions.
27 #include <linux/edac.h>
58 /* pointer to edac polling checking routine:
68 const char *ctl_name; /* edac controller name */
77 /* sysfs top name under 'edac' directory
86 /* Event counters for the this whole EDAC Device */
89 /* edac sysfs device control for the 'name'
133 * edac local routine to do pci_write_config_dword, but adds
169 * edac_pci it is going to control/register with the EDAC CORE.
[all …]
H A Dedac_device.h18 * Please look at Documentation/driver-api/edac.rst for more info about
19 * EDAC core structs and functions.
27 #include <linux/edac.h>
39 * registering EDAC type devices which are NOT standard memory.
46 * other EDAC/ECC type devices that can be monitored for
56 * /sys/devices/system/edac/..
128 /* edac sysfs device control */
142 /* edac sysfs device control */
178 /* pointer to main 'edac' subsys in sysfs */
186 /* pointer to edac polling checking routine:
[all …]
H A Dppc4xx_edac.c7 #include <linux/edac.h>
97 * EDAC subsystem:
117 * Kernel logging without an EDAC instance
123 * Kernel logging with an EDAC instance
282 * @mci: A pointer to the EDAC memory controller instance associated
344 * @mci: A pointer to the EDAC memory controller instance associated
402 * @mci: A pointer to the EDAC memory controller instance associated
467 * @mci: A pointer to the EDAC memory controller instance associated
523 * @mci: A pointer to the EDAC memory controller instance associated
568 * @mci: A pointer to the EDAC memory controller instance associated
[all …]
H A Dedac_mc.h18 * Please look at Documentation/driver-api/edac.rst for more info about
19 * EDAC core structs and functions.
38 #include <linux/edac.h>
49 printk(level "EDAC " prefix ": " fmt, ##arg)
52 printk(level "EDAC MC%d: " fmt, mci->mc_idx, ##arg)
55 printk(level "EDAC " prefix " MC%d: " fmt, mci->mc_idx, ##arg)
58 printk(level "EDAC DEVICE%d: " fmt, ctl->dev_idx, ##arg)
61 printk(level "EDAC PCI%d: " fmt, ctl->pci_idx, ##arg)
131 * edac_get_owner - Return the owner's mod_name of EDAC MC
134 * Pointer to mod_name string when EDAC MC is owned. NULL otherwise.
[all …]
H A Daspeed_edac.c6 #include <linux/edac.h>
18 #define DRV_NAME "aspeed-edac"
165 dev_dbg(mci->pdev, "received edac interrupt w/ mcr register 50: 0x%x\n", in mcr_isr()
194 dev_dbg(mci->pdev, "received edac interrupt, but did not find any ECC counters\n"); in mcr_isr()
197 dev_dbg(mci->pdev, "edac interrupt handled. mcr reg 50 is now: 0x%x\n", in mcr_isr()
306 /* allocate & init EDAC MC data structure */ in aspeed_probe()
336 /* register with edac core */ in aspeed_probe()
339 dev_err(&pdev->dev, "failed to register with EDAC core\n"); in aspeed_probe()
378 { .compatible = "aspeed,ast2400-sdram-edac" },
379 { .compatible = "aspeed,ast2500-sdram-edac" },
[all …]
H A Ddebugfs.c34 "FAKE ERROR", "for EDAC testing only"); in edac_fake_inject_write()
47 edac_debugfs = debugfs_create_dir("edac", NULL); in edac_debugfs_init()
82 /* Create a toplevel dir under EDAC's debugfs hierarchy */
92 /* Create a toplevel dir under EDAC's debugfs hierarchy with parent @parent */
101 * Create a file under EDAC's hierarchy or a sub-hierarchy:
105 * @parent: parent dentry. If NULL, it becomes the toplevel EDAC dir
H A Dsifive_edac.c3 * SiFive Platform EDAC Driver
10 #include <linux/edac.h>
23 * EDAC error callback
66 dev_err(p->dci->dev, "failed to register with EDAC core\n"); in ecc_register()
118 MODULE_DESCRIPTION("SiFive platform EDAC driver");
H A Dnpcm_edac.c11 #define EDAC_MOD_NAME "npcm-edac"
279 * ~# echo 0 > /sys/kernel/debug/edac/npcm-edac/error_type
280 * ~# echo 1 > /sys/kernel/debug/edac/npcm-edac/location
281 * ~# echo 7 > /sys/kernel/debug/edac/npcm-edac/bit
282 * ~# echo 1 > /sys/kernel/debug/edac/npcm-edac/force_ecc_error
285 * ~# echo 1 > /sys/kernel/debug/edac/npcm-edac/error_type
286 * ~# echo 1 > /sys/kernel/debug/edac/npcm-edac/force_ecc_error
532 .name = "npcm-edac",
543 MODULE_DESCRIPTION("Nuvoton NPCM EDAC Driver");
H A Dedac_pci_sysfs.c10 #include <linux/edac.h>
58 /**************************** EDAC PCI sysfs instance *******************/
155 * construct one EDAC PCI instance's kobject for use
196 * unregister the kobj for the EDAC PCI instance
210 /***************************** EDAC PCI sysfs root **********************/
313 * This kobj is the 'main' kobject that EDAC PCI instances
322 /* last reference to top EDAC PCI kobject has been removed, in edac_pci_release_main_kobj()
328 /* ktype struct for the EDAC PCI main kobj */
336 * edac_pci_main_kobj_setup: Setup the sysfs for EDAC PCI attributes.
357 * level main kobj for EDAC PCI in edac_pci_main_kobj_setup()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/edac/
H A Dapm-xgene-edac.txt1 * APM X-Gene SoC EDAC node
3 EDAC node is defined to describe on-chip error detection and correction.
11 The following section describes the EDAC DT node binding.
14 - compatible : Shall be "apm,xgene-edac".
28 - compatible : Shall be "apm,xgene-edac-mc".
34 - compatible : Shall be "apm,xgene-edac-pmd" or
35 "apm,xgene-edac-pmd-v2".
40 - compatible : Shall be "apm,xgene-edac-l3" or
41 "apm,xgene-edac-l3-v2".
42 - reg : First resource shall be the L3 EDAC resource.
[all …]
H A Damazon,al-mc-edac.yaml4 $id: http://devicetree.org/schemas/edac/amazon,al-mc-edac.yaml#
7 title: Amazon's Annapurna Labs Memory Controller EDAC
14 EDAC node is defined to describe on-chip error detection and correction for
20 const: amazon,al-mc-edac
57 edac@f0080000 {
60 compatible = "amazon,al-mc-edac";
H A Daspeed-sdram-edac.txt1 Aspeed BMC SoC EDAC node
15 - "aspeed,ast2400-sdram-edac"
16 - "aspeed,ast2500-sdram-edac"
17 - "aspeed,ast2600-sdram-edac"
24 edac: sdram@1e6e0000 {
25 compatible = "aspeed,ast2500-sdram-edac";
/openbmc/linux/Documentation/driver-api/
H A Dedac.rst1 Error Detection And Correction (EDAC) Devices
4 Main Concepts used at the EDAC subsystem
123 Most of the EDAC core is focused on doing Memory Controller error detection.
125 to describe the memory controllers, with is an opaque struct for the EDAC
126 drivers. Only the EDAC core is allowed to touch it.
128 .. kernel-doc:: include/linux/edac.h
130 .. kernel-doc:: drivers/edac/edac_mc.h
135 The EDAC subsystem provides a mechanism to handle PCI controllers by calling
139 .. kernel-doc:: drivers/edac/edac_pci.h
141 EDAC Blocks
[all …]
/openbmc/openbmc/meta-openembedded/meta-oe/recipes-bsp/edac-utils/
H A Dedac-utils_git.bb1 SUMMARY = "Userspace helper for Linux kernel EDAC drivers"
2 HOMEPAGE = "https://github.com/grondo/edac-utils"
3 DESCRIPTION = "EDAC (Error Detection and Correction) is a set of Linux kernel \
18 SRC_URI = "git://github.com/grondo/edac-utils;branch=master;protocol=https \
19 file://make-init-script-be-able-to-automatically-load-EDAC-.patch \
21 file://edac.service \
51 install -m 644 ${UNPACKDIR}/edac.service ${D}/${systemd_unitdir}/system
52 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}/${systemd_unitdir}/system/edac.service
55 SYSTEMD_SERVICE:${PN} = "edac.service"
/openbmc/linux/Documentation/admin-guide/
H A Dras.rst182 either by BIOS, by some special CPUs or by Linux EDAC driver. On x86 64
204 EDAC - Error Detection And Correction
215 Kernel 2.6.16, it was renamed to ``EDAC``.
220 The ``edac`` kernel module's goal is to detect and report hardware errors
242 A new feature for EDAC, the ``edac_device`` class of device, was added in
270 the EDAC PCI scanning code. If that attribute is set, PCI parity/error
282 EDAC is composed of a "core" module (``edac_core.ko``) and several Memory
295 If ``edac`` was statically linked with the kernel then no loading
296 is necessary. If ``edac`` was built as modules then simply modprobe
297 the ``edac`` pieces that you need. You should be able to modprobe
[all …]
/openbmc/linux/Documentation/devicetree/bindings/arm/altera/
H A Dsocfpga-sdram-edac.txt1 Altera SOCFPGA SDRAM Error Detection & Correction [EDAC]
2 The EDAC accesses a range of registers in the SDRAM controller.
5 - compatible : should contain "altr,sdram-edac" or "altr,sdram-edac-a10"
12 compatible = "altr,sdram-edac";
/openbmc/docs/designs/
H A Decc-dbus-sel.md35 service will be created to fetch the ECC count (ce_count/ue_count) from the EDAC
36 driver. And make sure the EDAC driver must be loaded and ECC/other correctable
37 or ECC/other uncorrectable counts need to be obtained from the EDAC driver.
46 Many ECC memory systems use an "external" EDAC between the CPU and the memory to
47 fix memory error. Most host integrate EDAC into the CPU's integrated memory
75 counts and uncorrectable ECC counts in the EDAC driver.
97 - correctable ECC log : when fetching the `ce_count` from EDAC driver parameter
99 - uncorrectable ECC log : when fetching the `ue_count` from EDAC driver

123456