Home
last modified time | relevance | path

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

12345

/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 …]
H A Dsysfs-edac-scrub1 What: /sys/bus/edac/devices/<dev-name>/scrubX
4 Contact: linux-edac@vger.kernel.org
6 The sysfs EDAC bus devices /<dev-name>/scrubX subdirectory
9 region registered with the EDAC device driver for the
14 function and provided the necessary operations to the EDAC
17 What: /sys/bus/edac/devices/<dev-name>/scrubX/addr
20 Contact: linux-edac@vger.kernel.org
29 What: /sys/bus/edac/devices/<dev-name>/scrubX/size
32 Contact: linux-edac@vger.kernel.org
37 What: /sys/bus/edac/devices/<dev-name>/scrubX/enable_background
[all …]
/linux/drivers/edac/
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>
77 /*********************** EDAC Memory Controller Functions ****************/
79 /* 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},
451 "EDAC Probe Failed; Error %d\n", res); in altr_sdram_probe()
466 * If you want to suspend, need to disable EDAC by removing it
472 pr_err("Suspend not allowed when EDAC is enabled.\n"); in altr_sdram_prepare()
498 /************************* EDAC Parent Probe *************************/
524 /************************* 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.
26 #include <linux/edac.h>
55 /* pointer to edac polling checking routine:
65 const char *ctl_name; /* edac controller name */
72 /* sysfs top name under 'edac' directory
81 /* Event counters for the this whole EDAC Device */
84 /* edac sysfs device control for the 'name'
128 * edac local routine to do pci_write_config_dword, but adds
164 * 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.
26 #include <linux/edac.h>
38 * registering EDAC type devices which are NOT standard memory.
45 * other EDAC/ECC type devices that can be monitored for
55 * /sys/devices/system/edac/..
118 /* edac sysfs device control */
132 /* edac sysfs device control */
168 /* pointer to main 'edac' subsys in sysfs */
176 /* pointer to edac polling checking routine:
[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()
376 { .compatible = "aspeed,ast2400-sdram-edac" },
377 { .compatible = "aspeed,ast2500-sdram-edac" },
[all …]
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
530 .name = "npcm-edac",
541 MODULE_DESCRIPTION("Nuvoton NPCM EDAC Driver");
H A Dsifive_edac.c3 * SiFive Platform EDAC Driver
10 #include <linux/edac.h>
23 * EDAC error callback
65 dev_err(p->dci->dev, "failed to register with EDAC core\n"); in ecc_register()
117 MODULE_DESCRIPTION("SiFive platform 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 …]
H A Dedac_module.h20 * INTERNAL EDAC MODULE:
21 * EDAC memory controller sysfs create/remove functions
48 /* edac core workqueue: single CPU mode */
60 * EDAC debugfs functions
100 * EDAC PCI functions
H A Da72_edac.c3 * Cortex A72 EDAC L1 and L2 cache error detection
20 #define DRVNAME "a72-edac"
194 of_property_read_bool(np, "edac-enabled")) { in a72_edac_driver_init()
207 pr_err("failed to register A72 EDAC device\n"); in a72_edac_driver_init()
225 MODULE_DESCRIPTION("Cortex A72 L1 and L2 cache EDAC driver");
H A Dzynqmp_edac.c8 #include <linux/edac.h>
152 * @dci: Pointer to the EDAC device instance
225 * @priv: Pointer to the EDAC private struct
246 * echo <fault_count val> > /sys/kernel/debug/edac/ocm/inject_fault_count
248 * echo <bit_pos val> > /sys/kernel/debug/edac/ocm/inject_ce_bitpos
290 * echo <fault_count val> > /sys/kernel/debug/edac/ocm/inject_fault_count
292 * echo <bit_pos0 val>,<bit_pos1 val> > /sys/kernel/debug/edac/ocm/inject_ue_bitpos
454 .name = "zynqmp-ocm-edac",
H A Dedac_device_sysfs.c2 * file for managing the edac_device subsystem of devices for EDAC
16 #include <linux/edac.h>
184 * the reference count for the EDAC 'core' module is
194 * is called which then decrements the EDAC 'core' module.
208 /* decrement the EDAC CORE module ref count */ in edac_device_ctrl_master_release()
237 /* get the /sys/devices/system/edac reference */ in edac_device_register_sysfs_main_kobj()
262 edac_dbg(1, "Failed to register '.../edac/%s'\n", in edac_device_register_sysfs_main_kobj()
272 edac_dbg(4, "Registered '.../edac/%s' kobject\n", edac_dev->name); in edac_device_register_sysfs_main_kobj()
287 * the '..../edac/<name>' kobject
295 * Unregister the edac device's kobject and in edac_device_unregister_sysfs_main_kobj()
[all …]
H A Dbluefield_edac.c3 * Bluefield-specific EDAC driver.
11 #include <linux/edac.h>
18 #define DRIVER_NAME "bluefield-edac"
171 * and report it to the edac handler.
447 /* Register with EDAC core */ in bluefield_edac_mc_probe()
450 dev_err(dev, "failed to register with EDAC core\n"); in bluefield_edac_mc_probe()
492 MODULE_DESCRIPTION("Mellanox BlueField memory edac driver");
H A Dmpc85xx_edac.c20 #include <linux/edac.h>
23 #include <linux/fsl/edac.h>
260 "[EDAC] PCI err", pci); in mpc85xx_pci_err_probe()
280 * PEX_CONFIG_ADDR/PEX_CONFIG_DATA, edac driver prints the much in mpc85xx_pci_err_probe()
319 .name = "mpc85xx-pci-edac"
561 "[EDAC] L2 err", edac_dev); in mpc85xx_l2_err_probe()
679 pr_info("Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista Software\n"); in mpc85xx_mc_init()
707 MODULE_DESCRIPTION("Freescale MPC85xx Memory Controller EDAC driver");
711 MODULE_PARM_DESC(edac_op_state, "EDAC Error Reporting state: 0=Poll, 2=Interrupt");
/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 …]
/linux/drivers/cxl/
H A DKconfig118 bool "CXL: EDAC Memory Features"
122 depends on EDAC >= CXL_BUS
124 The CXL EDAC memory feature is optional and allows host to
125 control the EDAC memory features configurations of CXL memory
137 The CXL EDAC scrub control is optional and allows host to
141 When enabled 'cxl_mem' and 'cxl_region' EDAC devices are
143 Documentation/ABI/testing/sysfs-edac-scrub.
155 The CXL EDAC ECS control is optional and allows host to
159 When enabled 'cxl_mem' EDAC devices are published with memory
161 Documentation/ABI/testing/sysfs-edac-ecs.
[all …]
/linux/Documentation/devicetree/bindings/edac/
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";
/linux/Documentation/firmware-guide/acpi/apei/
H A Deinj.rst232 [22715.830801] EDAC sbridge MC3: HANDLING MCE MEMORY ERROR
233 [22715.834759] EDAC sbridge MC3: CPU 0: Machine Check Event: 0 Bank 7: 8c00004000010090
234 [22715.834759] EDAC sbridge MC3: TSC 0
235 [22715.834759] EDAC sbridge MC3: ADDR 12345000 EDAC sbridge MC3: MISC 144780c86
236 [22715.834759] EDAC sbridge MC3: PROCESSOR 0:306e7 TIME 1422553404 SOCKET 0 APIC 0
237 …[22716.616173] EDAC MC3: 1 CE memory read error on CPU_SrcID#0_Channel#0_DIMM#0 (channel:0 slot:0 …
/linux/Documentation/edac/
H A Dscrub.rst59 A generic memory EDAC scrub control allows users to manage underlying
188 supported in EDAC.
248 | EDAC control | | | | |
258 /sys/bus/edac/devices/<dev-name>/scrubX/
264 `Documentation/ABI/testing/sysfs-edac-scrub`
266 `Documentation/ABI/testing/sysfs-edac-ecs`
297 `Documentation/ABI/testing/sysfs-edac-scrub`
327 `Documentation/ABI/testing/sysfs-edac-scrub`
342 `Documentation/ABI/testing/sysfs-edac-ecs`
H A Dmemory_repair.rst4 EDAC Memory Repair Control
115 accessed in the /sys/bus/edac/devices/<dev-name>/mem_repairX/
121 `Documentation/ABI/testing/sysfs-edac-memory-repair`.
152 `Documentation/ABI/testing/sysfs-edac-memory-repair`

12345