Lines Matching full:edac
21 #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()
105 ti_edac_writel(edac, err_count, EMIF_1B_ECC_ERR_CNT); in ti_edac_isr()
113 err_addr = ti_edac_readl(edac, EMIF_2B_ECC_ERR_ADDR_LOG); in ti_edac_isr()
125 ti_edac_writel(edac, irq_status, EMIF_IRQ_STATUS); in ti_edac_isr()
133 struct ti_edac *edac = mci->pvt_info; in ti_edac_setup_dimm() local
140 val = ti_edac_readl(edac, EMIF_SDRAM_CONFIG); in ti_edac_setup_dimm()
188 val = ti_edac_readl(edac, EMIF_ECC_CTRL); in ti_edac_setup_dimm()
239 struct ti_edac *edac; in ti_edac_probe() local
259 mci = edac_mc_alloc(emif_id, 1, layers, sizeof(*edac)); in ti_edac_probe()
264 edac = mci->pvt_info; in ti_edac_probe()
265 edac->reg = reg; in ti_edac_probe()
285 "emif-edac-irq", mci); in ti_edac_probe()
288 "request_irq fail for EMIF EDAC irq\n"); in ti_edac_probe()
300 ti_edac_writel(edac, 1 << EMIF_1B_ECC_ERR_THRSH_SHIFT, in ti_edac_probe()
304 ti_edac_writel(edac, in ti_edac_probe()
335 MODULE_DESCRIPTION("EDAC Driver for Texas Instruments DDR3 MC");