Message ID | 40b209cf75717796c658b26d0ecd564f63dc8656.1726293808.git.mchehab+huawei@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add ACPI CPER firmware first error injection on ARM emulation | expand |
On Sat, 14 Sep 2024 08:13:25 +0200 Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote: > if physical_address is not defined, just return with an error > set. no need to mention that, as it's what does now. > > That reduces the ident of the function and prepares it for > the next changes. > > No functional changes. this is enough to describe the change. > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > hw/acpi/ghes.c | 56 ++++++++++++++++++++++++++------------------------ > 1 file changed, 29 insertions(+), 27 deletions(-) > > diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c > index 35f793401d06..17b7d9e10f3e 100644 > --- a/hw/acpi/ghes.c > +++ b/hw/acpi/ghes.c > @@ -417,40 +417,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;
diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c index 35f793401d06..17b7d9e10f3e 100644 --- a/hw/acpi/ghes.c +++ b/hw/acpi/ghes.c @@ -417,40 +417,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;
if physical_address is not defined, just return with an error set. That reduces 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> --- hw/acpi/ghes.c | 56 ++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 27 deletions(-)