Home
last modified time | relevance | path

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

12

/linux-6.1.9/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.c27 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_check_config_data() local
29 if (!nvdimm->cmd_mask || in nvdimm_check_config_data()
30 !test_bit(ND_CMD_GET_CONFIG_DATA, &nvdimm->cmd_mask)) { in nvdimm_check_config_data()
31 if (test_bit(NDD_LABELING, &nvdimm->flags)) in nvdimm_check_config_data()
174 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_labeling() local
176 set_bit(NDD_LABELING, &nvdimm->flags); in nvdimm_set_labeling()
181 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_locked() local
183 set_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_set_locked()
188 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_clear_locked() local
190 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.c325 struct nvdimm_bus *nvdimm_to_bus(struct nvdimm *nvdimm) in nvdimm_to_bus() argument
327 return to_nvdimm_bus(nvdimm->dev.parent); in nvdimm_to_bus()
850 u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_in_size() argument
859 if (nvdimm && cmd == ND_CMD_SET_CONFIG_DATA && idx == 2) { in nd_cmd_in_size()
863 } else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) { in nd_cmd_in_size()
877 u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_out_size() argument
887 if (nvdimm && cmd == ND_CMD_GET_CONFIG_DATA && idx == 1) in nd_cmd_out_size()
889 else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) in nd_cmd_out_size()
891 else if (!nvdimm && cmd == ND_CMD_ARS_STATUS && idx == 2) { in nd_cmd_out_size()
983 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.c606 struct nvdimm *nvdimm = data; in __reserve_free_pmem() local
624 if (nd_mapping->nvdimm != nvdimm) in __reserve_free_pmem()
906 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nvdimm_namespace_locked() local
908 if (test_bit(NDD_LOCKED, &nvdimm->flags)) { in nvdimm_namespace_locked()
909 dev_dbg(dev, "%s locked\n", nvdimm_name(nvdimm)); in nvdimm_namespace_locked()
1716 struct nvdimm *nvdimm = nd_region->mapping[i].nvdimm; in create_namespace_pmem() local
1724 nvdimm_name(nvdimm), nsl_uuid_raw(ndd, nd_label)); in create_namespace_pmem()
2071 struct nvdimm *nvdimm = nd_mapping->nvdimm; in deactivate_labels() local
2080 atomic_dec(&nvdimm->busy); in deactivate_labels()
2091 struct nvdimm *nvdimm = nd_mapping->nvdimm; in init_active_labels() local
[all …]
/linux-6.1.9/include/linux/
Dlibnvdimm.h69 struct nvdimm;
72 struct nvdimm *nvdimm, unsigned int cmd, void *buf,
87 struct nvdimm *nvdimm, unsigned int cmd, void *data);
110 struct nvdimm *nvdimm; member
169 unsigned long (*get_flags)(struct nvdimm *nvdimm,
171 int (*freeze)(struct nvdimm *nvdimm);
172 int (*change_key)(struct nvdimm *nvdimm,
176 int (*unlock)(struct nvdimm *nvdimm,
178 int (*disable)(struct nvdimm *nvdimm,
180 int (*erase)(struct nvdimm *nvdimm,
[all …]
Dnd.h66 int register_nvdimm_pmu(struct nvdimm_pmu *nvdimm, struct platform_device *pdev);
70 static inline int register_nvdimm_pmu(struct nvdimm_pmu *nvdimm, struct platform_device *pdev) in register_nvdimm_pmu() argument
/linux-6.1.9/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
345 int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
/linux-6.1.9/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()
DKbuild21 NVDIMM_SRC := $(DRIVERS)/nvdimm
24 ccflags-y := -I$(srctree)/drivers/nvdimm/
/linux-6.1.9/drivers/cxl/
Dpmem.c28 static void unregister_nvdimm(void *nvdimm) in unregister_nvdimm() argument
30 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in unregister_nvdimm()
48 nvdimm_delete(nvdimm); in unregister_nvdimm()
59 struct nvdimm *nvdimm; in cxl_nvdimm_probe() local
81 nvdimm = nvdimm_create(cxl_nvb->nvdimm_bus, cxl_nvd, NULL, flags, in cxl_nvdimm_probe()
83 if (!nvdimm) { in cxl_nvdimm_probe()
88 dev_set_drvdata(dev, nvdimm); in cxl_nvdimm_probe()
90 rc = devm_add_action_or_reset(dev, unregister_nvdimm, nvdimm); in cxl_nvdimm_probe()
181 static int cxl_pmem_nvdimm_ctl(struct nvdimm *nvdimm, unsigned int cmd, in cxl_pmem_nvdimm_ctl() argument
184 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in cxl_pmem_nvdimm_ctl()
[all …]
/linux-6.1.9/Documentation/ABI/testing/
Dsysfs-bus-nvdimm1 What: nvdimm
8 platform nvdimm resources. See Documentation/driver-api/nvdimm/.
31 for the nvdimm memory device. Each attribute in this group
33 this nvdimm pmu. The name of the file is the name of the event.
35 listing of the events supported by a given nvdimm provider type
36 can be found in Documentation/driver-api/nvdimm/$provider.
43 to retrieve nvdimm pmu event counter data.
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-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,
68 Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
73 used to simulate various health or shutdown states for an nvdimm
/linux-6.1.9/tools/testing/nvdimm/test/
Dndtest.c239 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in ndtest_ctl() argument
250 if (!nvdimm) in ndtest_ctl()
253 dimm = nvdimm_provider_data(nvdimm); in ndtest_ctl()
448 mappings[i].nvdimm = p->config->dimms[ndimm].nvdimm; in ndtest_create_region()
565 struct nvdimm *nvdimm = to_nvdimm(dev); in phys_id_show() local
566 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in phys_id_show()
582 struct nvdimm *nvdimm = to_nvdimm(dev); in id_show() local
583 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in id_show()
593 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_handle_show() local
594 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in nvdimm_handle_show()
[all …]
Dndtest.h65 struct nvdimm *nvdimm; member
DKbuild2 ccflags-y := -I$(srctree)/drivers/nvdimm/
Dnfit.c667 struct nvdimm *nvdimm = NULL; in nfit_test_search_spa() local
689 nvdimm = nd_mapping->nvdimm; in nfit_test_search_spa()
691 spa->devices[0].nfit_device_handle = handle[nvdimm->id]; in nfit_test_search_spa()
1326 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in nfit_ctl_dbg() argument
1342 nvdimm ? nvdimm_name(nvdimm) : "bus", family, cmd, func, in nfit_ctl_dbg()
1349 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in nfit_test_ctl() argument
1361 nfit_ctl_dbg(acpi_desc, nvdimm, cmd, buf, buf_len); in nfit_test_ctl()
1363 if (nvdimm) { in nfit_test_ctl()
1364 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in nfit_test_ctl()
1365 unsigned long cmd_mask = nvdimm_cmd_mask(nvdimm); in nfit_test_ctl()
[all …]
/linux-6.1.9/arch/powerpc/platforms/pseries/
Dpapr_scm.c104 struct nvdimm *nvdimm; member
498 nd_pmu->pmu.name = nvdimm_name(p->nvdimm); in papr_scm_pmu_register()
704 static int is_cmd_valid(struct nvdimm *nvdimm, unsigned int cmd, void *buf, in is_cmd_valid() argument
713 if (!nvdimm) in is_cmd_valid()
717 p = nvdimm_provider_data(nvdimm); in is_cmd_valid()
1043 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in papr_scm_ndctl() argument
1051 rc = is_cmd_valid(nvdimm, cmd, buf, buf_len); in papr_scm_ndctl()
1061 p = nvdimm_provider_data(nvdimm); in papr_scm_ndctl()
1100 struct nvdimm *dimm = to_nvdimm(dev); in health_bitmap_inject_show()
1117 struct nvdimm *dimm = to_nvdimm(dev); in perf_stats_show()
[all …]
/linux-6.1.9/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-6.1.9/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

12