[PATCH] acpi, tables: Rename coherency CFMW restrictions

Davidlohr Bueso posted 1 patch 4 weeks ago
drivers/cxl/acpi.c           |  4 ++--
include/acpi/actbl1.h        |  4 ++--
tools/testing/cxl/test/cxl.c | 18 +++++++++---------
3 files changed, 13 insertions(+), 13 deletions(-)
[PATCH] acpi, tables: Rename coherency CFMW restrictions
Posted by Davidlohr Bueso 4 weeks ago
ACPICA commit 710745713ad3a2543dbfb70e84764f31f0e46bdc

This has been renamed in more recent CXL specs, as
type3 (memory expanders) can also use HDM-DB for
device coherent memory.

Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
---
 drivers/cxl/acpi.c           |  4 ++--
 include/acpi/actbl1.h        |  4 ++--
 tools/testing/cxl/test/cxl.c | 18 +++++++++---------
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c
index 26c494704437..2cf75b553f26 100644
--- a/drivers/cxl/acpi.c
+++ b/drivers/cxl/acpi.c
@@ -128,9 +128,9 @@ static unsigned long cfmws_to_decoder_flags(int restrictions)
 {
 	unsigned long flags = CXL_DECODER_F_ENABLE;
 
-	if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_TYPE2)
+	if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_DEVMEM)
 		flags |= CXL_DECODER_F_TYPE2;
-	if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_TYPE3)
+	if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM)
 		flags |= CXL_DECODER_F_TYPE3;
 	if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_VOLATILE)
 		flags |= CXL_DECODER_F_RAM;
diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
index 99fd1588ff38..eb787dfbd2fa 100644
--- a/include/acpi/actbl1.h
+++ b/include/acpi/actbl1.h
@@ -560,8 +560,8 @@ struct acpi_cedt_cfmws_target_element {
 
 /* Values for Restrictions field above */
 
-#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2      (1)
-#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3      (1<<1)
+#define ACPI_CEDT_CFMWS_RESTRICT_DEVMEM      (1)
+#define ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM (1<<1)
 #define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE   (1<<2)
 #define ACPI_CEDT_CFMWS_RESTRICT_PMEM       (1<<3)
 #define ACPI_CEDT_CFMWS_RESTRICT_FIXED      (1<<4)
diff --git a/tools/testing/cxl/test/cxl.c b/tools/testing/cxl/test/cxl.c
index 6a25cca5636f..ba50338f8ada 100644
--- a/tools/testing/cxl/test/cxl.c
+++ b/tools/testing/cxl/test/cxl.c
@@ -210,7 +210,7 @@ static struct {
 			},
 			.interleave_ways = 0,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_VOLATILE,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 4UL,
@@ -225,7 +225,7 @@ static struct {
 			},
 			.interleave_ways = 1,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_VOLATILE,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 8UL,
@@ -240,7 +240,7 @@ static struct {
 			},
 			.interleave_ways = 0,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_PMEM,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 4UL,
@@ -255,7 +255,7 @@ static struct {
 			},
 			.interleave_ways = 1,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_PMEM,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 8UL,
@@ -270,7 +270,7 @@ static struct {
 			},
 			.interleave_ways = 0,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_PMEM,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 4UL,
@@ -285,7 +285,7 @@ static struct {
 			},
 			.interleave_ways = 0,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_VOLATILE,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M,
@@ -302,7 +302,7 @@ static struct {
 			.interleave_arithmetic = ACPI_CEDT_CFMWS_ARITHMETIC_XOR,
 			.interleave_ways = 0,
 			.granularity = 4,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_PMEM,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 8UL,
@@ -318,7 +318,7 @@ static struct {
 			.interleave_arithmetic = ACPI_CEDT_CFMWS_ARITHMETIC_XOR,
 			.interleave_ways = 1,
 			.granularity = 0,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_PMEM,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_256M * 8UL,
@@ -334,7 +334,7 @@ static struct {
 			.interleave_arithmetic = ACPI_CEDT_CFMWS_ARITHMETIC_XOR,
 			.interleave_ways = 8,
 			.granularity = 1,
-			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
+			.restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
 					ACPI_CEDT_CFMWS_RESTRICT_PMEM,
 			.qtg_id = FAKE_QTG_ID,
 			.window_size = SZ_512M * 6UL,
-- 
2.39.5
Re: [PATCH] acpi, tables: Rename coherency CFMW restrictions
Posted by Rafael J. Wysocki 4 weeks ago
On Thu, Sep 4, 2025 at 8:48 PM Davidlohr Bueso <dave@stgolabs.net> wrote:
>
> ACPICA commit 710745713ad3a2543dbfb70e84764f31f0e46bdc
>
> This has been renamed in more recent CXL specs, as
> type3 (memory expanders) can also use HDM-DB for
> device coherent memory.
>
> Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>

A link to the corresponding upstream commit, please?

> ---
>  drivers/cxl/acpi.c           |  4 ++--
>  include/acpi/actbl1.h        |  4 ++--
>  tools/testing/cxl/test/cxl.c | 18 +++++++++---------
>  3 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c
> index 26c494704437..2cf75b553f26 100644
> --- a/drivers/cxl/acpi.c
> +++ b/drivers/cxl/acpi.c
> @@ -128,9 +128,9 @@ static unsigned long cfmws_to_decoder_flags(int restrictions)
>  {
>         unsigned long flags = CXL_DECODER_F_ENABLE;
>
> -       if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_TYPE2)
> +       if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_DEVMEM)
>                 flags |= CXL_DECODER_F_TYPE2;
> -       if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_TYPE3)
> +       if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM)
>                 flags |= CXL_DECODER_F_TYPE3;
>         if (restrictions & ACPI_CEDT_CFMWS_RESTRICT_VOLATILE)
>                 flags |= CXL_DECODER_F_RAM;
> diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h
> index 99fd1588ff38..eb787dfbd2fa 100644
> --- a/include/acpi/actbl1.h
> +++ b/include/acpi/actbl1.h
> @@ -560,8 +560,8 @@ struct acpi_cedt_cfmws_target_element {
>
>  /* Values for Restrictions field above */
>
> -#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2      (1)
> -#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3      (1<<1)
> +#define ACPI_CEDT_CFMWS_RESTRICT_DEVMEM      (1)
> +#define ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM (1<<1)
>  #define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE   (1<<2)
>  #define ACPI_CEDT_CFMWS_RESTRICT_PMEM       (1<<3)
>  #define ACPI_CEDT_CFMWS_RESTRICT_FIXED      (1<<4)
> diff --git a/tools/testing/cxl/test/cxl.c b/tools/testing/cxl/test/cxl.c
> index 6a25cca5636f..ba50338f8ada 100644
> --- a/tools/testing/cxl/test/cxl.c
> +++ b/tools/testing/cxl/test/cxl.c
> @@ -210,7 +210,7 @@ static struct {
>                         },
>                         .interleave_ways = 0,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_VOLATILE,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 4UL,
> @@ -225,7 +225,7 @@ static struct {
>                         },
>                         .interleave_ways = 1,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_VOLATILE,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 8UL,
> @@ -240,7 +240,7 @@ static struct {
>                         },
>                         .interleave_ways = 0,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_PMEM,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 4UL,
> @@ -255,7 +255,7 @@ static struct {
>                         },
>                         .interleave_ways = 1,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_PMEM,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 8UL,
> @@ -270,7 +270,7 @@ static struct {
>                         },
>                         .interleave_ways = 0,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_PMEM,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 4UL,
> @@ -285,7 +285,7 @@ static struct {
>                         },
>                         .interleave_ways = 0,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_VOLATILE,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M,
> @@ -302,7 +302,7 @@ static struct {
>                         .interleave_arithmetic = ACPI_CEDT_CFMWS_ARITHMETIC_XOR,
>                         .interleave_ways = 0,
>                         .granularity = 4,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_PMEM,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 8UL,
> @@ -318,7 +318,7 @@ static struct {
>                         .interleave_arithmetic = ACPI_CEDT_CFMWS_ARITHMETIC_XOR,
>                         .interleave_ways = 1,
>                         .granularity = 0,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_PMEM,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_256M * 8UL,
> @@ -334,7 +334,7 @@ static struct {
>                         .interleave_arithmetic = ACPI_CEDT_CFMWS_ARITHMETIC_XOR,
>                         .interleave_ways = 8,
>                         .granularity = 1,
> -                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_TYPE3 |
> +                       .restrictions = ACPI_CEDT_CFMWS_RESTRICT_HOSTONLYMEM |
>                                         ACPI_CEDT_CFMWS_RESTRICT_PMEM,
>                         .qtg_id = FAKE_QTG_ID,
>                         .window_size = SZ_512M * 6UL,
> --
> 2.39.5
>
>
Re: [PATCH] acpi, tables: Rename coherency CFMW restrictions
Posted by Davidlohr Bueso 4 weeks ago
On Thu, 04 Sep 2025, Rafael J. Wysocki wrote:

>On Thu, Sep 4, 2025 at 8:48???PM Davidlohr Bueso <dave@stgolabs.net> wrote:
>>
>> ACPICA commit 710745713ad3a2543dbfb70e84764f31f0e46bdc
>>
>> This has been renamed in more recent CXL specs, as
>> type3 (memory expanders) can also use HDM-DB for
>> device coherent memory.
>>
>> Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
>
>A link to the corresponding upstream commit, please?

https://github.com/acpica/acpica/commit/710745713ad3a2543dbfb70e84764f31f0e46bdc

Thanks,
Davidlohr
Re: [PATCH] acpi, tables: Rename coherency CFMW restrictions
Posted by Rafael J. Wysocki 3 weeks, 6 days ago
On Thu, Sep 4, 2025 at 9:15 PM Davidlohr Bueso <dave@stgolabs.net> wrote:
>
> On Thu, 04 Sep 2025, Rafael J. Wysocki wrote:
>
> >On Thu, Sep 4, 2025 at 8:48???PM Davidlohr Bueso <dave@stgolabs.net> wrote:
> >>
> >> ACPICA commit 710745713ad3a2543dbfb70e84764f31f0e46bdc
> >>
> >> This has been renamed in more recent CXL specs, as
> >> type3 (memory expanders) can also use HDM-DB for
> >> device coherent memory.
> >>
> >> Signed-off-by: Davidlohr Bueso <dave@stgolabs.net>
> >
> >A link to the corresponding upstream commit, please?
>
> https://github.com/acpica/acpica/commit/710745713ad3a2543dbfb70e84764f31f0e46bdc

The only ACPICA change in this patch is the new symbol definitions in
include/acpi/actbl1.h, so this can go in via CXL as far as I'm
concerned.

Please add a Link: tag with the link above to the patch, change the
patch prefix to "cxl/acpi:" to follow the existing pattern, and you
can add

Acked-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>

to it.

Thanks!