| /linux/drivers/nvdimm/ |
| H A D | security.c | 50 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 …]
|
| H A D | dimm_devs.c | 27 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() 176 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_labeling() local 178 set_bit(NDD_LABELING, &nvdimm->flags); in nvdimm_set_labeling() 183 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_set_locked() local 185 set_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_set_locked() 190 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_clear_locked() local 192 clear_bit(NDD_LOCKED, &nvdimm->flags); in nvdimm_clear_locked() [all …]
|
| H A D | ramdax.c | 23 struct nvdimm *nvdimm; member 35 struct nvdimm *nvdimm, in ramdax_register_region() argument 52 mapping.nvdimm = nvdimm; in ramdax_register_region() 99 dimm->nvdimm = nvdimm_create(nvdimm_bus, dimm, in ramdax_register_dimm() 102 if (!dimm->nvdimm) { in ramdax_register_dimm() 107 err = ramdax_register_region(res, dimm->nvdimm, nvdimm_bus); in ramdax_register_dimm() 114 nvdimm_delete(dimm->nvdimm); in ramdax_register_dimm() 122 static int ramdax_get_config_size(struct nvdimm *nvdimm, int buf_len, in ramdax_get_config_size() argument 137 static int ramdax_get_config_data(struct nvdimm *nvdimm, int buf_len, in ramdax_get_config_data() argument 140 struct ramdax_dimm *dimm = nvdimm_provider_data(nvdimm); in ramdax_get_config_data() [all …]
|
| H A D | region_devs.c | 26 static int nvdimm_map_flush(struct device *dev, struct nvdimm *nvdimm, int dimm, in nvdimm_map_flush() argument 31 dev_dbg(dev, "%s: map %d flush address%s\n", nvdimm_name(nvdimm), in nvdimm_map_flush() 32 nvdimm->num_flush, nvdimm->num_flush == 1 ? "" : "es"); in nvdimm_map_flush() 34 struct resource *res = &nvdimm->flush_wpq[i]; in nvdimm_map_flush() 40 struct resource *res_j = &nvdimm->flush_wpq[j]; in nvdimm_map_flush() 69 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nd_region_invalidate_memregion() local 71 if (test_bit(NDD_INCOHERENT, &nvdimm->flags)) { in nd_region_invalidate_memregion() 97 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nd_region_invalidate_memregion() local 99 clear_bit(NDD_INCOHERENT, &nvdimm->flags); in nd_region_invalidate_memregion() 114 struct nvdimm *nvdimm = nd_mapping->nvdimm; in get_flush_data() local [all …]
|
| H A D | bus.c | 325 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() 863 u32 nd_cmd_in_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_in_size() argument 872 if (nvdimm && cmd == ND_CMD_SET_CONFIG_DATA && idx == 2) { in nd_cmd_in_size() 876 } else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) { in nd_cmd_in_size() 890 u32 nd_cmd_out_size(struct nvdimm *nvdimm, int cmd, in nd_cmd_out_size() argument 900 if (nvdimm && cmd == ND_CMD_GET_CONFIG_DATA && idx == 1) in nd_cmd_out_size() 902 else if (nvdimm && cmd == ND_CMD_VENDOR && idx == 2) in nd_cmd_out_size() 904 else if (!nvdimm && cmd == ND_CMD_ARS_STATUS && idx == 2) { in nd_cmd_out_size() 996 struct nvdimm *nvdimm, unsigned int cmd, void *data) in nd_cmd_clear_to_send() argument [all …]
|
| H A D | nd-core.h | 31 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);
|
| H A D | namespace_devs.c | 609 struct nvdimm *nvdimm = data; in __reserve_free_pmem() local 627 if (nd_mapping->nvdimm != nvdimm) in __reserve_free_pmem() 903 struct nvdimm *nvdimm = nd_mapping->nvdimm; in nvdimm_namespace_locked() local 905 if (test_bit(NDD_LOCKED, &nvdimm->flags)) { in nvdimm_namespace_locked() 906 dev_dbg(dev, "%s locked\n", nvdimm_name(nvdimm)); in nvdimm_namespace_locked() 1718 struct nvdimm *nvdimm = nd_region->mapping[i].nvdimm; in create_namespace_pmem() local 1726 nvdimm_name(nvdimm), nsl_uuid_raw(ndd, nd_label)); in create_namespace_pmem() 2067 struct nvdimm *nvdimm = nd_mapping->nvdimm; in deactivate_labels() local 2076 atomic_dec(&nvdimm->busy); in deactivate_labels() 2087 struct nvdimm *nvdimm = nd_mapping->nvdimm; in init_active_labels() local [all …]
|
| /linux/drivers/cxl/ |
| H A D | security.c | 12 static unsigned long cxl_pmem_get_security_flags(struct nvdimm *nvdimm, in cxl_pmem_get_security_flags() argument 15 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in cxl_pmem_get_security_flags() 67 static int cxl_pmem_security_change_key(struct nvdimm *nvdimm, in cxl_pmem_security_change_key() argument 72 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in cxl_pmem_security_change_key() 94 static int __cxl_pmem_security_disable(struct nvdimm *nvdimm, in __cxl_pmem_security_disable() argument 98 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in __cxl_pmem_security_disable() 119 static int cxl_pmem_security_disable(struct nvdimm *nvdimm, in cxl_pmem_security_disable() argument 122 return __cxl_pmem_security_disable(nvdimm, key_data, NVDIMM_USER); in cxl_pmem_security_disable() 125 static int cxl_pmem_security_disable_master(struct nvdimm *nvdimm, in cxl_pmem_security_disable_master() argument 128 return __cxl_pmem_security_disable(nvdimm, key_data, NVDIMM_MASTER); in cxl_pmem_security_disable_master() [all …]
|
| H A D | pmem.c | 21 static void unregister_nvdimm(void *nvdimm) in unregister_nvdimm() argument 23 nvdimm_delete(nvdimm); in unregister_nvdimm() 28 struct nvdimm *nvdimm = to_nvdimm(dev); in provider_show() local 29 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in provider_show() 37 struct nvdimm *nvdimm = to_nvdimm(dev); in id_show() local 38 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in id_show() 48 struct nvdimm *nvdimm = to_nvdimm(dev); in dirty_shutdown_show() local 49 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in dirty_shutdown_show() 68 struct nvdimm *nvdimm = to_nvdimm(dev); in cxl_dimm_visible() local 69 struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm); in cxl_dimm_visible() [all …]
|
| /linux/drivers/acpi/nfit/ |
| H A D | intel.c | 53 static unsigned long intel_security_flags(struct nvdimm *nvdimm, in intel_security_flags() argument 56 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() 137 rc = nvdimm_ctl(nvdimm, ND_CMD_CALL, &nd_cmd, sizeof(nd_cmd), NULL); in intel_security_freeze() 145 static int intel_security_change_key(struct nvdimm *nvdimm, in intel_security_change_key() argument 150 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in intel_security_change_key() [all …]
|
| H A D | core.c | 187 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() 468 if (nvdimm) { in acpi_nfit_ctl() [all …]
|
| H A D | nfit.h | 208 struct nvdimm *nvdimm; member 345 int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-nfit | 8 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 …]
|
| H A D | sysfs-bus-nvdimm | 1 What: nvdimm 8 platform nvdimm resources. See Documentation/driver-api/nvdimm/. 33 for the nvdimm memory device. Each attribute in this group 35 this nvdimm pmu. The name of the file is the name of the event. 37 listing of the events supported by a given nvdimm provider type 38 can be found in Documentation/driver-api/nvdimm/$provider. 45 to retrieve nvdimm pmu event counter data.
|
| H A D | sysfs-bus-dax | 4 Contact: nvdimm@lists.linux.dev 13 Contact: nvdimm@lists.linux.dev 23 Contact: nvdimm@lists.linux.dev 36 Contact: nvdimm@lists.linux.dev 46 Contact: nvdimm@lists.linux.dev 56 Contact: nvdimm@lists.linux.dev 65 Contact: nvdimm@lists.linux.dev 77 Contact: nvdimm@lists.linux.dev 81 devices, since pmem devices are defined by nvdimm namespace 87 Contact: nvdimm@lists.linux.dev [all …]
|
| H A D | sysfs-bus-papr-pmem | 4 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/tools/testing/nvdimm/test/ |
| H A D | ndtest.c | 245 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in ndtest_ctl() argument 256 if (!nvdimm) in ndtest_ctl() 259 dimm = nvdimm_provider_data(nvdimm); in ndtest_ctl() 454 mappings[i].nvdimm = p->config->dimms[ndimm].nvdimm; in ndtest_create_region() 571 struct nvdimm *nvdimm = to_nvdimm(dev); in phys_id_show() local 572 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in phys_id_show() 588 struct nvdimm *nvdimm = to_nvdimm(dev); in id_show() local 589 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in id_show() 599 struct nvdimm *nvdimm = to_nvdimm(dev); in nvdimm_handle_show() local 600 struct ndtest_dimm *dimm = nvdimm_provider_data(nvdimm); in nvdimm_handle_show() [all …]
|
| H A D | ndtest.h | 34 struct nvdimm *nvdimm; member
|
| H A D | nfit.c | 667 struct nvdimm *nvdimm = NULL; in nfit_test_search_spa() local 690 nvdimm = nd_mapping->nvdimm; in nfit_test_search_spa() 691 nfit_mem = nvdimm_provider_data(nvdimm); in nfit_test_search_spa() 1331 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in nfit_ctl_dbg() argument 1347 nvdimm ? nvdimm_name(nvdimm) : "bus", family, cmd, func, in nfit_ctl_dbg() 1354 struct nvdimm *nvdimm, unsigned int cmd, void *buf, in nfit_test_ctl() argument 1366 nfit_ctl_dbg(acpi_desc, nvdimm, cmd, buf, buf_len); in nfit_test_ctl() 1368 if (nvdimm) { in nfit_test_ctl() 1369 struct nfit_mem *nfit_mem = nvdimm_provider_data(nvdimm); in nfit_test_ctl() 1370 unsigned long cmd_mask = nvdimm_cmd_mask(nvdimm); in nfit_test_ctl() [all …]
|
| H A D | Kbuild | 2 ccflags-y := -I$(srctree)/drivers/nvdimm/
|
| /linux/Documentation/driver-api/nvdimm/ |
| H A D | security.rst | 17 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
|
| H A D | index.rst | 10 nvdimm
|
| /linux/Documentation/nvdimm/ |
| H A D | maintainer-entry-profile.rst | 8 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/include/linux/ |
| H A D | nd.h | 66 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/tools/testing/nvdimm/ |
| H A D | Kbuild | 21 NVDIMM_SRC := $(DRIVERS)/nvdimm 24 ccflags-y := -I$(srctree)/drivers/nvdimm/
|