2019-08-06 04:25:40

by Daniel Black

[permalink] [raw]
Subject: [PATCH] acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3

ACPI-6.3 corresponds to when hmat revision was bumped from
1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID was
deprecated and made reserved.

As such in revision 2+ we shouldn't be testing this flag.

This is as per ACPI-6.3, 5.2.27.3, Table 5-145
"Memory Proximity Domain Attributes Structure"
for Flags.

Signed-off-by: Daniel Black <[email protected]>
---
drivers/acpi/hmat/hmat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c
index 96b7d39a97c6..e938e34673d9 100644
--- a/drivers/acpi/hmat/hmat.c
+++ b/drivers/acpi/hmat/hmat.c
@@ -382,7 +382,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade
pr_info("HMAT: Memory Flags:%04x Processor Domain:%d Memory Domain:%d\n",
p->flags, p->processor_PD, p->memory_PD);

- if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) {
+ if (p->flags & ACPI_HMAT_MEMORY_PD_VALID && hmat_revision == 1) {
target = find_mem_target(p->memory_PD);
if (!target) {
pr_debug("HMAT: Memory Domain missing from SRAT\n");
--
2.21.0


2019-08-12 08:04:14

by Tao Xu

[permalink] [raw]
Subject: Re: [PATCH] acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3

On 8/6/2019 12:24 PM, Daniel Black wrote:
> ACPI-6.3 corresponds to when hmat revision was bumped from
> 1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID was
> deprecated and made reserved.
>
> As such in revision 2+ we shouldn't be testing this flag.
>
> This is as per ACPI-6.3, 5.2.27.3, Table 5-145
> "Memory Proximity Domain Attributes Structure"
> for Flags.

Looks good to me.

Reviewed-by: Tao Xu <[email protected]>
>
> Signed-off-by: Daniel Black <[email protected]>
> ---
> drivers/acpi/hmat/hmat.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c
> index 96b7d39a97c6..e938e34673d9 100644
> --- a/drivers/acpi/hmat/hmat.c
> +++ b/drivers/acpi/hmat/hmat.c
> @@ -382,7 +382,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade
> pr_info("HMAT: Memory Flags:%04x Processor Domain:%d Memory Domain:%d\n",
> p->flags, p->processor_PD, p->memory_PD);
>
> - if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) {
> + if (p->flags & ACPI_HMAT_MEMORY_PD_VALID && hmat_revision == 1) {
> target = find_mem_target(p->memory_PD);
> if (!target) {
> pr_debug("HMAT: Memory Domain missing from SRAT\n");
>

2019-09-02 21:31:26

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3

On Tue, Aug 6, 2019 at 6:24 AM Daniel Black <[email protected]> wrote:
>
> ACPI-6.3 corresponds to when hmat revision was bumped from
> 1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID was
> deprecated and made reserved.
>
> As such in revision 2+ we shouldn't be testing this flag.
>
> This is as per ACPI-6.3, 5.2.27.3, Table 5-145
> "Memory Proximity Domain Attributes Structure"
> for Flags.
>
> Signed-off-by: Daniel Black <[email protected]>

Keith, any comments?

> ---
> drivers/acpi/hmat/hmat.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c
> index 96b7d39a97c6..e938e34673d9 100644
> --- a/drivers/acpi/hmat/hmat.c
> +++ b/drivers/acpi/hmat/hmat.c
> @@ -382,7 +382,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade
> pr_info("HMAT: Memory Flags:%04x Processor Domain:%d Memory Domain:%d\n",
> p->flags, p->processor_PD, p->memory_PD);
>
> - if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) {
> + if (p->flags & ACPI_HMAT_MEMORY_PD_VALID && hmat_revision == 1) {
> target = find_mem_target(p->memory_PD);
> if (!target) {
> pr_debug("HMAT: Memory Domain missing from SRAT\n");
> --
> 2.21.0
>

2019-09-03 01:08:09

by Daniel Black

[permalink] [raw]
Subject: Re: [PATCH] acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3

On Mon, 2 Sep 2019 23:28:50 +0200
"Rafael J. Wysocki" <[email protected]> wrote:

> On Tue, Aug 6, 2019 at 6:24 AM Daniel Black <[email protected]> wrote:
> >
> > ACPI-6.3 corresponds to when hmat revision was bumped from
> > 1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID was
> > deprecated and made reserved.
> >
> > As such in revision 2+ we shouldn't be testing this flag.
> >
> > This is as per ACPI-6.3, 5.2.27.3, Table 5-145
> > "Memory Proximity Domain Attributes Structure"
> > for Flags.
> >
> > Signed-off-by: Daniel Black <[email protected]>
>
> Keith, any comments?

FYI this was found when I was testing Tao Xu's qemu implementation of HMAT ACPI-6.3 which has no implementation of ACPI_HMAT_MEMORY_PD_VALID.

Current patch implementing Memory Proximity Domain Attributes Structure:
https://patchwork.kernel.org/patch/11125301/

2019-10-02 06:23:04

by Daniel Black

[permalink] [raw]
Subject: Re: [PATCH] acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3

On Tue, 3 Sep 2019 11:03:45 +1000
Daniel Black <[email protected]> wrote:

> On Mon, 2 Sep 2019 23:28:50 +0200
> "Rafael J. Wysocki" <[email protected]> wrote:
>
> > On Tue, Aug 6, 2019 at 6:24 AM Daniel Black <[email protected]> wrote:
> > >
> > > ACPI-6.3 corresponds to when hmat revision was bumped from
> > > 1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID was
> > > deprecated and made reserved.
> > >
> > > As such in revision 2+ we shouldn't be testing this flag.
> > >
> > > This is as per ACPI-6.3, 5.2.27.3, Table 5-145
> > > "Memory Proximity Domain Attributes Structure"
> > > for Flags.
> > >
> > > Signed-off-by: Daniel Black <[email protected]>
> >
> > Keith, any comments?
>
> FYI this was found when I was testing Tao Xu's qemu implementation of HMAT ACPI-6.3 which has no implementation of ACPI_HMAT_MEMORY_PD_VALID.
>
> Current patch implementing Memory Proximity Domain Attributes Structure:
> https://patchwork.kernel.org/patch/11125301/


On Mon, 12 Aug 2019 16:03:15 +0800
Tao Xu <[email protected]> wrote:
>
> Looks good to me.
>
> Reviewed-by: Tao Xu <[email protected]>

Ping. Any comments?

2019-10-10 22:21:24

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3

On Tuesday, August 6, 2019 6:24:39 AM CEST Daniel Black wrote:
> ACPI-6.3 corresponds to when hmat revision was bumped from
> 1 to 2. In this version ACPI_HMAT_MEMORY_PD_VALID was
> deprecated and made reserved.
>
> As such in revision 2+ we shouldn't be testing this flag.
>
> This is as per ACPI-6.3, 5.2.27.3, Table 5-145
> "Memory Proximity Domain Attributes Structure"
> for Flags.
>
> Signed-off-by: Daniel Black <[email protected]>
> ---
> drivers/acpi/hmat/hmat.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c
> index 96b7d39a97c6..e938e34673d9 100644
> --- a/drivers/acpi/hmat/hmat.c
> +++ b/drivers/acpi/hmat/hmat.c
> @@ -382,7 +382,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade
> pr_info("HMAT: Memory Flags:%04x Processor Domain:%d Memory Domain:%d\n",
> p->flags, p->processor_PD, p->memory_PD);
>
> - if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) {
> + if (p->flags & ACPI_HMAT_MEMORY_PD_VALID && hmat_revision == 1) {
> target = find_mem_target(p->memory_PD);
> if (!target) {
> pr_debug("HMAT: Memory Domain missing from SRAT\n");
>

Applied as a fix for 5.4, thanks!