Home
last modified time | relevance | path

Searched refs:nvdimm_bus (Results 1 – 17 of 17) sorted by relevance

/Linux-v4.19/drivers/nvdimm/
Dbus.c71 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 …]
Dcore.c32 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 …]
De820.c23 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()
Dnd-core.h26 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,
Ddimm_devs.c68 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 …]
Dregion_devs.c713 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 …]
Dbadrange.c280 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()
Dclaim.c24 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()
Dof_pmem.c25 struct nvdimm_bus *bus;
32 struct nvdimm_bus *bus; in of_pmem_region_probe()
Dnamespace_devs.c127 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 …]
Dnd.h166 int (*enable)(struct nvdimm_bus *nvdimm_bus, struct device *dev);
/Linux-v4.19/include/linux/
Dlibnvdimm.h140 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/
Dcore.c1191 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 …]
Dnfit.h197 struct nvdimm_bus *nvdimm_bus; member
Dmce.c69 nvdimm_bus_add_badrange(acpi_desc->nvdimm_bus, in nfit_handle_mce()
/Linux-v4.19/Documentation/nvdimm/
Dnvdimm.txt304 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/
Dnfit.c654 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()