Re: [PATCH] nfit: add Microsoft NVDIMM DSM command set to white list
From: Dan Williams <hidden>
Date: 2016-06-20 17:22:19
Also in:
lkml, nvdimm
On Sun, Jun 19, 2016 at 10:59 AM, Pavel Machek [off-list ref] wrote:
Hi!quoted
quoted
Add the Microsoft _DSM command set to the white list of NVDIMM command sets. This command set is documented at https://msdn.microsoft.com/library/windows/hardware/mt604741. Signed-off-by: Stuart Hayes <redacted> --- drivers/acpi/nfit.c | 9 ++++++--- drivers/acpi/nfit.h | 4 ++++ include/uapi/linux/ndctl.h | 1 + 3 files changed, 11 insertions(+), 3 deletions(-)diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c index 2215fc8..48fc575 100644 --- a/drivers/acpi/nfit.c +++ b/drivers/acpi/nfit.c@@ -1130,11 +1130,11 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, } /* - * Until standardization materializes we need to consider up to 3 + * Until standardization materializes we need to consider several * different command sets. Note, that checking for function0 (bit0) * tells us if any commands are reachable through this uuid. */ - for (i = NVDIMM_FAMILY_INTEL; i <= NVDIMM_FAMILY_HPE2; i++) + for (i = NVDIMM_FAMILY_INTEL; i <= NVDIMM_FAMILY_MSFT; i++) if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), 1, 1))Time to introduce NVDIMM_FAMILY_MAX?
I hope not. This is the last of what can be considered "first generation" DSM support, everything else should wait for standardization. I.e. no ongoing need to keep changing this line.
quoted
quoted
@@ -1150,7 +1150,9 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, dsm_mask = 0x1fe; if (disable_vendor_specific) dsm_mask &= ~(1 << 8); - } else { + } else if (nfit_mem->family == NVDIMM_FAMILY_MSFT) + dsm_mask = 0xffffffff; + else { dev_err(dev, "unknown dimm command family\n"); nfit_mem->family = -1; return force_enable_dimms ? 0 : -ENODEV;I'd really use {} around the if (), so that it is clear what the else belongs to.
Sure, I can fix this up. Stuart, no need to re-send.