Message ID | 20190806042440.16445-1-daniel@linux.ibm.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | acpi/hmat: ACPI_HMAT_MEMORY_PD_VALID is deprecated in ACPI-6.3 | expand |
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"); >
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 >
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 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?
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!
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");
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(-)