From: Robert Richter Date: Fri, 14 Nov 2025 07:58:42 +0000 (+0100) Subject: cxl/acpi: Group xor arithmetric setup code in a single block X-Git-Tag: v6.19-rc1~134^2~3^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c42a4d2ee3b2c432ada9080e29343f4b27ad72bf;p=thirdparty%2Flinux.git cxl/acpi: Group xor arithmetric setup code in a single block Simplify the xor arithmetric setup code by grouping it in a single block. No need to split the block for QoS setup. It is safe to reorder the call of cxl_setup_extended_linear_cache() because there are no dependencies. Reviewed-by: Jonathan Cameron Signed-off-by: Robert Richter Tested-by: Gregory Price Link: https://patch.msgid.link/20251114075844.1315805-3-rrichter@amd.com Signed-off-by: Dave Jiang --- diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c index cef3e07244fd7..0a1bad3cafa76 100644 --- a/drivers/cxl/acpi.c +++ b/drivers/cxl/acpi.c @@ -453,8 +453,6 @@ static int __cxl_parse_cfmws(struct acpi_cedt_cfmws *cfmws, ig = CXL_DECODER_MIN_GRANULARITY; cxld->interleave_granularity = ig; - cxl_setup_extended_linear_cache(cxlrd); - if (cfmws->interleave_arithmetic == ACPI_CEDT_CFMWS_ARITHMETIC_XOR) { if (ways != 1 && ways != 3) { cxims_ctx = (struct cxl_cxims_context) { @@ -470,15 +468,14 @@ static int __cxl_parse_cfmws(struct acpi_cedt_cfmws *cfmws, return -EINVAL; } } - } - - cxlrd->qos_class = cfmws->qtg_id; - - if (cfmws->interleave_arithmetic == ACPI_CEDT_CFMWS_ARITHMETIC_XOR) { cxlrd->ops.hpa_to_spa = cxl_apply_xor_maps; cxlrd->ops.spa_to_hpa = cxl_apply_xor_maps; } + cxl_setup_extended_linear_cache(cxlrd); + + cxlrd->qos_class = cfmws->qtg_id; + rc = cxl_decoder_add(cxld); if (rc) return rc;