From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752753AbdF2WSX (ORCPT ); Thu, 29 Jun 2017 18:18:23 -0400 Received: from g4t3426.houston.hpe.com ([15.241.140.75]:60792 "EHLO g4t3426.houston.hpe.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751685AbdF2WSW (ORCPT ); Thu, 29 Jun 2017 18:18:22 -0400 Date: Thu, 29 Jun 2017 16:18:20 -0600 From: Jerry Hoemann To: Dan Williams Cc: "linux-nvdimm@lists.01.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v3 7/7] acpi, nfit: override mask Message-ID: <20170629221820.GD6065@anatevka.americas.hpqcorp.net> Reply-To: Jerry.Hoemann@hpe.com References: <4dfd04a55324c2bdb6c9e8e65adf3cd8c0f324c9.1498754314.git.jerry.hoemann@hpe.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 29, 2017 at 02:16:17PM -0700, Dan Williams wrote: > On Thu, Jun 29, 2017 at 9:56 AM, Jerry Hoemann wrote: > > Have module parameter override_dsm_mask override the dsm_mask for > > root calls like it does for non-root dsm calls. > > > > Signed-off-by: Jerry Hoemann > > --- > > drivers/acpi/nfit/core.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c > > index 7d2f1a0..87acaf2 100644 > > --- a/drivers/acpi/nfit/core.c > > +++ b/drivers/acpi/nfit/core.c > > @@ -1627,6 +1627,7 @@ static void acpi_nfit_init_dsms(struct acpi_nfit_desc *acpi_desc) > > struct nvdimm_bus_descriptor *nd_desc = &acpi_desc->nd_desc; > > const u8 *uuid = to_nfit_uuid(NFIT_DEV_BUS); > > struct acpi_device *adev; > > + unsigned long dsm_mask; > > int i; > > > > nd_desc->cmd_mask = acpi_desc->bus_cmd_force_en; > > @@ -1638,7 +1639,11 @@ static void acpi_nfit_init_dsms(struct acpi_nfit_desc *acpi_desc) > > if (acpi_check_dsm(adev->handle, uuid, 1, 1ULL << i)) > > set_bit(i, &nd_desc->cmd_mask); > > set_bit(ND_CMD_CALL, &nd_desc->cmd_mask); > > - for (i = 0; i < ND_CMD_CALL; i++) > > + > > + dsm_mask = 0x3bf; > > + if (override_dsm_mask) > > + dsm_mask = override_dsm_mask; > > + for_each_set_bit(i, &dsm_mask, BITS_PER_LONG) > > if (acpi_check_dsm(adev->handle, uuid, 1, 1ULL << i)) > > set_bit(i, &nd_desc->bus_dsm_mask); > > } > > I don't think we need this patch. 'override_dsm_mask' is there to make > it easier for vendor-specific DSM testing and debug for DIMM-level > DSMs. The root bus is not vendor specific and the command set is not > evolving at the same rate we are seeing change at DIMM-level DSMs. Override_dsm_mask is there to allow using old kernels with new firmware/hardware. It takes a long time to get even simple changes upstreamed, backported to distros, released, distributed to customers, installed. In testing, for months we have had to work around the inability to call these functions from linux. A waste of effort. -- ----------------------------------------------------------------------------- Jerry Hoemann Software Engineer Hewlett Packard Enterprise -----------------------------------------------------------------------------