drivers/nvdimm/dimm_devs.c
212
struct nvdimm_drvdata *to_ndd(struct nd_mapping *nd_mapping)
drivers/nvdimm/dimm_devs.c
214
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/dimm_devs.c
718
struct nd_mapping *nd_mapping)
drivers/nvdimm/dimm_devs.c
720
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/dimm_devs.c
735
if (__reserve_free_pmem(&nd_region->dev, nd_mapping->nvdimm))
drivers/nvdimm/dimm_devs.c
750
release_free_pmem(nvdimm_bus, nd_mapping);
drivers/nvdimm/dimm_devs.c
765
struct nd_mapping *nd_mapping)
drivers/nvdimm/dimm_devs.c
767
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/dimm_devs.c
779
map_start = nd_mapping->start;
drivers/nvdimm/dimm_devs.c
780
map_end = map_start + nd_mapping->size - 1;
drivers/nvdimm/dimm_devs.c
797
busy += nd_mapping->size;
drivers/nvdimm/dimm_devs.c
801
if (busy < nd_mapping->size)
drivers/nvdimm/dimm_devs.c
802
return ALIGN_DOWN(nd_mapping->size - busy, align);
drivers/nvdimm/label.c
1012
static int del_labels(struct nd_mapping *nd_mapping, uuid_t *uuid)
drivers/nvdimm/label.c
1014
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/label.c
1029
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/label.c
1030
list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) {
drivers/nvdimm/label.c
1045
list_splice_tail_init(&list, &nd_mapping->labels);
drivers/nvdimm/label.c
1048
nd_mapping_free_labels(nd_mapping);
drivers/nvdimm/label.c
1051
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/label.c
1063
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/label.c
1064
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/label.c
1069
rc = del_labels(nd_mapping, nspm->uuid);
drivers/nvdimm/label.c
1080
rc = init_labels(nd_mapping, count);
drivers/nvdimm/label.c
1084
rc = __pmem_label_update(nd_region, nd_mapping, nspm, i,
drivers/nvdimm/label.c
1095
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/label.c
1097
rc = __pmem_label_update(nd_region, nd_mapping, nspm, i, 0);
drivers/nvdimm/label.c
809
static void reap_victim(struct nd_mapping *nd_mapping,
drivers/nvdimm/label.c
812
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/label.c
875
struct nd_mapping *nd_mapping, struct nd_namespace_pmem *nspm,
drivers/nvdimm/label.c
880
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/label.c
938
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/label.c
939
list_for_each_entry(label_ent, &nd_mapping->labels, list) {
drivers/nvdimm/label.c
944
reap_victim(nd_mapping, label_ent);
drivers/nvdimm/label.c
951
list_for_each_entry(label_ent, &nd_mapping->labels, list)
drivers/nvdimm/label.c
963
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/label.c
968
static int init_labels(struct nd_mapping *nd_mapping, int num_labels)
drivers/nvdimm/label.c
973
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/label.c
975
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/label.c
976
list_for_each_entry(label_ent, &nd_mapping->labels, list)
drivers/nvdimm/label.c
978
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/label.c
988
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/label.c
989
list_add_tail(&label_ent->list, &nd_mapping->labels);
drivers/nvdimm/label.c
990
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
1000
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
1001
list_for_each_entry(label_ent, &nd_mapping->labels, list) {
drivers/nvdimm/namespace_devs.c
1014
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
1159
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
1160
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1178
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
1179
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1563
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
1565
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1569
list_for_each_entry(label_ent, &nd_mapping->labels, list) {
drivers/nvdimm/namespace_devs.c
1610
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
1611
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1616
lockdep_assert_held(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
1617
list_for_each_entry(label_ent, &nd_mapping->labels, list) {
drivers/nvdimm/namespace_devs.c
1635
hw_start = nd_mapping->start;
drivers/nvdimm/namespace_devs.c
1636
hw_end = hw_start + nd_mapping->size;
drivers/nvdimm/namespace_devs.c
1650
list_move(&label_ent->list, &nd_mapping->labels);
drivers/nvdimm/namespace_devs.c
1664
struct nd_mapping *nd_mapping,
drivers/nvdimm/namespace_devs.c
1667
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1746
nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
1747
label_ent = list_first_entry_or_null(&nd_mapping->labels,
drivers/nvdimm/namespace_devs.c
1756
ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1887
struct nd_mapping *nd_mapping = &nd_region->mapping[0];
drivers/nvdimm/namespace_devs.c
1888
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1930
struct nd_mapping *nd_mapping = &nd_region->mapping[0];
drivers/nvdimm/namespace_devs.c
1931
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
1932
resource_size_t map_end = nd_mapping->start + nd_mapping->size - 1;
drivers/nvdimm/namespace_devs.c
1939
list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) {
drivers/nvdimm/namespace_devs.c
1947
if (nsl_get_dpa(ndd, nd_label) < nd_mapping->start ||
drivers/nvdimm/namespace_devs.c
1965
dev = create_namespace_pmem(nd_region, nd_mapping, nd_label);
drivers/nvdimm/namespace_devs.c
1986
nd_mapping_free_labels(nd_mapping);
drivers/nvdimm/namespace_devs.c
2002
nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
2003
if (list_empty(&nd_mapping->labels)) {
drivers/nvdimm/namespace_devs.c
2009
list_for_each_safe(l, e, &nd_mapping->labels) {
drivers/nvdimm/namespace_devs.c
2014
nd_mapping_free_labels(nd_mapping);
drivers/nvdimm/namespace_devs.c
2015
list_splice_init(&list, &nd_mapping->labels);
drivers/nvdimm/namespace_devs.c
2034
struct nd_mapping *nd_mapping;
drivers/nvdimm/namespace_devs.c
2043
nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
2044
mutex_lock_nested(&nd_mapping->lock, i);
drivers/nvdimm/namespace_devs.c
2052
nd_mapping = &nd_region->mapping[reverse];
drivers/nvdimm/namespace_devs.c
2053
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
2065
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
2066
struct nvdimm_drvdata *ndd = nd_mapping->ndd;
drivers/nvdimm/namespace_devs.c
2067
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/namespace_devs.c
2069
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
2070
nd_mapping_free_labels(nd_mapping);
drivers/nvdimm/namespace_devs.c
2071
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
2074
nd_mapping->ndd = NULL;
drivers/nvdimm/namespace_devs.c
2085
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
2086
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
2087
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/namespace_devs.c
2104
dev_name(&nd_mapping->nvdimm->dev),
drivers/nvdimm/namespace_devs.c
2110
nd_mapping->ndd = ndd;
drivers/nvdimm/namespace_devs.c
2127
mutex_lock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
2128
list_add_tail(&label_ent->list, &nd_mapping->labels);
drivers/nvdimm/namespace_devs.c
2129
mutex_unlock(&nd_mapping->lock);
drivers/nvdimm/namespace_devs.c
295
struct nd_mapping *nd_mapping, struct nd_label_id *label_id,
drivers/nvdimm/namespace_devs.c
298
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
349
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
352
rc = scan_free(nd_region, nd_mapping, label_id, n);
drivers/nvdimm/namespace_devs.c
361
struct nd_region *nd_region, struct nd_mapping *nd_mapping,
drivers/nvdimm/namespace_devs.c
364
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
369
res = nvdimm_allocate_dpa(ndd, label_id, nd_mapping->start, n);
drivers/nvdimm/namespace_devs.c
435
struct nd_mapping *nd_mapping, struct nd_label_id *label_id,
drivers/nvdimm/namespace_devs.c
438
resource_size_t mapping_end = nd_mapping->start + nd_mapping->size - 1;
drivers/nvdimm/namespace_devs.c
439
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
448
valid.start = nd_mapping->start;
drivers/nvdimm/namespace_devs.c
463
if (res->end < nd_mapping->start)
drivers/nvdimm/namespace_devs.c
467
if (!first++ && res->start > nd_mapping->start) {
drivers/nvdimm/namespace_devs.c
468
valid.start = nd_mapping->start;
drivers/nvdimm/namespace_devs.c
572
return init_dpa_allocation(label_id, nd_region, nd_mapping, n);
drivers/nvdimm/namespace_devs.c
577
struct nd_mapping *nd_mapping, struct nd_label_id *label_id)
drivers/nvdimm/namespace_devs.c
579
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
624
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
627
if (nd_mapping->nvdimm != nvdimm)
drivers/nvdimm/namespace_devs.c
630
n = nd_pmem_available_dpa(nd_region, nd_mapping);
drivers/nvdimm/namespace_devs.c
633
rem = scan_allocate(nd_region, nd_mapping, &label_id, n);
drivers/nvdimm/namespace_devs.c
645
struct nd_mapping *nd_mapping)
drivers/nvdimm/namespace_devs.c
647
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
676
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
680
rem = scan_allocate(nd_region, nd_mapping, label_id, rem);
drivers/nvdimm/namespace_devs.c
688
rc = merge_dpa(nd_region, nd_mapping, label_id);
drivers/nvdimm/namespace_devs.c
708
struct nd_mapping *nd_mapping = &nd_region->mapping[0];
drivers/nvdimm/namespace_devs.c
709
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
723
offset = (res->start - nd_mapping->start)
drivers/nvdimm/namespace_devs.c
752
struct nd_mapping *nd_mapping;
drivers/nvdimm/namespace_devs.c
789
nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
790
ndd = to_ndd(nd_mapping);
drivers/nvdimm/namespace_devs.c
902
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
903
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/namespace_devs.c
974
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
983
if (list_empty(&nd_mapping->labels))
drivers/nvdimm/namespace_devs.c
990
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/namespace_devs.c
991
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/nd-core.h
117
struct nd_mapping;
drivers/nvdimm/nd-core.h
118
void nd_mapping_free_labels(struct nd_mapping *nd_mapping);
drivers/nvdimm/nd-core.h
122
struct nd_mapping *nd_mapping);
drivers/nvdimm/nd-core.h
125
struct nd_mapping *nd_mapping);
drivers/nvdimm/nd-core.h
128
struct nd_mapping *nd_mapping);
drivers/nvdimm/nd.h
425
struct nd_mapping mapping[] __counted_by(ndr_mappings);
drivers/nvdimm/nd.h
511
struct nvdimm_drvdata *to_ndd(struct nd_mapping *nd_mapping);
drivers/nvdimm/region_devs.c
113
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
114
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
1180
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
1181
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
158
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
159
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
190
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
191
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
238
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
239
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
259
struct nd_mapping *nd_mapping = &nd_region->mapping[0];
drivers/nvdimm/region_devs.c
261
return nd_mapping->size;
drivers/nvdimm/region_devs.c
347
struct nd_mapping *nd_mapping = &nd_region->mapping[0];
drivers/nvdimm/region_devs.c
348
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/region_devs.c
375
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
376
struct nvdimm_drvdata *ndd = to_ndd(nd_mapping);
drivers/nvdimm/region_devs.c
382
available += nd_pmem_available_dpa(nd_region, nd_mapping);
drivers/nvdimm/region_devs.c
395
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
398
nd_region, nd_mapping));
drivers/nvdimm/region_devs.c
68
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
69
struct nvdimm *nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
692
struct nd_mapping *nd_mapping;
drivers/nvdimm/region_devs.c
697
nd_mapping = &nd_region->mapping[n];
drivers/nvdimm/region_devs.c
698
nvdimm = nd_mapping->nvdimm;
drivers/nvdimm/region_devs.c
701
nd_mapping->start, nd_mapping->size,
drivers/nvdimm/region_devs.c
702
nd_mapping->position);
drivers/nvdimm/region_devs.c
859
void nd_mapping_free_labels(struct nd_mapping *nd_mapping)
drivers/nvdimm/region_devs.c
863
lockdep_assert_held(&nd_mapping->lock);
drivers/nvdimm/region_devs.c
864
list_for_each_entry_safe(label_ent, e, &nd_mapping->labels, list) {
drivers/nvdimm/region_devs.c
96
struct nd_mapping *nd_mapping = &nd_region->mapping[i];
drivers/nvdimm/region_devs.c
97
struct nvdimm *nvdimm = nd_mapping->nvdimm;
tools/testing/nvdimm/test/nfit.c
668
struct nd_mapping *nd_mapping = NULL;
tools/testing/nvdimm/test/nfit.c
689
nd_mapping = &nd_region->mapping[nd_region->ndr_mappings - 1];
tools/testing/nvdimm/test/nfit.c
690
nvdimm = nd_mapping->nvdimm;