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