Linux-NVDIMM Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: "linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>
Subject: Re: [PATCH v8 09/10] nvdimm: sysfs shows which dsm support full command ioctl.
Date: Thu, 14 Apr 2016 16:58:29 -0600	[thread overview]
Message-ID: <20160414225829.GA95107@tevye.fc.hp.com> (raw)
In-Reply-To: <CAPcyv4iQ4VBnXnbqF7BF=7DbEjVeHbY0FNmU=Gaf_K4hepVDFA@mail.gmail.com>

On Tue, Apr 12, 2016 at 03:05:47PM -0700, Dan Williams wrote:
> On Tue, Apr 12, 2016 at 2:41 PM, Jerry Hoemann <jerry.hoemann@hpe.com> wrote:
> > On Mon, Apr 11, 2016 at 05:30:25PM -0700, Dan Williams wrote:
> >> On Mon, Apr 11, 2016 at 4:58 PM, Jerry Hoemann <jerry.hoemann@hpe.com> wrote:
> >> > On Mon, Apr 11, 2016 at 02:43:39PM -0700, Dan Williams wrote:
> >> >> On Mon, Mar 21, 2016 at 12:37 PM, Jerry Hoemann <jerry.hoemann@hpe.com> wrote:
> >> >> > NVDIMM DSMs whose functions map to the Intel Example DSM, can
> >> >> > be called with the ND_IOCTL_.* ioctl interface.  Those that
> >> >> > don't map, can only be called with the pass thru command.
> >> >> >
> >> >> > Save this indication in struct nvdimm to be passed to
> >> >> > the sysfs interface.
> >> >> >
> >> >>
> >> >> I'm having trouble understanding the intent of cmd_ioctl.  I don't
> >> >> want a flag for "supports Intel Example DSM", I want a mask of ND
> >> >> commands the bus provider knows how to handle in its ->ndctl() entry
> >> >> point for the given dimm.  The bus provider is free to provide a
> >> >> translation of ND command to the bus specific command.  It's just an
> >> >> arbitrary coincidence that the current list of ND commands matches the
> >> >> Intel ACPI _DSM command format.
> >> >
> >> > This is my extension of your earlier RFC patch, so I may
> >> > have misunderstood your original intent.
> >> >
> >> > The commands_show functions prints the listing of commands for that device.
> >> > There is one version for root, and one version for non-root.
> >> >
> >> > For root commands, both dsm spec match on names and semantics, so no
> >> > code works for both nvdimms types.
> >> >
> >> > But for non-root commands the names/semantics don't match. So, this
> >> > is an attempt to show that on an NVDIMM-N,  only the pass thru command
> >> > is supported.
> >>
> >> Ah, ok.  Rather than telling the core about a dsm_mask and a cmd_ioctl
> >> at nvdimm_create() time, it should just be passing the mask of generic
> >> ND commands that the dimm supports.  For NVDIMM-N that mask will just
> >> be (1 << 10) it's up to the nfit driver to manage any ND command to
> >> ACPI _DSM command number translation.
> >
> > dsm_mask is used in both acpi_nfit_ctl and __nd_ioctl to filter calls
> > the functions might make.  I think dsm_mask and cmd_ioctl need to be
> > kept separate, or drop use of filtering by dsm_mask in these two
> > functions.
> >
> > Or another way of controlling what commands_show produces?
> 
> I was thinking that the dsm_mask cease being a pointer in struct
> nvdimm and instead be a cmd_mask (of ND function numbers).  struct
> nfit_mem would maintain the dsm_mask.  acpi_nfit_ctl is charged with
> translating from the nd command to the acpi dsm.  This "just works"
> for the existing sysfs interface, and we can export the dsm_mask in
> the nfit-specific attributes of the nme device.

Not sure I understand.

Are you suggesting that struct nfit_mem have both a dsm_mask and a cmd_mask
and when nvdimm_create is called we pass just cmd_mask and assign it to
new field u64 cmd_mask (deleting the old pointer to dsm_mask?)

For NVDIMM-N,  the cmd_mask would just be (1<<ND_CMD_CALL) and for the
pre-existent nvdimm it would be (1<<ND_CMD_CALL)|dsm_mask  

This would have acpi_nfit_ctl testing against cmd_mask and __nd_ioctl
testing against dsm_mask.

I don't know how nvdimm_create would get the nd_cmd_mask if its
not determined in acpi_nfit_add_dimm when we determine uuid......

-- 

-----------------------------------------------------------------------------
Jerry Hoemann                  Software Engineer   Hewlett Packard Enterprise
-----------------------------------------------------------------------------
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

  reply	other threads:[~2016-04-14 22:58 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-21 19:37 [PATCH v8 00/10] nvdimm: Add an IOCTL pass thru for DSM calls Jerry Hoemann
2016-03-21 19:37 ` [PATCH v8 01/10] ACPI / util: Fix acpi_evaluate_dsm() argument type Jerry Hoemann
2016-03-21 19:37 ` [PATCH v8 02/10] nvdimm: Add wrapper for IOCTL pass thru Jerry Hoemann
2016-04-11 18:21   ` Dan Williams
2016-04-11 23:16     ` Jerry Hoemann
2016-04-11 23:23       ` Dan Williams
2016-04-12  0:19         ` Jerry Hoemann
2016-04-12  0:27           ` Dan Williams
2016-03-21 19:37 ` [PATCH v8 03/10] nvdimm: Increase max envelope size for IOCTL Jerry Hoemann
2016-03-21 19:37 ` [PATCH v8 04/10] nvdimm: Add UUIDs Jerry Hoemann
2016-04-11 18:25   ` Dan Williams
2016-03-21 19:37 ` [PATCH v8 05/10] nvdimm: Add IOCTL pass thru functions Jerry Hoemann
2016-04-11 19:15   ` Dan Williams
2016-04-11 23:43     ` Jerry Hoemann
2016-04-12  0:18       ` Dan Williams
2016-03-21 19:37 ` [PATCH v8 06/10] libnvdimm: nvdimm_bus_descriptor field name change Jerry Hoemann
2016-03-21 19:37 ` [PATCH v8 07/10] tools/testing/nvdimm: 'call_dsm' support Jerry Hoemann
2016-03-21 19:37 ` [PATCH v8 08/10] nvdimm: command ioctl support Jerry Hoemann
2016-03-21 19:37 ` [PATCH v8 09/10] nvdimm: sysfs shows which dsm support full command ioctl Jerry Hoemann
2016-04-11 21:43   ` Dan Williams
2016-04-11 23:58     ` Jerry Hoemann
2016-04-12  0:30       ` Dan Williams
2016-04-12 21:41         ` Jerry Hoemann
2016-04-12 22:05           ` Dan Williams
2016-04-14 22:58             ` Jerry Hoemann [this message]
2016-04-15  2:49               ` Dan Williams
2016-03-21 20:55 ` [PATCH v8 10/10] nvdimm: Add ioctl to return command mask Jerry Hoemann
2016-03-29 20:39 ` [PATCH v8 00/10] nvdimm: Add an IOCTL pass thru for DSM calls Jerry Hoemann
2016-04-11 22:19 ` Dan Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160414225829.GA95107@tevye.fc.hp.com \
    --to=jerry.hoemann@hpe.com \
    --cc=dan.j.williams@intel.com \
    --cc=linux-nvdimm@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox