Lines Matching full:generic

3  * APEI Generic Hardware Error Source support
5 * Generic Hardware Error Source provides a way to report platform
13 * For more information about Generic Hardware Error Source, please
99 return ghes->generic->header.type == ACPI_HEST_TYPE_GENERIC_ERROR_V2; in is_hest_type_generic_v2()
223 static struct ghes *ghes_new(struct acpi_hest_generic *generic) in ghes_new() argument
233 ghes->generic = generic; in ghes_new()
240 rc = apei_map_generic_address(&generic->error_status_address); in ghes_new()
243 error_block_length = generic->error_block_length; in ghes_new()
247 "generic hardware error source: %d.\n", in ghes_new()
248 error_block_length, generic->header.source_id); in ghes_new()
260 apei_unmap_generic_address(&generic->error_status_address); in ghes_new()
272 apei_unmap_generic_address(&ghes->generic->error_status_address); in ghes_fini()
329 if (len > ghes->generic->error_block_length) { in __ghes_check_estatus()
347 struct acpi_hest_generic *g = ghes->generic; in __ghes_peek_estatus()
461 "Invalid address in generic error data: %#llx\n", in ghes_handle_memory_failure()
625 const struct acpi_hest_generic *generic, in __ghes_print_estatus() argument
641 printk("%s""Hardware error from APEI Generic Hardware Error Source: %d\n", in __ghes_print_estatus()
642 pfx_seq, generic->header.source_id); in __ghes_print_estatus()
647 const struct acpi_hest_generic *generic, in ghes_print_estatus() argument
660 __ghes_print_estatus(pfx, generic, estatus); in ghes_print_estatus()
700 struct acpi_hest_generic *generic, in ghes_estatus_cache_alloc() argument
724 cache->generic = generic; in ghes_estatus_cache_alloc()
748 struct acpi_hest_generic *generic, in ghes_estatus_cache_add() argument
755 new_cache = ghes_estatus_cache_alloc(generic, estatus); in ghes_estatus_cache_add()
797 __ghes_print_estatus(KERN_EMERG, ghes->generic, estatus); in __ghes_panic()
821 if (ghes_print_estatus(NULL, ghes->generic, estatus)) in ghes_proc()
822 ghes_estatus_cache_add(ghes->generic, estatus); in ghes_proc()
834 struct acpi_hest_generic *g = ghes->generic; in ghes_add_timer()
838 pr_warn(FW_WARN GHES_PFX "Poll interval is 0 for generic hardware error source: %d, disabled.\n", in ghes_add_timer()
915 struct acpi_hest_generic *generic; in ghes_proc_in_irq() local
936 generic = estatus_node->generic; in ghes_proc_in_irq()
937 if (ghes_print_estatus(NULL, generic, estatus)) in ghes_proc_in_irq()
938 ghes_estatus_cache_add(generic, estatus); in ghes_proc_in_irq()
962 struct acpi_hest_generic *generic; in ghes_print_queued_estatus() local
975 generic = estatus_node->generic; in ghes_print_queued_estatus()
976 ghes_print_estatus(NULL, generic, estatus); in ghes_print_queued_estatus()
1012 estatus_node->generic = ghes->generic; in ghes_in_nmi_queue_one_entry()
1219 struct acpi_hest_generic *generic; in ghes_probe() local
1225 generic = *(struct acpi_hest_generic **)ghes_dev->dev.platform_data; in ghes_probe()
1226 if (!generic->enabled) in ghes_probe()
1229 switch (generic->notify.type) { in ghes_probe()
1239 pr_warn(GHES_PFX "Generic hardware error source: %d notified via SEA is not supported\n", in ghes_probe()
1240 generic->header.source_id); in ghes_probe()
1247 …pr_warn(GHES_PFX "Generic hardware error source: %d notified via NMI interrupt is not supported!\n… in ghes_probe()
1248 generic->header.source_id); in ghes_probe()
1254 …pr_warn(GHES_PFX "Generic hardware error source: %d notified via SDE Interface is not supported!\n… in ghes_probe()
1255 generic->header.source_id); in ghes_probe()
1260 …pr_warn(GHES_PFX "Generic hardware error source: %d notified via local interrupt is not supported!… in ghes_probe()
1261 generic->header.source_id); in ghes_probe()
1264 pr_warn(FW_WARN GHES_PFX "Unknown notification type: %u for generic hardware error source: %d\n", in ghes_probe()
1265 generic->notify.type, generic->header.source_id); in ghes_probe()
1270 if (generic->error_block_length < in ghes_probe()
1272 pr_warn(FW_BUG GHES_PFX "Invalid error block length: %u for generic hardware error source: %d\n", in ghes_probe()
1273 generic->error_block_length, generic->header.source_id); in ghes_probe()
1276 ghes = ghes_new(generic); in ghes_probe()
1283 switch (generic->notify.type) { in ghes_probe()
1290 rc = acpi_gsi_to_irq(generic->notify.vector, &ghes->irq); in ghes_probe()
1292 pr_err(GHES_PFX "Failed to map GSI to IRQ for generic hardware error source: %d\n", in ghes_probe()
1293 generic->header.source_id); in ghes_probe()
1299 pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n", in ghes_probe()
1300 generic->header.source_id); in ghes_probe()
1353 struct acpi_hest_generic *generic; in ghes_remove() local
1356 generic = ghes->generic; in ghes_remove()
1359 switch (generic->notify.type) { in ghes_remove()