| /linux/drivers/nvdimm/ |
| A D | claim.c | 19 if (!ndns) in __nd_detach_ndns() 25 ndns->claim = NULL; in __nd_detach_ndns() 27 put_device(&ndns->dev); in __nd_detach_ndns() 35 if (!ndns) in nd_detach_ndns() 37 get_device(&ndns->dev); in nd_detach_ndns() 38 nvdimm_bus_lock(&ndns->dev); in nd_detach_ndns() 41 put_device(&ndns->dev); in nd_detach_ndns() 160 ndns = *_ndns; in nd_namespace_store() 164 } else if (ndns) { in nd_namespace_store() 166 dev_name(&ndns->dev)); in nd_namespace_store() [all …]
|
| A D | btt_devs.c | 22 nd_detach_ndns(&nd_btt->dev, &nd_btt->ndns); in nd_btt_release() 100 rc = sprintf(buf, "%s\n", nd_btt->ndns in namespace_show() 101 ? dev_name(&nd_btt->ndns->dev) : ""); in namespace_show() 209 if (ndns && !__nd_attach_ndns(&nd_btt->dev, ndns, &nd_btt->ndns)) { in __nd_btt_create() 211 dev_name(ndns->claim)); in __nd_btt_create() 313 if (!btt_sb || !ndns || !nd_btt) in __nd_btt_probe() 340 if (ndns->force_raw) in nd_btt_probe() 343 switch (ndns->claim_class) { in nd_btt_probe() 352 nvdimm_bus_lock(&ndns->dev); in nd_btt_probe() 354 nvdimm_bus_unlock(&ndns->dev); in nd_btt_probe() [all …]
|
| A D | pfn_devs.c | 207 struct nd_namespace_common *ndns = nd_pfn->ndns; in resource_show() local 233 struct nd_namespace_common *ndns = nd_pfn->ndns; in size_show() local 307 if (ndns && !__nd_attach_ndns(&nd_pfn->dev, ndns, &nd_pfn->ndns)) { in nd_pfn_devinit() 309 dev_name(ndns->claim)); in nd_pfn_devinit() 363 struct nd_namespace_common *ndns = nd_pfn->ndns; in nd_pfn_clear_memmap_errors() local 454 struct nd_namespace_common *ndns = nd_pfn->ndns; in nd_pfn_validate() local 457 if (!pfn_sb || !ndns) in nd_pfn_validate() 585 dev_name(&ndns->dev)); in nd_pfn_validate() 621 if (ndns->force_raw) in nd_pfn_probe() 682 struct nd_namespace_common *ndns = nd_pfn->ndns; in __nvdimm_setup_pfn() local [all …]
|
| A D | pmem.c | 436 dev_name(&ndns->dev))) { in pmem_attach_disk() 533 struct nd_namespace_common *ndns; in nd_pmem_probe() local 536 if (IS_ERR(ndns)) in nd_pmem_probe() 537 return PTR_ERR(ndns); in nd_pmem_probe() 549 ret = nd_btt_probe(dev, ndns); in nd_pmem_probe() 564 ret = nd_pfn_probe(dev, ndns); in nd_pmem_probe() 570 ret = nd_dax_probe(dev, ndns); in nd_pmem_probe() 608 struct nd_namespace_common *ndns; in pmem_revalidate_poison() local 617 ndns = nd_btt->ndns; in pmem_revalidate_poison() 633 ndns = nd_pfn->ndns; in pmem_revalidate_poison() [all …]
|
| A D | namespace_devs.c | 120 if (ndns->force_raw) in pmem_should_map_pages() 162 if (ndns->claim && is_nd_btt(ndns->claim)) in nvdimm_namespace_disk_name() 165 if (is_namespace_pmem(&ndns->dev) || is_namespace_io(&ndns->dev)) { in nvdimm_namespace_disk_name() 1488 rc = sprintf(buf, "%s\n", ndns->claim ? dev_name(ndns->claim) : ""); in holder_show() 1705 ndns = nd_btt->ndns; in nvdimm_namespace_common_probe() 1707 ndns = nd_pfn->ndns; in nvdimm_namespace_common_probe() 1709 ndns = nd_dax->nd_pfn.ndns; in nvdimm_namespace_common_probe() 1711 if (!ndns) in nvdimm_namespace_common_probe() 1725 if (dev_WARN_ONCE(&ndns->dev, ndns->claim != dev, in nvdimm_namespace_common_probe() 1732 if (ndns->claim) { in nvdimm_namespace_common_probe() [all …]
|
| A D | dax_devs.c | 20 nd_detach_ndns(dev, &nd_pfn->ndns); in nd_dax_release() 87 int nd_dax_probe(struct device *dev, struct nd_namespace_common *ndns) in nd_dax_probe() argument 94 struct nd_region *nd_region = to_nd_region(ndns->dev.parent); in nd_dax_probe() 96 if (ndns->force_raw) in nd_dax_probe() 99 switch (ndns->claim_class) { in nd_dax_probe() 107 nvdimm_bus_lock(&ndns->dev); in nd_dax_probe() 110 dax_dev = nd_pfn_devinit(nd_pfn, ndns); in nd_dax_probe() 111 nvdimm_bus_unlock(&ndns->dev); in nd_dax_probe() 119 nd_detach_ndns(dax_dev, &nd_pfn->ndns); in nd_dax_probe()
|
| A D | blk.c | 204 static int nsblk_rw_bytes(struct nd_namespace_common *ndns, in nsblk_rw_bytes() argument 215 dev_WARN_ONCE(&ndns->dev, 1, "request out of range\n"); in nsblk_rw_bytes() 285 struct nd_namespace_common *ndns; in nd_blk_probe() local 288 ndns = nvdimm_namespace_common_probe(dev); in nd_blk_probe() 289 if (IS_ERR(ndns)) in nd_blk_probe() 290 return PTR_ERR(ndns); in nd_blk_probe() 292 nsblk = to_nd_namespace_blk(&ndns->dev); in nd_blk_probe() 293 nsblk->size = nvdimm_namespace_capacity(ndns); in nd_blk_probe() 296 ndns->rw_bytes = nsblk_rw_bytes; in nd_blk_probe() 298 return nvdimm_namespace_attach_btt(ndns); in nd_blk_probe() [all …]
|
| A D | nd.h | 461 struct nd_namespace_common *ndns; member 486 struct nd_namespace_common *ndns; member 554 int nd_btt_probe(struct device *dev, struct nd_namespace_common *ndns); 559 struct nd_namespace_common *ndns) in nd_btt_probe() argument 584 struct nd_namespace_common *ndns); 589 struct nd_namespace_common *ndns) in nd_pfn_probe() argument 617 struct nd_namespace_common *ndns) in nd_dax_probe() argument 650 bool nvdimm_namespace_locked(struct nd_namespace_common *ndns); 652 int nvdimm_namespace_attach_btt(struct nd_namespace_common *ndns); 656 unsigned int pmem_sector_size(struct nd_namespace_common *ndns); [all …]
|
| A D | btt.c | 42 struct nd_namespace_common *ndns = nd_btt->ndns; in arena_read_bytes() local 46 return nvdimm_read_bytes(ndns, offset, buf, n, flags); in arena_read_bytes() 53 struct nd_namespace_common *ndns = nd_btt->ndns; in arena_write_bytes() local 57 return nvdimm_write_bytes(ndns, offset, buf, n, flags); in arena_write_bytes() 1521 struct nd_namespace_common *ndns = nd_btt->ndns; in btt_blk_init() local 1601 nsio = to_nd_namespace_io(&nd_btt->ndns->dev); in btt_init() 1664 struct nd_btt *nd_btt = to_nd_btt(ndns->claim); in nvdimm_namespace_attach_btt() 1680 size = nvdimm_namespace_capacity(ndns); in nvdimm_namespace_attach_btt() 1681 rc = devm_namespace_enable(&nd_btt->dev, ndns, size); in nvdimm_namespace_attach_btt() 1691 nd_btt_version(nd_btt, ndns, btt_sb); in nvdimm_namespace_attach_btt() [all …]
|
| A D | bus.c | 951 struct nd_namespace_common *ndns = NULL; in nd_pmem_forget_poison_check() local 963 ndns = nd_btt->ndns; in nd_pmem_forget_poison_check() 965 ndns = nd_pfn->ndns; in nd_pmem_forget_poison_check() 967 ndns = nd_dax->nd_pfn.ndns; in nd_pmem_forget_poison_check() 969 if (!ndns) in nd_pmem_forget_poison_check() 972 ndns = to_ndns(dev); in nd_pmem_forget_poison_check() 974 nsio = to_nd_namespace_io(&ndns->dev); in nd_pmem_forget_poison_check()
|
| A D | btt.h | 236 int nd_btt_version(struct nd_btt *nd_btt, struct nd_namespace_common *ndns,
|
| A D | label.c | 881 struct nd_namespace_common *ndns = &nspm->nsio.common; in __pmem_label_update() local 929 nsl_set_claim_class(ndd, nd_label, ndns->claim_class); in __pmem_label_update() 1063 struct nd_namespace_common *ndns = &nsblk->common; in __blk_label_update() local 1191 nsl_set_claim_class(ndd, nd_label, ndns->claim_class); in __blk_label_update()
|
| A D | nd-core.h | 158 resource_size_t __nvdimm_namespace_capacity(struct nd_namespace_common *ndns);
|
| A D | region_devs.c | 912 if (nd_region->ns_seed == &nd_btt->ndns->dev) in nd_region_advance_seeds() 919 if (nd_region->ns_seed == &nd_pfn->ndns->dev) in nd_region_advance_seeds() 926 if (nd_region->ns_seed == &nd_dax->nd_pfn.ndns->dev) in nd_region_advance_seeds()
|
| /linux/drivers/dax/pmem/ |
| A D | core.c | 21 struct nd_namespace_common *ndns; in __dax_pmem_probe() local 26 ndns = nvdimm_namespace_common_probe(dev); in __dax_pmem_probe() 27 if (IS_ERR(ndns)) in __dax_pmem_probe() 28 return ERR_CAST(ndns); in __dax_pmem_probe() 31 rc = devm_namespace_enable(dev, ndns, nd_info_block_reserve()); in __dax_pmem_probe() 37 devm_namespace_disable(dev, ndns); in __dax_pmem_probe() 42 nsio = to_nd_namespace_io(&ndns->dev); in __dax_pmem_probe() 44 dev_name(&ndns->dev))) { in __dax_pmem_probe() 49 rc = sscanf(dev_name(&ndns->dev), "namespace%d.%d", ®ion_id, &id); in __dax_pmem_probe()
|
| /linux/include/linux/ |
| A D | nd.h | 142 static inline int nvdimm_read_bytes(struct nd_namespace_common *ndns, in nvdimm_read_bytes() argument 146 return ndns->rw_bytes(ndns, offset, buf, size, READ, flags); in nvdimm_read_bytes() 161 static inline int nvdimm_write_bytes(struct nd_namespace_common *ndns, in nvdimm_write_bytes() argument 165 return ndns->rw_bytes(ndns, offset, buf, size, WRITE, flags); in nvdimm_write_bytes()
|
| /linux/Documentation/driver-api/nvdimm/ |
| A D | nvdimm.rst | 733 struct ndctl_namespace *ndns; 735 ndctl_namespace_foreach(region, ndns) 736 if (ndctl_namespace_get_id(ndns) == id) 737 return ndns; 754 struct ndctl_namespace *ndns, 762 ndctl_namespace_set_alt_name(ndns, devname); 764 ndctl_namespace_set_uuid(ndns, paramaters->uuid); 765 ndctl_namespace_set_size(ndns, paramaters->size); 769 ndctl_namespace_enable(ndns); 839 ndctl_btt_set_namespace(btt, parameters->ndns); [all …]
|