Lines Matching defs:estatus
265 ghes->estatus = kmalloc(error_block_length, GFP_KERNEL);
266 if (!ghes->estatus) {
285 kfree(ghes->estatus);
334 struct acpi_hest_generic_status *estatus)
336 u32 len = cper_estatus_len(estatus);
338 if (len < sizeof(*estatus)) {
348 if (cper_estatus_check_header(estatus)) {
356 /* Read the CPER block, returning its address, and header in estatus. */
358 struct acpi_hest_generic_status *estatus,
375 ghes_copy_tofrom_phys(estatus, *buf_paddr, sizeof(*estatus), 1,
377 if (!estatus->block_status) {
385 static int __ghes_read_estatus(struct acpi_hest_generic_status *estatus,
389 ghes_copy_tofrom_phys(estatus, buf_paddr, buf_len, 1, fixmap_idx);
390 if (cper_estatus_check(estatus)) {
400 struct acpi_hest_generic_status *estatus,
405 rc = __ghes_peek_estatus(ghes, estatus, buf_paddr, fixmap_idx);
409 rc = __ghes_check_estatus(ghes, estatus);
413 return __ghes_read_estatus(estatus, *buf_paddr, fixmap_idx,
414 cper_estatus_len(estatus));
418 struct acpi_hest_generic_status *estatus,
421 estatus->block_status = 0;
426 ghes_copy_tofrom_phys(estatus, buf_paddr,
427 sizeof(estatus->block_status), 0,
445 struct acpi_hest_generic_status *estatus;
453 estatus = GHES_ESTATUS_FROM_NODE(estatus_node);
454 node_len = GHES_ESTATUS_NODE_LEN(cper_estatus_len(estatus));
642 const struct acpi_hest_generic_status *estatus)
652 sev = ghes_severity(estatus->error_severity);
653 apei_estatus_for_each_section(estatus, gdata) {
690 const struct acpi_hest_generic_status *estatus)
697 if (ghes_severity(estatus->error_severity) <=
707 cper_estatus_print(pfx_seq, estatus);
712 const struct acpi_hest_generic_status *estatus)
719 if (ghes_severity(estatus->error_severity) <= GHES_SEV_CORRECTED)
724 __ghes_print_estatus(pfx, generic, estatus);
734 static int ghes_estatus_cached(struct acpi_hest_generic_status *estatus)
742 len = cper_estatus_len(estatus);
751 if (memcmp(estatus, cache_estatus, len))
765 struct acpi_hest_generic_status *estatus)
777 len = cper_estatus_len(estatus);
785 memcpy(cache_estatus, estatus, len);
813 struct acpi_hest_generic_status *estatus)
819 new_cache = ghes_estatus_cache_alloc(generic, estatus);
858 struct acpi_hest_generic_status *estatus,
861 __ghes_print_estatus(KERN_EMERG, ghes->generic, estatus);
863 ghes_clear_estatus(ghes, estatus, buf_paddr, fixmap_idx);
873 struct acpi_hest_generic_status *estatus = ghes->estatus;
877 rc = ghes_read_estatus(ghes, estatus, &buf_paddr, FIX_APEI_GHES_IRQ);
881 if (ghes_severity(estatus->error_severity) >= GHES_SEV_PANIC)
882 __ghes_panic(ghes, estatus, buf_paddr, FIX_APEI_GHES_IRQ);
884 if (!ghes_estatus_cached(estatus)) {
885 if (ghes_print_estatus(NULL, ghes->generic, estatus))
886 ghes_estatus_cache_add(ghes->generic, estatus);
888 ghes_do_proc(ghes, estatus);
891 ghes_clear_estatus(ghes, estatus, buf_paddr, FIX_APEI_GHES_IRQ);
965 * estatus, and added to the ghes_estatus_llist. irq_work_queue() causes
966 * ghes_proc_in_irq() to run in IRQ context where each estatus in
980 struct acpi_hest_generic_status *estatus;
987 * Because the time order of estatus in list is reversed,
995 estatus = GHES_ESTATUS_FROM_NODE(estatus_node);
996 len = cper_estatus_len(estatus);
998 task_work_pending = ghes_do_proc(estatus_node->ghes, estatus);
999 if (!ghes_estatus_cached(estatus)) {
1001 if (ghes_print_estatus(NULL, generic, estatus))
1002 ghes_estatus_cache_add(generic, estatus);
1027 struct acpi_hest_generic_status *estatus;
1031 * Because the time order of estatus in list is reversed,
1038 estatus = GHES_ESTATUS_FROM_NODE(estatus_node);
1040 ghes_print_estatus(NULL, generic, estatus);
1048 struct acpi_hest_generic_status *estatus, tmp_header;
1078 estatus = GHES_ESTATUS_FROM_NODE(estatus_node);
1080 if (__ghes_read_estatus(estatus, buf_paddr, fixmap_idx, len)) {
1081 ghes_clear_estatus(ghes, estatus, buf_paddr, fixmap_idx);
1086 sev = ghes_severity(estatus->error_severity);
1089 __ghes_panic(ghes, estatus, buf_paddr, fixmap_idx);
1095 if (ghes_estatus_cached(estatus))