<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/acpi/nfit, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-04-24T07:43:02Z</updated>
<entry>
<title>nfit: skip region registration for incomplete control regions</title>
<updated>2018-04-24T07:43:02Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2018-03-22T04:22:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bbe03f938f56659a52dffe6acd43b43acdba0702'/>
<id>urn:sha1:bbe03f938f56659a52dffe6acd43b43acdba0702</id>
<content type='text'>
commit 0731de476a37c33485af82d64041c9d193208df8 upstream.

Per the ACPI specification the only functional purpose for a DIMM
Control Region to be mapped into the system physical address space, from
an OSPM perspective, is to support block-apertures. However, there are
some BIOSen that publish DIMM Control Region SPA entries for pre-boot
environment consumption.  Undo the kernel policy of generating disabled
'ndblk' regions when this configuration is detected.

Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 1f7df6f88b92 ("libnvdimm, nfit: regions (block-data-window...)")
Reviewed-by: Toshi Kani &lt;toshi.kani@hpe.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>nfit, address-range-scrub: fix scrub in-progress reporting</title>
<updated>2018-04-24T07:43:02Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2018-04-02T23:40:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e041107f06517666cd1a859506e133ee40677a4c'/>
<id>urn:sha1:e041107f06517666cd1a859506e133ee40677a4c</id>
<content type='text'>
commit 78727137fdf49edf9f731bde79d7189067b4047a upstream.

There is a small window whereby ARS scan requests can schedule work that
userspace will miss when polling scrub_show. Hold the init_mutex lock
over calls to report the status to close this potential escape. Also,
make sure that requests to cancel the ARS workqueue are treated as an
idle event.

Cc: &lt;stable@vger.kernel.org&gt;
Cc: Vishal Verma &lt;vishal.l.verma@intel.com&gt;
Fixes: 37b137ff8c83 ("nfit, libnvdimm: allow an ARS scrub...")
Reviewed-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>acpi, nfit: rework NVDIMM leaf method detection</title>
<updated>2018-04-24T07:42:52Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2018-03-28T17:44:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a64b3932f519eb9acd5d8fd65d06e27ced70f06'/>
<id>urn:sha1:4a64b3932f519eb9acd5d8fd65d06e27ced70f06</id>
<content type='text'>
commit 466d1493ea830789a2f063f478aaed2e324f0d3d upstream.

Some BIOSen do not handle 0-byte transfer lengths for the _LSR and _LSW
(label storage read/write) methods. This causes Linux to fallback to the
deprecated _DSM path, or otherwise disable label support.

Introduce acpi_nvdimm_has_method() to detect whether a method is
available rather than calling the method, require _LSI and _LSR to be
paired, and require read support before enabling write support.

Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 4b27db7e26cd ("acpi, nfit: add support for the _LS...")
Suggested-by: Erik Schmauss &lt;erik.schmauss@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>nfit: fix region registration vs block-data-window ranges</title>
<updated>2018-04-19T06:54:11Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2018-04-02T23:49:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f8b1583a39900b74423135cac5d43d39dd71d1c'/>
<id>urn:sha1:8f8b1583a39900b74423135cac5d43d39dd71d1c</id>
<content type='text'>
commit 8d0d8ed3356aa9ed43b819aaedd39b08ca453007 upstream.

Commit 1cf03c00e7c1 "nfit: scrub and register regions in a workqueue"
mistakenly attempts to register a region per BLK aperture. There is
nothing to register for individual apertures as they belong as a set to
a BLK aperture group that are registered with a corresponding
DIMM-control-region. Filter them for registration to prevent some
needless devm_kzalloc() allocations.

Cc: &lt;stable@vger.kernel.org&gt;
Fixes: 1cf03c00e7c1 ("nfit: scrub and register regions in a workqueue")
Reviewed-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>libnvdimm, nfit: fix persistence domain reporting</title>
<updated>2018-03-21T22:12:07Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2018-03-21T22:12:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe9a552e715dfe5167d52deb74ea16335896bdaf'/>
<id>urn:sha1:fe9a552e715dfe5167d52deb74ea16335896bdaf</id>
<content type='text'>
The persistence domain is a point in the platform where once writes
reach that destination the platform claims it will make them persistent
relative to power loss. In the ACPI NFIT this is currently communicated
as 2 bits in the "NFIT - Platform Capabilities Structure". The bits
comprise a hierarchy, i.e. bit0 "CPU Cache Flush to NVDIMM Durability on
Power Loss Capable" implies bit1 "Memory Controller Flush to NVDIMM
Durability on Power Loss Capable".

