From: Jonathan Cameron via <qemu-arm@nongnu.org>
To: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>,
Shiju Jose <shiju.jose@huawei.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Ani Sinha <anisinha@redhat.com>,
Dongjiu Geng <gengdongjiu1@gmail.com>,
<linux-kernel@vger.kernel.org>, <qemu-arm@nongnu.org>,
<qemu-devel@nongnu.org>
Subject: Re: [PATCH 02/15] acpi/ghes: simplify acpi_ghes_record_errors() code
Date: Wed, 25 Sep 2024 15:09:33 +0100 [thread overview]
Message-ID: <20240925150933.0000373d@Huawei.com> (raw)
In-Reply-To: <45dcc7644e2b2a04645a37e561ed7294482b0744.1727236561.git.mchehab+huawei@kernel.org>
On Wed, 25 Sep 2024 06:04:07 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:
> 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>
Some of the alignment doesn't seem to match local style which
is either align after ( or align 4 spaces in from line above for
multiple line argument lists.
Code is fine as I guess the later structure is to prepare
for additions that prevent early returns being sensible.
With that in mind.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.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 dc217694deb9..dacbd4d0c093 100644
> --- a/hw/acpi/ghes.c
> +++ b/hw/acpi/ghes.c
> @@ -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));
Alignment looks fishy plus maybe move &read_ack_register up a line.
>
> - /* 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");
I guess later changes make it unwise to just return -1 here.
> + } 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);
or return here.
> + } else {
> + error_report("can not find Generic Error Status Block");
> }
>
> return ret;
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>,
Shiju Jose <shiju.jose@huawei.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Ani Sinha <anisinha@redhat.com>,
Dongjiu Geng <gengdongjiu1@gmail.com>,
<linux-kernel@vger.kernel.org>, <qemu-arm@nongnu.org>,
<qemu-devel@nongnu.org>
Subject: Re: [PATCH 02/15] acpi/ghes: simplify acpi_ghes_record_errors() code
Date: Wed, 25 Sep 2024 15:09:33 +0100 [thread overview]
Message-ID: <20240925150933.0000373d@Huawei.com> (raw)
In-Reply-To: <45dcc7644e2b2a04645a37e561ed7294482b0744.1727236561.git.mchehab+huawei@kernel.org>
On Wed, 25 Sep 2024 06:04:07 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:
> 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>
Some of the alignment doesn't seem to match local style which
is either align after ( or align 4 spaces in from line above for
multiple line argument lists.
Code is fine as I guess the later structure is to prepare
for additions that prevent early returns being sensible.
With that in mind.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.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 dc217694deb9..dacbd4d0c093 100644
> --- a/hw/acpi/ghes.c
> +++ b/hw/acpi/ghes.c
> @@ -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));
Alignment looks fishy plus maybe move &read_ack_register up a line.
>
> - /* 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");
I guess later changes make it unwise to just return -1 here.
> + } 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);
or return here.
> + } else {
> + error_report("can not find Generic Error Status Block");
> }
>
> return ret;
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>,
Shiju Jose <shiju.jose@huawei.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Ani Sinha <anisinha@redhat.com>,
Dongjiu Geng <gengdongjiu1@gmail.com>,
<linux-kernel@vger.kernel.org>, <qemu-arm@nongnu.org>,
<qemu-devel@nongnu.org>
Subject: Re: [PATCH 02/15] acpi/ghes: simplify acpi_ghes_record_errors() code
Date: Wed, 25 Sep 2024 15:09:33 +0100 [thread overview]
Message-ID: <20240925150933.0000373d@Huawei.com> (raw)
In-Reply-To: <45dcc7644e2b2a04645a37e561ed7294482b0744.1727236561.git.mchehab+huawei@kernel.org>
On Wed, 25 Sep 2024 06:04:07 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote:
> 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>
Some of the alignment doesn't seem to match local style which
is either align after ( or align 4 spaces in from line above for
multiple line argument lists.
Code is fine as I guess the later structure is to prepare
for additions that prevent early returns being sensible.
With that in mind.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.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 dc217694deb9..dacbd4d0c093 100644
> --- a/hw/acpi/ghes.c
> +++ b/hw/acpi/ghes.c
> @@ -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));
Alignment looks fishy plus maybe move &read_ack_register up a line.
>
> - /* 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");
I guess later changes make it unwise to just return -1 here.
> + } 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);
or return here.
> + } else {
> + error_report("can not find Generic Error Status Block");
> }
>
> return ret;
next prev parent reply other threads:[~2024-09-25 14:10 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-25 4:04 [PATCH 00/15] Prepare GHES driver to support error injection Mauro Carvalho Chehab
2024-09-25 4:04 ` [PATCH 01/15] acpi/ghes: get rid of ACPI_HEST_SRC_ID_RESERVED Mauro Carvalho Chehab
2024-09-25 14:02 ` Jonathan Cameron via
2024-09-25 14:02 ` Jonathan Cameron
2024-09-25 4:04 ` [PATCH 02/15] acpi/ghes: simplify acpi_ghes_record_errors() code Mauro Carvalho Chehab
2024-09-25 14:09 ` Jonathan Cameron via [this message]
2024-09-25 14:09 ` Jonathan Cameron
2024-09-25 14:09 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 03/15] acpi/ghes: simplify the per-arch caller to build HEST table Mauro Carvalho Chehab
2024-09-25 14:11 ` Jonathan Cameron via
2024-09-25 14:11 ` Jonathan Cameron
2024-09-25 14:11 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 04/15] acpi/ghes: better handle source_id and notification Mauro Carvalho Chehab
2024-09-25 14:13 ` Jonathan Cameron via
2024-09-25 14:13 ` Jonathan Cameron
2024-09-25 14:13 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 05/15] acpi/ghes: Fix acpi_ghes_record_errors() argument Mauro Carvalho Chehab
2024-09-25 14:15 ` Jonathan Cameron via
2024-09-25 14:15 ` Jonathan Cameron
2024-09-25 14:15 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 06/15] acpi/ghes: Remove a duplicated out of bounds check Mauro Carvalho Chehab
2024-09-25 14:15 ` Jonathan Cameron via
2024-09-25 14:15 ` Jonathan Cameron
2024-09-25 4:04 ` [PATCH 07/15] acpi/ghes: Change the type for source_id Mauro Carvalho Chehab
2024-09-25 14:16 ` Jonathan Cameron via
2024-09-25 14:16 ` Jonathan Cameron
2024-09-25 14:16 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 08/15] acpi/ghes: Prepare to support multiple sources on ghes Mauro Carvalho Chehab
2024-09-25 14:23 ` Jonathan Cameron via
2024-09-25 14:23 ` Jonathan Cameron
2024-09-25 14:23 ` Jonathan Cameron via
2024-10-01 5:29 ` Mauro Carvalho Chehab
2024-09-25 4:04 ` [PATCH 09/15] acpi/ghes: make the GHES record generation more generic Mauro Carvalho Chehab
2024-09-26 12:00 ` Jonathan Cameron
2024-09-26 12:00 ` Jonathan Cameron via
2024-09-26 14:19 ` Mauro Carvalho Chehab
2024-09-25 4:04 ` [PATCH 10/15] acpi/ghes: move offset calculus to a separate function Mauro Carvalho Chehab
2024-09-26 12:03 ` Jonathan Cameron
2024-09-26 12:03 ` Jonathan Cameron via
2024-10-01 5:38 ` Mauro Carvalho Chehab
2024-09-25 4:04 ` [PATCH 11/15] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab
2024-09-26 12:07 ` Jonathan Cameron
2024-09-26 12:07 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 12/15] acpi/ghes: don't crash QEMU if ghes GED is not found Mauro Carvalho Chehab
2024-09-26 12:09 ` Jonathan Cameron
2024-09-26 12:09 ` Jonathan Cameron via
2024-09-26 14:24 ` Mauro Carvalho Chehab
2024-09-25 4:04 ` [PATCH 13/15] acpi/ghes: rename etc/hardware_error file macros Mauro Carvalho Chehab
2024-09-26 12:11 ` Jonathan Cameron
2024-09-26 12:11 ` Jonathan Cameron via
2024-09-25 4:04 ` [PATCH 14/15] better name the offset of the hardware error firmware Mauro Carvalho Chehab
2024-09-26 12:12 ` Jonathan Cameron
2024-09-26 12:12 ` Jonathan Cameron via
2024-10-01 6:02 ` Mauro Carvalho Chehab
2024-09-25 4:04 ` [PATCH 15/15] docs: acpi_hest_ghes: fix documentation for CPER size Mauro Carvalho Chehab
2024-09-26 12:13 ` Jonathan Cameron
2024-09-26 12:13 ` Jonathan Cameron via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240925150933.0000373d@Huawei.com \
--to=qemu-arm@nongnu.org \
--cc=Jonathan.Cameron@Huawei.com \
--cc=anisinha@redhat.com \
--cc=gengdongjiu1@gmail.com \
--cc=imammedo@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab+huawei@kernel.org \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=shiju.jose@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.