On Mon, Apr 11, 2016 at 4:58 PM, Jerry Hoemann <jerry.hoemann(a)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(a)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
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.