linux/drivers/nvdimm
Dan Williams ae86cbfef3 libnvdimm, pfn: Pad pfn namespaces relative to other regions
Commit cfe30b8720 "libnvdimm, pmem: adjust for section collisions with
'System RAM'" enabled Linux to workaround occasions where platform
firmware arranges for "System RAM" and "Persistent Memory" to collide
within a single section boundary. Unfortunately, as reported in this
issue [1], platform firmware can inflict the same collision between
persistent memory regions.

The approach of interrogating iomem_resource does not work in this
case because platform firmware may merge multiple regions into a single
iomem_resource range. Instead provide a method to interrogate regions
that share the same parent bus.

This is a stop-gap until the core-MM can grow support for hotplug on
sub-section boundaries.

[1]: https://github.com/pmem/ndctl/issues/76

Fixes: cfe30b8720 ("libnvdimm, pmem: adjust for section collisions with...")
Cc: <stable@vger.kernel.org>
Reported-by: Patrick Geary <patrickg@supermicro.com>
Tested-by: Patrick Geary <patrickg@supermicro.com>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2018-12-05 14:16:12 -08:00
..
Kconfig
Makefile
badrange.c
blk.c block: genhd: add 'groups' argument to device_add_disk 2018-09-28 08:30:28 -06:00
btt.c block: genhd: add 'groups' argument to device_add_disk 2018-09-28 08:30:28 -06:00
btt.h
btt_devs.c
bus.c libnvdimm: Set device node in nd_device_register 2018-09-26 12:02:32 -07:00
claim.c
core.c
dax_devs.c
dimm.c nvdimm: Use namespace index data to reduce number of label reads needed 2018-10-12 08:39:31 -07:00
dimm_devs.c nvdimm: Split label init out from the logic for getting config data 2018-10-12 08:39:24 -07:00
e820.c
label.c libnvdimm, label: Fix sparse warning 2018-10-12 08:39:41 -07:00
label.h nvdimm: Use namespace index data to reduce number of label reads needed 2018-10-12 08:39:31 -07:00
namespace_devs.c libnvdimm, namespace: Drop the repeat assignment for variable dev->parent 2018-10-01 21:27:09 -07:00
nd-core.h libnvdimm, pfn: Pad pfn namespaces relative to other regions 2018-12-05 14:16:12 -08:00
nd.h nvdimm: Split label init out from the logic for getting config data 2018-10-12 08:39:24 -07:00
of_pmem.c
pfn.h
pfn_devs.c libnvdimm, pfn: Pad pfn namespaces relative to other regions 2018-12-05 14:16:12 -08:00
pmem.c libnvdimm for 4.20 2018-10-25 06:31:56 -07:00
pmem.h libnvdimm, pmem: Restore page attributes when clearing errors 2018-08-20 09:22:45 -07:00
region.c
region_devs.c libnvdimm, pfn: Pad pfn namespaces relative to other regions 2018-12-05 14:16:12 -08:00