Commit c42a4d2e authored by Robert Richter's avatar Robert Richter Committed by Dave Jiang
Browse files

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: default avatarJonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: default avatarRobert Richter <rrichter@amd.com>
Tested-by: default avatarGregory Price <gourry@gourry.net>
Link: https://patch.msgid.link/20251114075844.1315805-3-rrichter@amd.com


Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
parent 6123133e
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -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;