linux/drivers/nvdimm
Dan Williams 04ad63f086 cxl/region: Introduce cxl_pmem_region objects
The LIBNVDIMM subsystem is a platform agnostic representation of system
NVDIMM / persistent memory resources. To date, the CXL subsystem's
interaction with LIBNVDIMM has been to register an nvdimm-bridge device
and cxl_nvdimm objects to proxy CXL capabilities into existing LIBNVDIMM
subsystem mechanics.

With regions the approach is the same. Create a new cxl_pmem_region
object to proxy CXL region details into a LIBNVDIMM definition. With
this enabling LIBNVDIMM can partition CXL persistent memory regions with
legacy namespace labels. A follow-on patch will add CXL region label and
CXL namespace label support to persist region configurations across
driver reload / system-reset events.

Co-developed-by: Ben Widawsky <bwidawsk@kernel.org>
Signed-off-by: Ben Widawsky <bwidawsk@kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/165784340111.1758207.3036498385188290968.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2022-07-26 12:23:01 -07:00
..
badrange.c mm/memremap_pages: convert to 'struct range' 2020-10-13 18:38:28 -07:00
btt_devs.c nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
btt.c nvdimm-btt: use bvec_kmap_local in btt_rw_integrity 2022-03-04 12:29:21 -07:00
btt.h nvdimm-btt: convert to blk_alloc_disk/blk_cleanup_disk 2021-06-01 07:42:23 -06:00
bus.c nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
claim.c libnvdimm: Cleanup include of badblocks.h 2020-12-15 21:47:45 -08:00
core.c nvdimm: Fix firmware activation deadlock scenarios 2022-04-28 14:01:56 -07:00
dax_devs.c nvdimm: Replace lockdep_mutex with local lock classes 2022-04-28 14:01:55 -07:00
dimm_devs.c nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
dimm.c libnvdimm: Make remove callback return void 2021-02-16 19:35:29 -08:00
e820.c libnvdimm/e820: Retrieve and populate correct 'target_node' info 2020-02-18 10:28:05 -08:00
Kconfig nvdimm/blk: Delete the block-aperture window driver 2022-03-11 15:53:12 -08:00
label.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
label.h nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
Makefile drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set 2022-03-23 12:17:36 -07:00
namespace_devs.c nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
nd_perf.c drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set 2022-03-23 12:17:36 -07:00
nd_virtio.c block: pass a block_device and opf to bio_alloc 2022-02-02 07:49:59 -07:00
nd-core.h nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
nd.h nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
of_pmem.c powerpc/pmem: Initialize pmem device on newer hardware 2020-07-16 13:00:23 +10:00
pfn_devs.c nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
pfn.h libnvdimm/namespace: Enforce memremap_compat_align() 2020-03-17 12:23:21 -07:00
pmem.c cxl for 5.19 2022-05-27 21:24:19 -07:00
pmem.h dax: introduce DAX_RECOVERY_WRITE dax access mode 2022-05-16 13:35:56 -07:00
region_devs.c cxl/region: Introduce cxl_pmem_region objects 2022-07-26 12:23:01 -07:00
region.c nvdimm: Drop nd_device_lock() 2022-04-28 14:01:55 -07:00
security.c nvdimm: Allow overwrite in the presence of disabled dimms 2022-04-28 15:47:46 -07:00
virtio_pmem.c virtio: wrap config->reset calls 2022-01-14 18:50:52 -05:00
virtio_pmem.h virtio-pmem: Add virtio pmem driver 2019-07-05 15:19:10 -07:00