Lines Matching +full:cpu +full:- +full:core
9 * written by Ralf Baechle <ralf@linux-mips.org>
34 * EDAC CPU cache error callback
36 * @event: non-zero if unrecoverable.
44 unsigned int core = cvmx_get_core_num(); in co_cache_error_event() local
45 unsigned int cpu = smp_processor_id(); in co_cache_error_event() local
50 dcache_err = cache_err_dcache[core]; in co_cache_error_event()
51 cache_err_dcache[core] = 0; in co_cache_error_event()
57 edac_device_printk(p->ed, KERN_ERR, in co_cache_error_event()
58 "CacheErr (Icache):%llx, core %d/cpu %d, cp0_errorepc == %lx\n", in co_cache_error_event()
59 (unsigned long long)icache_err, core, cpu, in co_cache_error_event()
62 edac_device_handle_ce(p->ed, cpu, 1, "icache"); in co_cache_error_event()
65 edac_device_printk(p->ed, KERN_ERR, in co_cache_error_event()
66 "CacheErr (Dcache):%llx, core %d/cpu %d, cp0_errorepc == %lx\n", in co_cache_error_event()
67 (unsigned long long)dcache_err, core, cpu, in co_cache_error_event()
70 edac_device_handle_ue(p->ed, cpu, 0, "dcache"); in co_cache_error_event()
72 edac_device_handle_ce(p->ed, cpu, 0, "dcache"); in co_cache_error_event()
86 struct co_cache_error *p = devm_kzalloc(&pdev->dev, sizeof(*p), in co_cache_error_probe()
89 return -ENOMEM; in co_cache_error_probe()
91 p->notifier.notifier_call = co_cache_error_event; in co_cache_error_probe()
94 p->ed = edac_device_alloc_ctl_info(0, "cpu", num_possible_cpus(), in co_cache_error_probe()
97 if (!p->ed) in co_cache_error_probe()
100 p->ed->dev = &pdev->dev; in co_cache_error_probe()
102 p->ed->dev_name = dev_name(&pdev->dev); in co_cache_error_probe()
104 p->ed->mod_name = "octeon-cpu"; in co_cache_error_probe()
105 p->ed->ctl_name = "cache"; in co_cache_error_probe()
107 if (edac_device_add_device(p->ed)) { in co_cache_error_probe()
112 register_co_cache_error_notifier(&p->notifier); in co_cache_error_probe()
117 edac_device_free_ctl_info(p->ed); in co_cache_error_probe()
119 return -ENXIO; in co_cache_error_probe()
126 unregister_co_cache_error_notifier(&p->notifier); in co_cache_error_remove()
127 edac_device_del_device(&pdev->dev); in co_cache_error_remove()
128 edac_device_free_ctl_info(p->ed); in co_cache_error_remove()
142 MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");