Searched refs:nd_mapping (Results 1 - 8 of 8) sorted by relevance

/linux-4.4.14/drivers/nvdimm/
H A Dnamespace_devs.c267 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; nd_namespace_blk_size() local
268 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); nd_namespace_blk_size()
285 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; __nd_namespace_blk_validate() local
286 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); __nd_namespace_blk_validate()
417 struct nd_mapping *nd_mapping, struct nd_label_id *label_id, scan_free()
421 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); scan_free()
480 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; shrink_dpa_allocation() local
483 rc = scan_free(nd_region, nd_mapping, label_id, n); shrink_dpa_allocation()
492 struct nd_region *nd_region, struct nd_mapping *nd_mapping, init_dpa_allocation()
496 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); init_dpa_allocation()
503 first_dpa = nd_mapping->start + nd_mapping->size - n; init_dpa_allocation()
505 first_dpa = nd_mapping->start; init_dpa_allocation()
536 struct nd_mapping *nd_mapping, struct nd_label_id *label_id, scan_allocate()
539 resource_size_t mapping_end = nd_mapping->start + nd_mapping->size - 1; scan_allocate()
542 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); scan_allocate()
556 /* ignore resources outside this nd_mapping */ for_each_dpa_resource()
559 if (res->end < nd_mapping->start) for_each_dpa_resource()
563 if (!first++ && res->start > nd_mapping->start) { for_each_dpa_resource()
564 free_start = nd_mapping->start; for_each_dpa_resource()
636 else if (!is_reserve && free_start != nd_mapping->start) for_each_dpa_resource()
680 return init_dpa_allocation(label_id, nd_region, nd_mapping, n);
685 struct nd_mapping *nd_mapping, struct nd_label_id *label_id) merge_dpa()
687 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); merge_dpa()
732 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; __reserve_free_pmem() local
735 if (nd_mapping->nvdimm != nvdimm) __reserve_free_pmem()
738 n = nd_pmem_available_dpa(nd_region, nd_mapping, &rem); __reserve_free_pmem()
741 rem = scan_allocate(nd_region, nd_mapping, &label_id, n); __reserve_free_pmem()
753 struct nd_mapping *nd_mapping) release_free_pmem()
755 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); release_free_pmem()
764 struct nd_mapping *nd_mapping) reserve_free_pmem()
766 struct nvdimm *nvdimm = nd_mapping->nvdimm; reserve_free_pmem()
772 release_free_pmem(nvdimm_bus, nd_mapping); reserve_free_pmem()
797 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; grow_dpa_allocation() local
809 rc = reserve_free_pmem(nvdimm_bus, nd_mapping); grow_dpa_allocation()
813 rem = scan_allocate(nd_region, nd_mapping, grow_dpa_allocation()
816 release_free_pmem(nvdimm_bus, nd_mapping); grow_dpa_allocation()
830 rc = merge_dpa(nd_region, nd_mapping, label_id); grow_dpa_allocation()
851 struct nd_mapping *nd_mapping; __size_store() local
888 nd_mapping = &nd_region->mapping[i]; __size_store()
889 ndd = to_ndd(nd_mapping); __size_store()
1073 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; namespace_update_uuid() local
1082 if (nd_mapping->labels) namespace_update_uuid()
1089 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; namespace_update_uuid() local
1090 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); namespace_update_uuid()
1238 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; dpa_extents_show() local
1239 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); dpa_extents_show()
1451 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; has_uuid_at_pos() local
1456 for_each_label(l, nd_label, nd_mapping->labels) { has_uuid_at_pos()
1468 dev_dbg(to_ndd(nd_mapping)->dev, has_uuid_at_pos()
1496 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; select_pmem_id() local
1501 for_each_label(l, nd_label, nd_mapping->labels) select_pmem_id()
1515 hw_start = nd_mapping->start; select_pmem_id()
1516 hw_end = hw_start + nd_mapping->size; select_pmem_id()
1524 nd_mapping->labels[0] = select; select_pmem_id()
1525 nd_mapping->labels[1] = NULL; select_pmem_id()
1597 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; find_pmem_label_set() local
1598 struct nd_namespace_label *label0 = nd_mapping->labels[0]; find_pmem_label_set()
1657 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; create_namespace_pmem() local
1659 kfree(nd_mapping->labels); create_namespace_pmem()
1660 nd_mapping->labels = NULL; create_namespace_pmem()
1759 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; create_namespace_blk() local
1770 ndd = to_ndd(nd_mapping); create_namespace_blk()
1771 for_each_label(l, nd_label, nd_mapping->labels) { create_namespace_blk()
1835 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; create_namespace_blk() local
1837 kfree(nd_mapping->labels); create_namespace_blk()
1838 nd_mapping->labels = NULL; create_namespace_blk()
1869 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; init_active_labels() local
1870 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); init_active_labels()
1871 struct nvdimm *nvdimm = nd_mapping->nvdimm; init_active_labels()
1882 dev_name(&nd_mapping->nvdimm->dev)); init_active_labels()
1885 nd_mapping->ndd = ndd; init_active_labels()
1893 nd_mapping->labels = kcalloc(count + 1, sizeof(void *), init_active_labels()
1895 if (!nd_mapping->labels) init_active_labels()
1901 nd_mapping->labels[j] = label; init_active_labels()
416 scan_free(struct nd_region *nd_region, struct nd_mapping *nd_mapping, struct nd_label_id *label_id, resource_size_t n) scan_free() argument
491 init_dpa_allocation(struct nd_label_id *label_id, struct nd_region *nd_region, struct nd_mapping *nd_mapping, resource_size_t n) init_dpa_allocation() argument
535 scan_allocate(struct nd_region *nd_region, struct nd_mapping *nd_mapping, struct nd_label_id *label_id, resource_size_t n) scan_allocate() argument
684 merge_dpa(struct nd_region *nd_region, struct nd_mapping *nd_mapping, struct nd_label_id *label_id) merge_dpa() argument
752 release_free_pmem(struct nvdimm_bus *nvdimm_bus, struct nd_mapping *nd_mapping) release_free_pmem() argument
763 reserve_free_pmem(struct nvdimm_bus *nvdimm_bus, struct nd_mapping *nd_mapping) reserve_free_pmem() argument
H A Dlabel.c494 struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm, __pmem_label_update()
498 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); __pmem_label_update()
528 nd_label->dpa = __cpu_to_le64(nd_mapping->start); __pmem_label_update()
539 victim_label = nd_mapping->labels[0]; __pmem_label_update()
552 nd_mapping->labels[0] = nd_label; __pmem_label_update()
557 static void del_label(struct nd_mapping *nd_mapping, int l) del_label() argument
560 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); del_label()
564 nd_label = nd_mapping->labels[l]; del_label()
568 for (j = l; (next_label = nd_mapping->labels[j + 1]); j++) del_label()
569 nd_mapping->labels[j] = next_label; del_label()
570 nd_mapping->labels[j] = NULL; del_label()
607 struct nd_mapping *nd_mapping, struct nd_namespace_blk *nsblk, __blk_label_update()
611 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); __blk_label_update()
736 * entries in nd_mapping->labels
739 for_each_label(l, nd_label, nd_mapping->labels) {
745 del_label(nd_mapping, l);
767 nd_mapping->labels[l++] = nd_label; for_each_clear_bit_le()
769 nd_mapping->labels[l] = NULL;
789 static int init_labels(struct nd_mapping *nd_mapping, int num_labels) init_labels() argument
794 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); init_labels()
797 for_each_label(l, nd_label, nd_mapping->labels) init_labels()
807 labels = krealloc(nd_mapping->labels, size, GFP_KERNEL); init_labels()
810 nd_mapping->labels = labels; init_labels()
812 if (!nd_mapping->labels) init_labels()
816 nd_mapping->labels[i] = NULL; init_labels()
837 static int del_labels(struct nd_mapping *nd_mapping, u8 *uuid) del_labels() argument
839 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); del_labels()
852 || !nd_mapping->labels) del_labels()
855 for_each_label(l, nd_label, nd_mapping->labels) { del_labels()
862 del_label(nd_mapping, l); del_labels()
872 kfree(nd_mapping->labels); del_labels()
873 nd_mapping->labels = NULL; del_labels()
887 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; nd_pmem_namespace_label_update() local
891 rc = del_labels(nd_mapping, nspm->uuid); nd_pmem_namespace_label_update()
897 rc = init_labels(nd_mapping, 1); nd_pmem_namespace_label_update()
901 rc = __pmem_label_update(nd_region, nd_mapping, nspm, i); nd_pmem_namespace_label_update()
912 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; nd_blk_namespace_label_update() local
917 return del_labels(nd_mapping, nsblk->uuid); nd_blk_namespace_label_update()
919 for_each_dpa_resource(to_ndd(nd_mapping), res) nd_blk_namespace_label_update()
922 count = init_labels(nd_mapping, count); nd_blk_namespace_label_update()
926 return __blk_label_update(nd_region, nd_mapping, nsblk, count); nd_blk_namespace_label_update()
493 __pmem_label_update(struct nd_region *nd_region, struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm, int pos) __pmem_label_update() argument
606 __blk_label_update(struct nd_region *nd_region, struct nd_mapping *nd_mapping, struct nd_namespace_blk *nsblk, int num_labels) __blk_label_update() argument
H A Dregion_devs.c31 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; nd_region_release() local
32 struct nvdimm *nvdimm = nd_mapping->nvdimm; nd_region_release()
119 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; nd_region_to_nstype() local
120 struct nvdimm *nvdimm = nd_mapping->nvdimm; nd_region_to_nstype()
146 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; size_show() local
148 size = nd_mapping->size; size_show()
199 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; nd_region_available_dpa() local
200 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); nd_region_available_dpa()
208 nd_mapping, &overlap); nd_region_available_dpa()
214 available += nd_blk_available_dpa(nd_mapping); nd_region_available_dpa()
398 struct nd_mapping *nd_mapping = &nd_region->mapping[i]; nd_region_notify_driver_action() local
399 struct nvdimm_drvdata *ndd = nd_mapping->ndd; nd_region_notify_driver_action()
400 struct nvdimm *nvdimm = nd_mapping->nvdimm; nd_region_notify_driver_action()
402 kfree(nd_mapping->labels); nd_region_notify_driver_action()
403 nd_mapping->labels = NULL; nd_region_notify_driver_action()
405 nd_mapping->ndd = NULL; nd_region_notify_driver_action()
449 struct nd_mapping *nd_mapping; mappingN() local
454 nd_mapping = &nd_region->mapping[n]; mappingN()
455 nvdimm = nd_mapping->nvdimm; mappingN()
458 nd_mapping->start, nd_mapping->size); mappingN()
638 struct nd_mapping *nd_mapping = &ndr_desc->nd_mapping[i]; nd_region_create() local
639 struct nvdimm *nvdimm = nd_mapping->nvdimm; nd_region_create()
641 if ((nd_mapping->start | nd_mapping->size) % SZ_4K) { nd_region_create()
657 ndbr = kzalloc(sizeof(*ndbr) + sizeof(struct nd_mapping) nd_region_create()
669 + sizeof(struct nd_mapping) nd_region_create()
693 memcpy(nd_region->mapping, ndr_desc->nd_mapping, nd_region_create()
694 sizeof(struct nd_mapping) * ndr_desc->num_mappings); nd_region_create()
696 struct nd_mapping *nd_mapping = &ndr_desc->nd_mapping[i]; nd_region_create() local
697 struct nvdimm *nvdimm = nd_mapping->nvdimm; nd_region_create()
H A Ddimm_devs.c215 struct nd_mapping *nd_mapping = &nd_region->mapping[0]; nd_blk_region_to_dimm() local
217 return nd_mapping->nvdimm; nd_blk_region_to_dimm()
221 struct nvdimm_drvdata *to_ndd(struct nd_mapping *nd_mapping) to_ndd() argument
223 struct nvdimm *nvdimm = nd_mapping->nvdimm; to_ndd()
374 * @nd_mapping: container of dpa-resource-root + labels
378 resource_size_t nd_blk_available_dpa(struct nd_mapping *nd_mapping) nd_blk_available_dpa() argument
380 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); nd_blk_available_dpa()
387 map_end = nd_mapping->start + nd_mapping->size - 1; for_each_dpa_resource()
389 if (res->start >= nd_mapping->start && res->start < map_end) { for_each_dpa_resource()
393 } else if (res->end >= nd_mapping->start
395 busy += res->end - nd_mapping->start;
396 } else if (nd_mapping->start > res->start
397 && nd_mapping->start < res->end) {
399 busy += nd_mapping->size;
402 available = map_end - nd_mapping->start + 1;
410 * @nd_mapping: container of dpa-resource-root + labels
424 struct nd_mapping *nd_mapping, resource_size_t *overlap) nd_pmem_available_dpa()
427 struct nvdimm_drvdata *ndd = to_ndd(nd_mapping); nd_pmem_available_dpa()
434 map_start = nd_mapping->start; nd_pmem_available_dpa()
435 map_end = map_start + nd_mapping->size - 1; nd_pmem_available_dpa()
466 busy += nd_mapping->size;
423 nd_pmem_available_dpa(struct nd_region *nd_region, struct nd_mapping *nd_mapping, resource_size_t *overlap) nd_pmem_available_dpa() argument
H A Dnd-core.h69 struct nd_mapping;
71 struct nd_mapping *nd_mapping, resource_size_t *overlap);
72 resource_size_t nd_blk_available_dpa(struct nd_mapping *nd_mapping);
76 struct nd_mapping;
H A Dnd.h114 struct nd_mapping mapping[0];
182 struct nvdimm_drvdata *to_ndd(struct nd_mapping *nd_mapping);
/linux-4.4.14/include/linux/
H A Dlibnvdimm.h56 struct nd_mapping { struct
63 * get_ndd() + put_ndd(), all other nd_mapping to ndd
90 struct nd_mapping *nd_mapping; member in struct:nd_region_desc
/linux-4.4.14/drivers/acpi/
H A Dnfit.c1013 struct nd_mapping *nd_mapping = &ndr_desc->nd_mapping[i]; acpi_nfit_init_interleave_set() local
1015 struct nvdimm *nvdimm = nd_mapping->nvdimm; acpi_nfit_init_interleave_set()
1476 struct nd_mapping *nd_mapping, struct nd_region_desc *ndr_desc, acpi_nfit_init_mapping()
1492 nd_mapping->nvdimm = nvdimm; acpi_nfit_init_mapping()
1496 nd_mapping->start = memdev->address; acpi_nfit_init_mapping()
1497 nd_mapping->size = memdev->region_size; acpi_nfit_init_mapping()
1505 nd_mapping->size = nfit_mem->bdw->capacity; acpi_nfit_init_mapping()
1506 nd_mapping->start = nfit_mem->bdw->start_address; acpi_nfit_init_mapping()
1511 ndr_desc->nd_mapping = nd_mapping; acpi_nfit_init_mapping()
1528 static struct nd_mapping nd_mappings[ND_MAX_MAPPINGS]; acpi_nfit_register_region()
1563 struct nd_mapping *nd_mapping; acpi_nfit_register_region() local
1572 nd_mapping = &nd_mappings[count++]; acpi_nfit_register_region()
1573 rc = acpi_nfit_init_mapping(acpi_desc, nd_mapping, ndr_desc, acpi_nfit_register_region()
1579 ndr_desc->nd_mapping = nd_mappings; acpi_nfit_register_region()
1475 acpi_nfit_init_mapping(struct acpi_nfit_desc *acpi_desc, struct nd_mapping *nd_mapping, struct nd_region_desc *ndr_desc, struct acpi_nfit_memory_map *memdev, struct acpi_nfit_system_address *spa) acpi_nfit_init_mapping() argument

Completed in 180 milliseconds