Lines Matching refs:cfmws

142 				 struct acpi_cedt_cfmws *cfmws)  in cxl_acpi_cfmws_verify()  argument
147 if (cfmws->interleave_arithmetic != ACPI_CEDT_CFMWS_ARITHMETIC_MODULO && in cxl_acpi_cfmws_verify()
148 cfmws->interleave_arithmetic != ACPI_CEDT_CFMWS_ARITHMETIC_XOR) { in cxl_acpi_cfmws_verify()
150 cfmws->interleave_arithmetic); in cxl_acpi_cfmws_verify()
154 if (!IS_ALIGNED(cfmws->base_hpa, SZ_256M)) { in cxl_acpi_cfmws_verify()
159 if (!IS_ALIGNED(cfmws->window_size, SZ_256M)) { in cxl_acpi_cfmws_verify()
164 rc = eiw_to_ways(cfmws->interleave_ways, &ways); in cxl_acpi_cfmws_verify()
167 cfmws->interleave_ways); in cxl_acpi_cfmws_verify()
171 expected_len = struct_size(cfmws, interleave_targets, ways); in cxl_acpi_cfmws_verify()
173 if (cfmws->header.length < expected_len) { in cxl_acpi_cfmws_verify()
175 cfmws->header.length, expected_len); in cxl_acpi_cfmws_verify()
179 if (cfmws->header.length > expected_len) in cxl_acpi_cfmws_verify()
181 cfmws->header.length, expected_len); in cxl_acpi_cfmws_verify()
197 static int __cxl_parse_cfmws(struct acpi_cedt_cfmws *cfmws, in __cxl_parse_cfmws() argument
212 rc = cxl_acpi_cfmws_verify(dev, cfmws); in __cxl_parse_cfmws()
215 cfmws->base_hpa, in __cxl_parse_cfmws()
216 cfmws->base_hpa + cfmws->window_size - 1); in __cxl_parse_cfmws()
220 rc = eiw_to_ways(cfmws->interleave_ways, &ways); in __cxl_parse_cfmws()
223 rc = eig_to_granularity(cfmws->granularity, &ig); in __cxl_parse_cfmws()
227 target_map[i] = cfmws->interleave_targets[i]; in __cxl_parse_cfmws()
237 res->start = cfmws->base_hpa; in __cxl_parse_cfmws()
238 res->end = cfmws->base_hpa + cfmws->window_size - 1; in __cxl_parse_cfmws()
246 if (cfmws->interleave_arithmetic == ACPI_CEDT_CFMWS_ARITHMETIC_MODULO) in __cxl_parse_cfmws()
256 cxld->flags = cfmws_to_decoder_flags(cfmws->restrictions); in __cxl_parse_cfmws()
271 if (cfmws->interleave_arithmetic == ACPI_CEDT_CFMWS_ARITHMETIC_XOR) { in __cxl_parse_cfmws()
306 struct acpi_cedt_cfmws *cfmws = (struct acpi_cedt_cfmws *)header; in cxl_parse_cfmws() local
311 rc = __cxl_parse_cfmws(cfmws, ctx); in cxl_parse_cfmws()
315 cfmws->base_hpa, in cxl_parse_cfmws()
316 cfmws->base_hpa + cfmws->window_size - 1, rc); in cxl_parse_cfmws()
319 phys_to_target_node(cfmws->base_hpa), cfmws->base_hpa, in cxl_parse_cfmws()
320 cfmws->base_hpa + cfmws->window_size - 1); in cxl_parse_cfmws()