Home
last modified time | relevance | path

Searched refs:nvdimm (Results 1 – 25 of 40) sorted by relevance

12

/Linux-v5.15/drivers/nvdimm/
Dsecurity.c50 static struct key *nvdimm_request_key(struct nvdimm *nvdimm) in nvdimm_request_key() argument
55 struct device *dev = &nvdimm->dev; in nvdimm_request_key()
57 sprintf(desc, "%s%s", NVDIMM_PREFIX, nvdimm->dimm_id); in nvdimm_request_key()
80 static const void *nvdimm_get_key_payload(struct nvdimm *nvdimm, in nvdimm_get_key_payload() argument
83 *key = nvdimm_request_key(nvdimm); in nvdimm_get_key_payload()
90 static struct key *nvdimm_lookup_user_key(struct nvdimm *nvdimm, in nvdimm_lookup_user_key() argument
96 struct device *dev = &nvdimm->dev; in nvdimm_lookup_user_key()
120 static const void *nvdimm_get_user_key_payload(struct nvdimm *nvdimm, in nvdimm_get_user_key_payload() argument
131 *key = nvdimm_lookup_user_key(nvdimm, id, subclass); in nvdimm_get_user_key_payload()
139 static int nvdimm_key_revalidate(struct nvdimm *nvdimm) in nvdimm_key_revalidate() argument
[all …]
Ddimm_devs.c31 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_check_config_data() local
33 if (!nvdimm->cmd_mask || in nvdimm_check_config_data()
34 !test_bit(ND_CMD_GET_CONFIG_DATA, &nvdimm->cmd_mask)) { in nvdimm_check_config_data()
35 if (test_bit(NDD_LABELING, &nvdimm->flags)) in nvdimm_check_config_data()
178 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_labeling() local
180 set_bit(NDD_LABELING, &nvdimm->flags); in nvdimm_set_labeling()
185 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_locked() local
187 set_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_set_locked()
192 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_clear_locked() local
194 clear_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_clear_locked()
[all …]
Dregion_devs.c25 static int nvdimm_map_flush(struct device *dev, struct nvdimm *nvdimm, int dimm, in nvdimm_map_flush() argument
30 dev_dbg(dev, "%s: map %d flush address%s\n", nvdimm_name(nvdimm), in nvdimm_map_flush()
31 nvdimm->num_flush, nvdimm->num_flush == 1 ? "" : "es"); in nvdimm_map_flush()
33 struct resource *res = &nvdimm->flush_wpq[i]; in nvdimm_map_flush()
39 struct resource *res_j = &nvdimm->flush_wpq[j]; in nvdimm_map_flush()
72 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nd_region_activate() local
74 if (test_bit(NDD_SECURITY_OVERWRITE, &nvdimm->flags)) { in nd_region_activate()
81 num_flush = min_not_zero(num_flush, nvdimm->num_flush); in nd_region_activate()
82 if (!nvdimm->num_flush) in nd_region_activate()
84 flush_data_size += nvdimm->num_flush * sizeof(void *); in nd_region_activate()
[all …]
Dbus.c334 struct nvdimm_bus *nvdimm_to_bus(struct nvdimm *nvdimm) in nvdimm_to_bus() argument
336 return to_nvdimm_bus(nvdimm->dev.parent); in nvdimm_to_bus()
859 u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_in_size() argument
868 if (nvdimm && cmd == ND_CMD_SET_CONFIG_DATA && idx == 2) { in nd_cmd_in_size()
872 } else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) { in nd_cmd_in_size()
886 u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_out_size() argument
896 if (nvdimm && cmd == ND_CMD_GET_CONFIG_DATA && idx == 1) in nd_cmd_out_size()
898 else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) in nd_cmd_out_size()
900 else if (!nvdimm && cmd == ND_CMD_ARS_STATUS && idx == 2) { in nd_cmd_out_size()
992 struct nvdimm *nvdimm, unsigned int cmd, void *data) in nd_cmd_clear_to_send() argument
[all …]
Dnd-core.h31 struct nvdimm { struct
52 struct nvdimm *nvdimm, enum nvdimm_passphrase_type ptype) in nvdimm_security_flags() argument
60 if (!nvdimm->sec.ops) in nvdimm_security_flags()
63 flags = nvdimm->sec.ops->get_flags(nvdimm, ptype); in nvdimm_security_flags()
65 dev_WARN_ONCE(&nvdimm->dev, hweight64(flags & state_flags) > 1, in nvdimm_security_flags()
70 int nvdimm_security_freeze(struct nvdimm *nvdimm);
Dnamespace_devs.c779 struct nvdimm *nvdimm = data; in __reserve_free_pmem() local
797 if (nd_mapping->nvdimm != nvdimm) in __reserve_free_pmem()
828 struct nvdimm *nvdimm = nd_mapping->nvdimm; in reserve_free_pmem() local
831 rc = device_for_each_child(&nvdimm_bus->dev, nvdimm, in reserve_free_pmem()
1131 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nvdimm_namespace_locked() local
1133 if (test_bit(NDD_LOCKED, &nvdimm->flags)) { in nvdimm_namespace_locked()
1134 dev_dbg(dev, "%s locked\n", nvdimm_name(nvdimm)); in nvdimm_namespace_locked()
1995 struct nvdimm *nvdimm = nd_region->mapping[i].nvdimm; in create_namespace_pmem() local
2003 nvdimm_name(nvdimm), nd_label->uuid); in create_namespace_pmem()
2490 struct nvdimm *nvdimm = nd_mapping->nvdimm; in deactivate_labels() local
[all …]
/Linux-v5.15/include/linux/
Dlibnvdimm.h70 struct nvdimm;
73 struct nvdimm *nvdimm, unsigned int cmd, void *buf,
88 struct nvdimm *nvdimm, unsigned int cmd, void *data);
111 struct nvdimm *nvdimm; member
184 unsigned long (*get_flags)(struct nvdimm *nvdimm,
186 int (*freeze)(struct nvdimm *nvdimm);
187 int (*change_key)(struct nvdimm *nvdimm,
191 int (*unlock)(struct nvdimm *nvdimm,
193 int (*disable)(struct nvdimm *nvdimm,
195 int (*erase)(struct nvdimm *nvdimm,
[all …]
/Linux-v5.15/drivers/acpi/nfit/
Dintel.c52 static unsigned long intel_security_flags(struct nvdimm *nvdimm, in intel_security_flags() argument
55 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_flags()
80 if (nvdimm_in_overwrite(nvdimm) && ptype == NVDIMM_USER) in intel_security_flags()
83 rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL); in intel_security_flags()
86 nvdimm_name(nvdimm), rc, nd_cmd.cmd.status); in intel_security_flags()
119 static int intel_security_freeze(struct nvdimm *nvdimm) in intel_security_freeze() argument
121 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_freeze()
138 rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL); in intel_security_freeze()
146 static int intel_security_change_key(struct nvdimm *nvdimm, in intel_security_change_key() argument
151 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_change_key()
[all …]
Dcore.c187 static int xlat_nvdimm_status(struct nvdimm *nvdimm, void *buf, unsigned int cmd, in xlat_nvdimm_status() argument
190 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in xlat_nvdimm_status()
224 static int xlat_status(struct nvdimm *nvdimm, void *buf, unsigned int cmd, in xlat_status() argument
227 if (!nvdimm) in xlat_status()
229 return xlat_nvdimm_status(nvdimm, buf, cmd, status); in xlat_status()
395 static bool payload_dumpable(struct nvdimm *nvdimm, unsigned int func) in payload_dumpable() argument
397 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in payload_dumpable()
437 int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm, in acpi_nfit_ctl() argument
441 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in acpi_nfit_ctl()
463 if (nvdimm) { in acpi_nfit_ctl()
[all …]
Dnfit.h208 struct nvdimm *nvdimm; member
375 int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
/Linux-v5.15/tools/testing/nvdimm/
Ddimm_devs.c15 struct nvdimm *nvdimm = to_nvdimm(dev); in security_show() local
21 nvdimm->sec.flags = nvdimm_security_flags(nvdimm, NVDIMM_USER); in security_show()
23 if (test_bit(NVDIMM_SECURITY_DISABLED, &nvdimm->sec.flags)) in security_show()
25 if (test_bit(NVDIMM_SECURITY_UNLOCKED, &nvdimm->sec.flags)) in security_show()
27 if (test_bit(NVDIMM_SECURITY_LOCKED, &nvdimm->sec.flags)) in security_show()
/Linux-v5.15/tools/testing/nvdimm/test/
Dndtest.c300 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in ndtest_ctl() argument
311 if (!nvdimm) in ndtest_ctl()
314 dimm = nvdimm_provider_data(nvdimm); in ndtest_ctl()
369 struct nvdimm *nvdimm; in ndtest_blk_region_enable() local
373 nvdimm = nd_blk_region_to_dimm(ndbr); in ndtest_blk_region_enable()
374 dimm = nvdimm_provider_data(nvdimm); in ndtest_blk_region_enable()
386 dev_err(dev, "%s failed to map blk dimm\n", nvdimm_name(nvdimm)); in ndtest_blk_region_enable()
564 mappings[0].nvdimm = p->config->dimms[ndimm].nvdimm; in ndtest_create_region()
581 mappings[i].nvdimm = p->config->dimms[ndimm].nvdimm; in ndtest_create_region()
699 struct nvdimm *nvdimm = to_nvdimm(dev); in phys_id_show() local
[all …]
Dndtest.h65 struct nvdimm *nvdimm; member
DKbuild2 ccflags-y := -I$(srctree)/drivers/nvdimm/
Dnfit.c669 struct nvdimm *nvdimm = NULL; in nfit_test_search_spa() local
691 nvdimm = nd_mapping->nvdimm; in nfit_test_search_spa()
693 spa->devices[0].nfit_device_handle = handle[nvdimm->id]; in nfit_test_search_spa()
1328 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in nfit_ctl_dbg() argument
1344 nvdimm ? nvdimm_name(nvdimm) : "bus", family, cmd, func, in nfit_ctl_dbg()
1351 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in nfit_test_ctl() argument
1363 nfit_ctl_dbg(acpi_desc, nvdimm, cmd, buf, buf_len); in nfit_test_ctl()
1365 if (nvdimm) { in nfit_test_ctl()
1366 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in nfit_test_ctl()
1367 unsigned long cmd_mask = nvdimm_cmd_mask(nvdimm); in nfit_test_ctl()
[all …]
/Linux-v5.15/drivers/cxl/
Dpmem.c19 static void unregister_nvdimm(void *nvdimm) in unregister_nvdimm() argument
21 nvdimm_delete(nvdimm); in unregister_nvdimm()
44 struct nvdimm *nvdimm; in cxl_nvdimm_probe() local
56 nvdimm = nvdimm_create(cxl_nvb->nvdimm_bus, cxl_nvd, NULL, flags, 0, 0, in cxl_nvdimm_probe()
58 if (!nvdimm) in cxl_nvdimm_probe()
61 rc = devm_add_action_or_reset(dev, unregister_nvdimm, nvdimm); in cxl_nvdimm_probe()
76 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in cxl_pmem_ctl() argument
Dcxl.h225 struct nvdimm *nvdimm; member
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-bus-nfit8 Contact: nvdimm@lists.linux.dev
17 Contact: nvdimm@lists.linux.dev
26 Contact: nvdimm@lists.linux.dev
34 Contact: nvdimm@lists.linux.dev
42 Contact: nvdimm@lists.linux.dev
52 Contact: nvdimm@lists.linux.dev
55 the state of the data on the nvdimm relative to its energy
71 Contact: nvdimm@lists.linux.dev
87 Contact: nvdimm@lists.linux.dev
95 Contact: nvdimm@lists.linux.dev
[all …]
Dsysfs-bus-nvdimm1 What: nvdimm
8 platform nvdimm resources. See Documentation/driver-api/nvdimm/.
Dsysfs-bus-papr-pmem4 Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
39 Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
/Linux-v5.15/arch/powerpc/platforms/pseries/
Dpapr_scm.c103 struct nvdimm *nvdimm; member
505 static int is_cmd_valid(struct nvdimm *nvdimm, unsigned int cmd, void *buf, in is_cmd_valid() argument
514 if (!nvdimm) in is_cmd_valid()
518 p = nvdimm_provider_data(nvdimm); in is_cmd_valid()
788 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in papr_scm_ndctl() argument
796 rc = is_cmd_valid(nvdimm, cmd, buf, buf_len); in papr_scm_ndctl()
806 p = nvdimm_provider_data(nvdimm); in papr_scm_ndctl()
849 struct nvdimm *dimm = to_nvdimm(dev); in perf_stats_show()
887 struct nvdimm *dimm = to_nvdimm(dev); in flags_show()
929 struct nvdimm *dimm = to_nvdimm(dev); in dirty_shutdown_show()
[all …]
/Linux-v5.15/Documentation/driver-api/nvdimm/
Dsecurity.rst17 The "security" sysfs attribute is provided in the nvdimm sysfs directory. For
32 overwrite <keyid> - wipe the entire nvdimm.
48 kernel API call during nvdimm unlock. It is up to the user to make sure that
51 A nvdimm encrypted-key of format enc32 has the description format of:
52 nvdimm:<bus-provider-specific-unique-id>
93 An key with the current passphrase payload that is tied to the nvdimm should be
101 An key with the current passphrase payload that is tied to the nvdimm should be
113 Overwrite can last tens of minutes or more depending on nvdimm size.
115 An encrypted-key with the current user passphrase that is tied to the nvdimm
Dindex.rst10 nvdimm
/Linux-v5.15/Documentation/nvdimm/
Dmaintainer-entry-profile.rst8 https://patchwork.kernel.org/project/linux-nvdimm/list/
13 https://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git/
20 Filesystem or the Memory Management tree. When in doubt copy the nvdimm
/Linux-v5.15/Documentation/translations/zh_CN/maintainer/
Dmaintainer-entry-profile.rst91 ../../../nvdimm/maintainer-entry-profile

12