Lines Matching refs:estatus
251 ghes->estatus = kmalloc(error_block_length, GFP_KERNEL); in ghes_new()
252 if (!ghes->estatus) { in ghes_new()
271 kfree(ghes->estatus); in ghes_fini()
320 struct acpi_hest_generic_status *estatus) in __ghes_check_estatus() argument
322 u32 len = cper_estatus_len(estatus); in __ghes_check_estatus()
324 if (len < sizeof(*estatus)) { in __ghes_check_estatus()
334 if (cper_estatus_check_header(estatus)) { in __ghes_check_estatus()
344 struct acpi_hest_generic_status *estatus, in __ghes_peek_estatus() argument
361 ghes_copy_tofrom_phys(estatus, *buf_paddr, sizeof(*estatus), 1, in __ghes_peek_estatus()
363 if (!estatus->block_status) { in __ghes_peek_estatus()
371 static int __ghes_read_estatus(struct acpi_hest_generic_status *estatus, in __ghes_read_estatus() argument
375 ghes_copy_tofrom_phys(estatus, buf_paddr, buf_len, 1, fixmap_idx); in __ghes_read_estatus()
376 if (cper_estatus_check(estatus)) { in __ghes_read_estatus()
386 struct acpi_hest_generic_status *estatus, in ghes_read_estatus() argument
391 rc = __ghes_peek_estatus(ghes, estatus, buf_paddr, fixmap_idx); in ghes_read_estatus()
395 rc = __ghes_check_estatus(ghes, estatus); in ghes_read_estatus()
399 return __ghes_read_estatus(estatus, *buf_paddr, fixmap_idx, in ghes_read_estatus()
400 cper_estatus_len(estatus)); in ghes_read_estatus()
404 struct acpi_hest_generic_status *estatus, in ghes_clear_estatus() argument
407 estatus->block_status = 0; in ghes_clear_estatus()
412 ghes_copy_tofrom_phys(estatus, buf_paddr, in ghes_clear_estatus()
413 sizeof(estatus->block_status), 0, in ghes_clear_estatus()
431 struct acpi_hest_generic_status *estatus; in ghes_kick_task_work() local
439 estatus = GHES_ESTATUS_FROM_NODE(estatus_node); in ghes_kick_task_work()
440 node_len = GHES_ESTATUS_NODE_LEN(cper_estatus_len(estatus)); in ghes_kick_task_work()
626 const struct acpi_hest_generic_status *estatus) in ghes_do_proc() argument
635 sev = ghes_severity(estatus->error_severity); in ghes_do_proc()
636 apei_estatus_for_each_section(estatus, gdata) { in ghes_do_proc()
673 const struct acpi_hest_generic_status *estatus) in __ghes_print_estatus() argument
680 if (ghes_severity(estatus->error_severity) <= in __ghes_print_estatus()
690 cper_estatus_print(pfx_seq, estatus); in __ghes_print_estatus()
695 const struct acpi_hest_generic_status *estatus) in ghes_print_estatus() argument
702 if (ghes_severity(estatus->error_severity) <= GHES_SEV_CORRECTED) in ghes_print_estatus()
707 __ghes_print_estatus(pfx, generic, estatus); in ghes_print_estatus()
717 static int ghes_estatus_cached(struct acpi_hest_generic_status *estatus) in ghes_estatus_cached() argument
725 len = cper_estatus_len(estatus); in ghes_estatus_cached()
734 if (memcmp(estatus, cache_estatus, len)) in ghes_estatus_cached()
748 struct acpi_hest_generic_status *estatus) in ghes_estatus_cache_alloc() argument
760 len = cper_estatus_len(estatus); in ghes_estatus_cache_alloc()
768 memcpy(cache_estatus, estatus, len); in ghes_estatus_cache_alloc()
796 struct acpi_hest_generic_status *estatus) in ghes_estatus_cache_add() argument
802 new_cache = ghes_estatus_cache_alloc(generic, estatus); in ghes_estatus_cache_add()
841 struct acpi_hest_generic_status *estatus, in __ghes_panic() argument
844 __ghes_print_estatus(KERN_EMERG, ghes->generic, estatus); in __ghes_panic()
846 ghes_clear_estatus(ghes, estatus, buf_paddr, fixmap_idx); in __ghes_panic()
856 struct acpi_hest_generic_status *estatus = ghes->estatus; in ghes_proc() local
860 rc = ghes_read_estatus(ghes, estatus, &buf_paddr, FIX_APEI_GHES_IRQ); in ghes_proc()
864 if (ghes_severity(estatus->error_severity) >= GHES_SEV_PANIC) in ghes_proc()
865 __ghes_panic(ghes, estatus, buf_paddr, FIX_APEI_GHES_IRQ); in ghes_proc()
867 if (!ghes_estatus_cached(estatus)) { in ghes_proc()
868 if (ghes_print_estatus(NULL, ghes->generic, estatus)) in ghes_proc()
869 ghes_estatus_cache_add(ghes->generic, estatus); in ghes_proc()
871 ghes_do_proc(ghes, estatus); in ghes_proc()
874 ghes_clear_estatus(ghes, estatus, buf_paddr, FIX_APEI_GHES_IRQ); in ghes_proc()
963 struct acpi_hest_generic_status *estatus; in ghes_proc_in_irq() local
978 estatus = GHES_ESTATUS_FROM_NODE(estatus_node); in ghes_proc_in_irq()
979 len = cper_estatus_len(estatus); in ghes_proc_in_irq()
981 task_work_pending = ghes_do_proc(estatus_node->ghes, estatus); in ghes_proc_in_irq()
982 if (!ghes_estatus_cached(estatus)) { in ghes_proc_in_irq()
984 if (ghes_print_estatus(NULL, generic, estatus)) in ghes_proc_in_irq()
985 ghes_estatus_cache_add(generic, estatus); in ghes_proc_in_irq()
1010 struct acpi_hest_generic_status *estatus; in ghes_print_queued_estatus() local
1021 estatus = GHES_ESTATUS_FROM_NODE(estatus_node); in ghes_print_queued_estatus()
1023 ghes_print_estatus(NULL, generic, estatus); in ghes_print_queued_estatus()
1031 struct acpi_hest_generic_status *estatus, tmp_header; in ghes_in_nmi_queue_one_entry() local
1061 estatus = GHES_ESTATUS_FROM_NODE(estatus_node); in ghes_in_nmi_queue_one_entry()
1063 if (__ghes_read_estatus(estatus, buf_paddr, fixmap_idx, len)) { in ghes_in_nmi_queue_one_entry()
1064 ghes_clear_estatus(ghes, estatus, buf_paddr, fixmap_idx); in ghes_in_nmi_queue_one_entry()
1069 sev = ghes_severity(estatus->error_severity); in ghes_in_nmi_queue_one_entry()
1072 __ghes_panic(ghes, estatus, buf_paddr, fixmap_idx); in ghes_in_nmi_queue_one_entry()
1078 if (ghes_estatus_cached(estatus)) in ghes_in_nmi_queue_one_entry()