acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3
diff mbox series

Message ID 20190806042440.16445-1-daniel@linux.ibm.com
State Queued
Delegated to: Rafael Wysocki
Headers show
Series
  • acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3
Related show

Commit Message

Daniel Black Aug. 6, 2019, 4:24 a.m. UTC
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 <daniel@linux.ibm.com>
---
 drivers/acpi/hmat/hmat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Tao Xu Aug. 12, 2019, 8:03 a.m. UTC | #1
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 <tao3.xu@intel.com>
> 
> Signed-off-by: Daniel Black <daniel@linux.ibm.com>
> ---
>   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");
>
Rafael J. Wysocki Sept. 2, 2019, 9:28 p.m. UTC | #2
On Tue, Aug 6, 2019 at 6:24 AM Daniel Black <daniel@linux.ibm.com> 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 <daniel@linux.ibm.com>

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
>
Daniel Black Sept. 3, 2019, 1:03 a.m. UTC | #3
On Mon, 2 Sep 2019 23:28:50 +0200
"Rafael J. Wysocki" <rafael@kernel.org> wrote:

> On Tue, Aug 6, 2019 at 6:24 AM Daniel Black <daniel@linux.ibm.com> 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 <daniel@linux.ibm.com>  
> 
> 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/
Daniel Black Oct. 2, 2019, 12:25 a.m. UTC | #4
On Tue, 3 Sep 2019 11:03:45 +1000
Daniel Black <daniel@linux.ibm.com> wrote:

> On Mon, 2 Sep 2019 23:28:50 +0200
> "Rafael J. Wysocki" <rafael@kernel.org> wrote:
> 
> > On Tue, Aug 6, 2019 at 6:24 AM Daniel Black <daniel@linux.ibm.com> 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 <daniel@linux.ibm.com>    
> > 
> > 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 <tao3.xu@intel.com> wrote:
> 
> Looks good to me.
> 
> Reviewed-by: Tao Xu <tao3.xu@intel.com>

Ping. Any comments?
Rafael J. Wysocki Oct. 10, 2019, 10:20 p.m. UTC | #5
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 <daniel@linux.ibm.com>
> ---
>  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!

Patch
diff mbox series

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");