acpi/ghes: simplify acpi_ghes_record_errors() code

Reduce the ident of the function and prepares it for
the next changes.

No functional changes.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <19af4188535217213486d169e0501e592bc78a95.1736945236.git.mchehab+huawei@kernel.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Mauro Carvalho Chehab 2025-01-15 13:50:18 +01:00 committed by Michael S. Tsirkin
parent 239c3f7ed4
commit 872b69f21f

View file

@ -402,40 +402,42 @@ int acpi_ghes_record_errors(uint8_t source_id, uint64_t physical_address)
start_addr = le64_to_cpu(ags->ghes_addr_le);
if (physical_address) {
if (!physical_address) {
return -1;
}
if (source_id < ACPI_GHES_ERROR_SOURCE_COUNT) {
start_addr += source_id * sizeof(uint64_t);
}
if (source_id < ACPI_GHES_ERROR_SOURCE_COUNT) {
start_addr += source_id * sizeof(uint64_t);
}
cpu_physical_memory_read(start_addr, &error_block_addr,
sizeof(error_block_addr));
cpu_physical_memory_read(start_addr, &error_block_addr,
sizeof(error_block_addr));
error_block_addr = le64_to_cpu(error_block_addr);
error_block_addr = le64_to_cpu(error_block_addr);
read_ack_register_addr = start_addr +
ACPI_GHES_ERROR_SOURCE_COUNT * sizeof(uint64_t);
read_ack_register_addr = start_addr +
ACPI_GHES_ERROR_SOURCE_COUNT * sizeof(uint64_t);
cpu_physical_memory_read(read_ack_register_addr,
&read_ack_register, sizeof(read_ack_register));
cpu_physical_memory_read(read_ack_register_addr,
&read_ack_register, sizeof(read_ack_register));
/* zero means OSPM does not acknowledge the error */
if (!read_ack_register) {
error_report("OSPM does not acknowledge previous error,"
" so can not record CPER for current error anymore");
} else if (error_block_addr) {
read_ack_register = cpu_to_le64(0);
/*
* Clear the Read Ack Register, OSPM will write it to 1 when
* it acknowledges this error.
*/
cpu_physical_memory_write(read_ack_register_addr,
&read_ack_register, sizeof(uint64_t));
/* zero means OSPM does not acknowledge the error */
if (!read_ack_register) {
error_report("OSPM does not acknowledge previous error,"
" so can not record CPER for current error anymore");
} else if (error_block_addr) {
read_ack_register = cpu_to_le64(0);
/*
* Clear the Read Ack Register, OSPM will write it to 1 when
* it acknowledges this error.
*/
cpu_physical_memory_write(read_ack_register_addr,
&read_ack_register, sizeof(uint64_t));
ret = acpi_ghes_record_mem_error(error_block_addr,
physical_address);
} else
error_report("can not find Generic Error Status Block");
ret = acpi_ghes_record_mem_error(error_block_addr,
physical_address);
} else {
error_report("can not find Generic Error Status Block");
}
return ret;