Commit 96c3a239054a "libnvdimm: expose platform persistence attr..."
shows the persistence domain as flags, but it's really an enumerated
hierarchy.

Fix this newly introduced user ABI to show the closest available
persistence domain before userspace develops dependencies on seeing, or
needing to develop code to tolerate, the raw NFIT flags communicated
through the libnvdimm-generic region attribute.

Fixes: 96c3a239054a ("libnvdimm: expose platform persistence attr...")
Reviewed-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@rjwysocki.net&gt;
Cc: Ross Zwisler &lt;ross.zwisler@linux.intel.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-4.16/nfit' into libnvdimm-for-next</title>
<updated>2018-02-03T07:26:26Z</updated>
<author>
<name>Ross Zwisler</name>
</author>
<published>2018-02-03T07:26:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee95f4059a833839bf52972191b2d4c3d3cec552'/>
<id>urn:sha1:ee95f4059a833839bf52972191b2d4c3d3cec552</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'for-4.16/dax' into libnvdimm-for-next</title>
<updated>2018-02-03T07:26:10Z</updated>
<author>
<name>Ross Zwisler</name>
</author>
<published>2018-02-03T07:26:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d121f07691415df824e6b60520f782f6d13b3c81'/>
<id>urn:sha1:d121f07691415df824e6b60520f782f6d13b3c81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>acpi, nfit: fix register dimm error handling</title>
<updated>2018-02-02T21:49:29Z</updated>
<author>
<name>Toshi Kani</name>
</author>
<published>2018-02-02T21:00:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23fbd7c70aec7600e3227eb24259fc55bf6e4881'/>
<id>urn:sha1:23fbd7c70aec7600e3227eb24259fc55bf6e4881</id>
<content type='text'>
A NULL pointer reference kernel bug was observed when
acpi_nfit_add_dimm() called in acpi_nfit_register_dimms() failed. This
error path does not set nfit_mem-&gt;nvdimm, but the 2nd
list_for_each_entry() loop in the function assumes it's always set. Add
a check to nfit_mem-&gt;nvdimm.

Cc: &lt;stable@vger.kernel.org&gt;
Fixes: ba9c8dd3c222 ("acpi, nfit: add dimm device notification support")
Signed-off-by: Toshi Kani &lt;toshi.kani@hpe.com&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@rjwysocki.net&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
</content>
</entry>
<entry>
<title>acpi: nfit: add persistent memory control flag for nd_region</title>
<updated>2018-02-01T22:01:15Z</updated>
<author>
<name>Dave Jiang</name>
</author>
<published>2018-01-31T19:45:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30e6d7bf29daa79d80711d35211c9b60894dbc44'/>
<id>urn:sha1:30e6d7bf29daa79d80711d35211c9b60894dbc44</id>
<content type='text'>
Propagate the ADR attribute flag from the NFIT platform capabilities
sub-table to nd_region.

Signed-off-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Reviewed-by: Ross Zwisler &lt;ross.zwisler@linux.intel.com&gt;
Signed-off-by: Ross Zwisler &lt;ross.zwisler@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>acpi: nfit: Add support for detect platform CPU cache flush on power loss</title>
<updated>2018-02-01T22:01:15Z</updated>
<author>
<name>Dave Jiang</name>
</author>
<published>2018-01-31T19:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06e8ccdab15f46dfd31292e2b75d744bc5fc2a7c'/>
<id>urn:sha1:06e8ccdab15f46dfd31292e2b75d744bc5fc2a7c</id>
<content type='text'>
In ACPI 6.2a the platform capability structure has been added to the NFIT
tables. That provides software the ability to determine whether a system
supports the auto flushing of CPU caches on power loss. If the capability
is supported, we do not need to do dax_flush(). Plumbing the path to set the
property on per region from the NFIT tables.

This patch depends on the ACPI NFIT 6.2a platform capabilities support code
in include/acpi/actbl1.h.

Signed-off-by: Dave Jiang &lt;dave.jiang@intel.com&gt;
Reviewed-by: Ross Zwisler &lt;ross.zwisler@linux.intel.com&gt;
Signed-off-by: Ross Zwisler &lt;ross.zwisler@linux.intel.com&gt;
</content>
</entry>
</feed>
