Re: [PATCH 1/3] cxl: Set target type of root decoder based on CFMWS restrictions

From: Alison Schofield
Date: Wed Jul 31 2024 - 22:11:39 EST


On Mon, Jul 29, 2024 at 04:46:09PM +0800, Ying Huang wrote:
> Now, the target type of root decoder is hard-coded to HOSTONLYMEM,
> because only type3 expanders are supported. To support type2
> accelerators, set the target type of root decoder based on the
> window restrictions field of CFMWS entry.
>

Reviewed-by: Alison Schofield <alison.schofield@xxxxxxxxx>

> Signed-off-by: "Huang, Ying" <ying.huang@xxxxxxxxx>
> Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
> Cc: Jonathan Cameron <jonathan.cameron@xxxxxxxxxx>
> Cc: Dave Jiang <dave.jiang@xxxxxxxxx>
> Cc: Alison Schofield <alison.schofield@xxxxxxxxx>
> Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx>
> Cc: Ira Weiny <ira.weiny@xxxxxxxxx>
> Cc: Alejandro Lucero <alucerop@xxxxxxx>
> ---
> drivers/cxl/acpi.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c
> index 82b78e331d8e..40c92ad29122 100644
> --- a/drivers/cxl/acpi.c
> +++ b/drivers/cxl/acpi.c
> @@ -382,7 +382,10 @@ static int __cxl_parse_cfmws(struct acpi_cedt_cfmws *cfmws,
>
> cxld = &cxlrd->cxlsd.cxld;
> cxld->flags = cfmws_to_decoder_flags(cfmws->restrictions);
> - cxld->target_type = CXL_DECODER_HOSTONLYMEM;
> + if (cxld->flags & CXL_DECODER_F_TYPE2)
> + cxld->target_type = CXL_DECODER_DEVMEM;
> + else
> + cxld->target_type = CXL_DECODER_HOSTONLYMEM;
> cxld->hpa_range = (struct range) {
> .start = cfmws->base_hpa,
> .end = cfmws->base_hpa + cfmws->window_size - 1,
> --
> 2.39.2
>