diff options
| author | Robert Richter <rrichter@amd.com> | 2025-11-14 08:58:42 +0100 |
|---|---|---|
| committer | Dave Jiang <dave.jiang@intel.com> | 2025-11-14 10:37:29 -0700 |
| commit | c42a4d2ee3b2c432ada9080e29343f4b27ad72bf (patch) | |
| tree | a3ba2cf091a9c2aae343a8c72faad75d53384ea2 | |
| parent | 6123133ee90fc55a5437364d442dd5876648628d (diff) | |
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 <jonathan.cameron@huawei.com>
Signed-off-by: Robert Richter <rrichter@amd.com>
Tested-by: Gregory Price <gourry@gourry.net>
Link: https://patch.msgid.link/20251114075844.1315805-3-rrichter@amd.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
| -rw-r--r-- | drivers/cxl/acpi.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/cxl/acpi.c b/drivers/cxl/acpi.c index cef3e07244fd..0a1bad3cafa7 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; |
