/Linux-v4.19/drivers/nvdimm/ |
D | bus.c | 71 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in to_bus_provider() local 73 return nvdimm_bus->nd_desc->module; in to_bus_provider() 78 static void nvdimm_bus_probe_start(struct nvdimm_bus *nvdimm_bus) in nvdimm_bus_probe_start() argument 80 nvdimm_bus_lock(&nvdimm_bus->dev); in nvdimm_bus_probe_start() 81 nvdimm_bus->probe_active++; in nvdimm_bus_probe_start() 82 nvdimm_bus_unlock(&nvdimm_bus->dev); in nvdimm_bus_probe_start() 85 static void nvdimm_bus_probe_end(struct nvdimm_bus *nvdimm_bus) in nvdimm_bus_probe_end() argument 87 nvdimm_bus_lock(&nvdimm_bus->dev); in nvdimm_bus_probe_end() 88 if (--nvdimm_bus->probe_active == 0) in nvdimm_bus_probe_end() 89 wake_up(&nvdimm_bus->probe_wait); in nvdimm_bus_probe_end() [all …]
|
D | core.c | 32 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in nvdimm_bus_lock() local 34 if (!nvdimm_bus) in nvdimm_bus_lock() 36 mutex_lock(&nvdimm_bus->reconfig_mutex); in nvdimm_bus_lock() 42 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in nvdimm_bus_unlock() local 44 if (!nvdimm_bus) in nvdimm_bus_unlock() 46 mutex_unlock(&nvdimm_bus->reconfig_mutex); in nvdimm_bus_unlock() 52 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in is_nvdimm_bus_locked() local 54 if (!nvdimm_bus) in is_nvdimm_bus_locked() 56 return mutex_is_locked(&nvdimm_bus->reconfig_mutex); in is_nvdimm_bus_locked() 61 struct nvdimm_bus *nvdimm_bus; member [all …]
|
D | e820.c | 23 struct nvdimm_bus *nvdimm_bus = platform_get_drvdata(pdev); in e820_pmem_remove() local 25 nvdimm_bus_unregister(nvdimm_bus); in e820_pmem_remove() 44 struct nvdimm_bus *nvdimm_bus = data; in e820_register_one() local 51 if (!nvdimm_pmem_region_create(nvdimm_bus, &ndr_desc)) in e820_register_one() 60 struct nvdimm_bus *nvdimm_bus; in e820_pmem_probe() local 66 nvdimm_bus = nvdimm_bus_register(dev, &nd_desc); in e820_pmem_probe() 67 if (!nvdimm_bus) in e820_pmem_probe() 69 platform_set_drvdata(pdev, nvdimm_bus); in e820_pmem_probe() 72 IORESOURCE_MEM, 0, -1, nvdimm_bus, e820_register_one); in e820_pmem_probe() 77 nvdimm_bus_unregister(nvdimm_bus); in e820_pmem_probe()
|
D | nd-core.h | 26 struct nvdimm_bus { struct 76 struct nvdimm_bus *walk_to_nvdimm_bus(struct device *nd_dev); 81 void nd_region_probe_success(struct nvdimm_bus *nvdimm_bus, struct device *dev); 87 void nd_region_disable(struct nvdimm_bus *nvdimm_bus, struct device *dev); 88 int nvdimm_bus_create_ndctl(struct nvdimm_bus *nvdimm_bus); 89 void nvdimm_bus_destroy_ndctl(struct nvdimm_bus *nvdimm_bus); 91 int nvdimm_bus_register_dimms(struct nvdimm_bus *nvdimm_bus); 92 int nvdimm_bus_register_regions(struct nvdimm_bus *nvdimm_bus); 93 int nvdimm_bus_init_interleave_sets(struct nvdimm_bus *nvdimm_bus); 105 void release_free_pmem(struct nvdimm_bus *nvdimm_bus,
|
D | dimm_devs.c | 68 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(ndd->dev); in nvdimm_init_nsarea() local 80 nd_desc = nvdimm_bus->nd_desc; in nvdimm_init_nsarea() 90 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(ndd->dev); in nvdimm_init_config_data() local 119 nd_desc = nvdimm_bus->nd_desc; in nvdimm_init_config_data() 148 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(ndd->dev); in nvdimm_set_config_data() local 149 struct nvdimm_bus_descriptor *nd_desc = nvdimm_bus->nd_desc; in nvdimm_set_config_data() 398 struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void *provider_data, in nvdimm_create() argument 422 dev->parent = &nvdimm_bus->dev; in nvdimm_create() 514 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(&nd_region->dev); in nd_blk_available_dpa() local 527 device_for_each_child(&nvdimm_bus->dev, &info, alias_dpa_busy); in nd_blk_available_dpa() [all …]
|
D | region_devs.c | 713 static void nd_region_notify_driver_action(struct nvdimm_bus *nvdimm_bus, in nd_region_notify_driver_action() argument 779 void nd_region_probe_success(struct nvdimm_bus *nvdimm_bus, struct device *dev) in nd_region_probe_success() argument 781 nd_region_notify_driver_action(nvdimm_bus, dev, true); in nd_region_probe_success() 784 void nd_region_disable(struct nvdimm_bus *nvdimm_bus, struct device *dev) in nd_region_disable() argument 786 nd_region_notify_driver_action(nvdimm_bus, dev, false); in nd_region_disable() 905 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in nd_blk_region_init() local 915 return to_nd_blk_region(dev)->enable(nvdimm_bus, dev); in nd_blk_region_init() 971 static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus, in nd_region_create() argument 986 dev_err(&nvdimm_bus->dev, "%s: %s mapping%d is not 4K aligned\n", in nd_region_create() 1062 dev->parent = &nvdimm_bus->dev; in nd_region_create() [all …]
|
D | badrange.c | 280 struct nvdimm_bus *nvdimm_bus; in nvdimm_badblocks_populate() local 287 nvdimm_bus = walk_to_nvdimm_bus(&nd_region->dev); in nvdimm_badblocks_populate() 289 nvdimm_bus_lock(&nvdimm_bus->dev); in nvdimm_badblocks_populate() 290 badblocks_populate(&nvdimm_bus->badrange, bb, res); in nvdimm_badblocks_populate() 291 nvdimm_bus_unlock(&nvdimm_bus->dev); in nvdimm_badblocks_populate()
|
D | claim.c | 24 struct nvdimm_bus *nvdimm_bus; in __nd_detach_ndns() local 29 nvdimm_bus = walk_to_nvdimm_bus(&ndns->dev); in __nd_detach_ndns() 30 lockdep_assert_held(&nvdimm_bus->reconfig_mutex); in __nd_detach_ndns() 54 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(&attach->dev); in __nd_attach_ndns() local 58 lockdep_assert_held(&nvdimm_bus->reconfig_mutex); in __nd_attach_ndns()
|
D | of_pmem.c | 25 struct nvdimm_bus *bus; 32 struct nvdimm_bus *bus; in of_pmem_region_probe()
|
D | namespace_devs.c | 127 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); in nd_is_uuid_unique() local 129 if (!nvdimm_bus) in nd_is_uuid_unique() 131 WARN_ON_ONCE(!is_nvdimm_bus_locked(&nvdimm_bus->dev)); in nd_is_uuid_unique() 132 if (device_for_each_child(&nvdimm_bus->dev, uuid, in nd_is_uuid_unique() 584 struct nvdimm_bus *nvdimm_bus; in space_valid() local 592 nvdimm_bus = walk_to_nvdimm_bus(&nd_region->dev); in space_valid() 593 device_for_each_child(&nvdimm_bus->dev, &info, alias_dpa_busy); in space_valid() 839 void release_free_pmem(struct nvdimm_bus *nvdimm_bus, in release_free_pmem() argument 850 static int reserve_free_pmem(struct nvdimm_bus *nvdimm_bus, in reserve_free_pmem() argument 856 rc = device_for_each_child(&nvdimm_bus->dev, nvdimm, in reserve_free_pmem() [all …]
|
D | nd.h | 166 int (*enable)(struct nvdimm_bus *nvdimm_bus, struct device *dev);
|
/Linux-v4.19/include/linux/ |
D | libnvdimm.h | 140 struct nvdimm_bus; 145 int (*enable)(struct nvdimm_bus *nvdimm_bus, struct device *dev); 162 int nvdimm_bus_add_badrange(struct nvdimm_bus *nvdimm_bus, u64 addr, 164 struct nvdimm_bus *nvdimm_bus_register(struct device *parent, 166 void nvdimm_bus_unregister(struct nvdimm_bus *nvdimm_bus); 167 struct nvdimm_bus *to_nvdimm_bus(struct device *dev); 172 struct nvdimm_bus_descriptor *to_nd_desc(struct nvdimm_bus *nvdimm_bus); 173 struct device *to_nvdimm_bus_dev(struct nvdimm_bus *nvdimm_bus); 178 struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void *provider_data, 189 int nvdimm_bus_check_dimm_count(struct nvdimm_bus *nvdimm_bus, int dimm_count); [all …]
|
/Linux-v4.19/drivers/acpi/nfit/ |
D | core.c | 1191 struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev); in bus_dsm_mask_show() local 1192 struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); in bus_dsm_mask_show() 1202 struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev); in revision_show() local 1203 struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); in revision_show() 1213 struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev); in hw_error_scrub_show() local 1214 struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); in hw_error_scrub_show() 1315 static bool ars_supported(struct nvdimm_bus *nvdimm_bus) in ars_supported() argument 1317 struct nvdimm_bus_descriptor *nd_desc = to_nd_desc(nvdimm_bus); in ars_supported() 1327 struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev); in nfit_visible() local 1329 if (a == &dev_attr_scrub.attr && !ars_supported(nvdimm_bus)) in nfit_visible() [all …]
|
D | nfit.h | 197 struct nvdimm_bus *nvdimm_bus; member
|
D | mce.c | 69 nvdimm_bus_add_badrange(acpi_desc->nvdimm_bus, in nfit_handle_mce()
|
/Linux-v4.19/Documentation/nvdimm/ |
D | nvdimm.txt | 304 struct nvdimm_bus *nvdimm_bus_register(struct device *parent, 359 struct nvdimm *nvdimm_create(struct nvdimm_bus *nvdimm_bus, void *provider_data, 440 struct nd_region *nvdimm_pmem_region_create(struct nvdimm_bus *nvdimm_bus, 442 struct nd_region *nvdimm_blk_region_create(struct nvdimm_bus *nvdimm_bus,
|
/Linux-v4.19/tools/testing/nvdimm/test/ |
D | nfit.c | 654 static int nfit_test_search_spa(struct nvdimm_bus *bus, in nfit_test_search_spa() 690 static int nfit_test_cmd_translate_spa(struct nvdimm_bus *bus, in nfit_test_cmd_translate_spa() 1077 acpi_desc->nvdimm_bus, buf, buf_len); in nfit_test_ctl()
|