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()
207 struct acpi_cedt_cfmws *cfmws; in cxl_parse_cfmws() local
214 cfmws = (struct acpi_cedt_cfmws *) header; in cxl_parse_cfmws()
216 rc = cxl_acpi_cfmws_verify(dev, cfmws); in cxl_parse_cfmws()
219 cfmws->base_hpa, in cxl_parse_cfmws()
220 cfmws->base_hpa + cfmws->window_size - 1); in cxl_parse_cfmws()
224 rc = eiw_to_ways(cfmws->interleave_ways, &ways); in cxl_parse_cfmws()
227 rc = eig_to_granularity(cfmws->granularity, &ig); in cxl_parse_cfmws()
231 target_map[i] = cfmws->interleave_targets[i]; in cxl_parse_cfmws()
241 res->start = cfmws->base_hpa; in cxl_parse_cfmws()
242 res->end = cfmws->base_hpa + cfmws->window_size - 1; in cxl_parse_cfmws()
250 if (cfmws->interleave_arithmetic == ACPI_CEDT_CFMWS_ARITHMETIC_MODULO) in cxl_parse_cfmws()
260 cxld->flags = cfmws_to_decoder_flags(cfmws->restrictions); in cxl_parse_cfmws()
275 if (cfmws->interleave_arithmetic == ACPI_CEDT_CFMWS_ARITHMETIC_XOR) { in cxl_parse_cfmws()