Lines Matching refs:spa
222 static int nfit_spa_type(struct acpi_nfit_system_address *spa) in nfit_spa_type() argument
227 if (memcmp(to_nfit_uuid(i), spa->range_guid, 16) == 0) in nfit_spa_type()
234 struct acpi_nfit_system_address *spa) in add_spa() argument
236 size_t length = min_t(size_t, sizeof(*spa), spa->header.length); in add_spa()
241 if (memcmp(nfit_spa->spa, spa, length) == 0) { in add_spa()
251 nfit_spa->spa = spa; in add_spa()
254 spa->range_index, in add_spa()
255 spa_type_name(nfit_spa_type(spa))); in add_spa()
446 u16 range_index = nfit_spa->spa->range_index; in nfit_mem_find_spa_bdw()
447 int type = nfit_spa_type(nfit_spa->spa); in nfit_mem_find_spa_bdw()
461 nfit_mem->spa_bdw = nfit_spa->spa; in nfit_mem_find_spa_bdw()
472 struct nfit_mem *nfit_mem, struct acpi_nfit_system_address *spa) in nfit_mem_init_bdw() argument
522 struct acpi_nfit_system_address *spa) in nfit_mem_dcr_init() argument
526 int type = nfit_spa_type(spa); in nfit_mem_dcr_init()
541 if (nfit_memdev->memdev->range_index != spa->range_index) in nfit_mem_dcr_init()
584 spa->range_index, dcr); in nfit_mem_dcr_init()
593 nfit_mem->spa_dcr = spa; in nfit_mem_dcr_init()
602 nfit_mem_init_bdw(acpi_desc, nfit_mem, spa); in nfit_mem_dcr_init()
646 rc = nfit_mem_dcr_init(acpi_desc, nfit_spa->spa); in nfit_mem_init()
930 return sprintf(buf, "%d\n", nfit_spa->spa->range_index); in range_index_show()
992 struct acpi_nfit_system_address *spa) in acpi_nfit_init_interleave_set() argument
994 int i, spa_type = nfit_spa_type(spa); in acpi_nfit_init_interleave_set()
1018 spa->range_index, i); in acpi_nfit_init_interleave_set()
1191 struct acpi_nfit_system_address *spa = spa_map->spa; in nfit_spa_mapping_release() local
1195 dev_dbg(acpi_desc->dev, "%s: SPA%d\n", __func__, spa->range_index); in nfit_spa_mapping_release()
1200 release_mem_region(spa->address, spa->length); in nfit_spa_mapping_release()
1207 struct acpi_nfit_system_address *spa) in find_spa_mapping() argument
1213 if (spa_map->spa == spa) in find_spa_mapping()
1220 struct acpi_nfit_system_address *spa) in nfit_spa_unmap() argument
1225 spa_map = find_spa_mapping(acpi_desc, spa); in nfit_spa_unmap()
1233 struct acpi_nfit_system_address *spa, enum spa_map_type type) in __nfit_spa_map() argument
1235 resource_size_t start = spa->address; in __nfit_spa_map()
1236 resource_size_t n = spa->length; in __nfit_spa_map()
1242 spa_map = find_spa_mapping(acpi_desc, spa); in __nfit_spa_map()
1253 spa_map->spa = spa; in __nfit_spa_map()
1296 struct acpi_nfit_system_address *spa, enum spa_map_type type) in nfit_spa_map() argument
1301 iomem = __nfit_spa_map(acpi_desc, spa, type); in nfit_spa_map()
1386 mmio->spa = nfit_mem->spa_bdw; in acpi_nfit_blk_region_enable()
1409 mmio->spa = nfit_mem->spa_dcr; in acpi_nfit_blk_region_enable()
1469 nfit_spa_unmap(acpi_desc, mmio->spa); in acpi_nfit_blk_region_disable()
1478 struct acpi_nfit_system_address *spa) in acpi_nfit_init_mapping() argument
1488 spa->range_index, memdev->device_handle); in acpi_nfit_init_mapping()
1493 switch (nfit_spa_type(spa)) { in acpi_nfit_init_mapping()
1503 spa->range_index, nvdimm_name(nvdimm)); in acpi_nfit_init_mapping()
1529 struct acpi_nfit_system_address *spa = nfit_spa->spa; in acpi_nfit_register_region() local
1540 if (spa->range_index == 0) { in acpi_nfit_register_region()
1549 res.start = spa->address; in acpi_nfit_register_region()
1550 res.end = res.start + spa->length - 1; in acpi_nfit_register_region()
1555 if (spa->flags & ACPI_NFIT_PROXIMITY_VALID) in acpi_nfit_register_region()
1557 spa->proximity_domain); in acpi_nfit_register_region()
1565 if (memdev->range_index != spa->range_index) in acpi_nfit_register_region()
1569 spa->range_index, ND_MAX_MAPPINGS); in acpi_nfit_register_region()
1574 memdev, spa); in acpi_nfit_register_region()
1581 rc = acpi_nfit_init_interleave_set(acpi_desc, ndr_desc, spa); in acpi_nfit_register_region()
1586 if (nfit_spa_type(spa) == NFIT_SPA_PM) { in acpi_nfit_register_region()
1589 } else if (nfit_spa_type(spa) == NFIT_SPA_VOLATILE) { in acpi_nfit_register_region()