From: Mark Rutland <mark.rutland@arm.com>
To: Oliver O'Halloran <oohall@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org, linux-nvdimm@lists.01.org,
devicetree@vger.kernel.org
Subject: Re: [RFC 2/4] libnvdimm: Add a device-tree interface
Date: Tue, 27 Jun 2017 11:43:28 +0100 [thread overview]
Message-ID: <20170627104328.GD30002@leverpostej> (raw)
In-Reply-To: <20170627102851.15484-2-oohall@gmail.com>
Hi,
On Tue, Jun 27, 2017 at 08:28:49PM +1000, Oliver O'Halloran wrote:
> A fairly bare-bones set of device-tree bindings so libnvdimm can be used
> on powerpc and other, less cool, device-tree based platforms.
;)
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
> ---
> The current bindings are essentially this:
>
> nonvolatile-memory {
> compatible = "nonvolatile-memory", "special-memory";
> ranges;
>
> region@0 {
> compatible = "nvdimm,byte-addressable";
> reg = <0x0 0x1000>;
> };
>
> region@1000 {
> compatible = "nvdimm,byte-addressable";
> reg = <0x1000 0x1000>;
> };
> };
This needs to have a proper binding document under
Documentation/devicetree/bindings/. Something like the reserved-memory
bdings would be a good template.
If we want thet "nvdimm" vendor-prefix, that'll have to be reserved,
too (see Documentation/devicetree/bindings/vendor-prefixes.txt).
What is "special-memory"? What other memory types would be described
here?
What exacctly does "nvdimm,byte-addressable" imply? I suspect that you
also expect such memory to be compatible with mappings using (some)
cacheable attributes?
Perhaps the byte-addressable property should be a boolean property on
the region, rather than part of the compatible string.
> To handle interleave sets, etc the plan was the add an extra property with the
> interleave stride and a "mapping" property with <&DIMM, dimm-start-offset>
> tuples for each dimm in the interleave set. Block MMIO regions can be added
> with a different compatible type, but I'm not too concerned with them for
> now.
Sorry, I'm not too familiar with nonvolatile memory. What are interleave
sets?
What are block MMIO regions?
Is there any documentation one can refer to for any of this?
[...]
> +static const struct of_device_id of_nvdimm_bus_match[] = {
> + { .compatible = "nonvolatile-memory" },
> + { .compatible = "special-memory" },
> + { },
> +};
Why both? Is the driver handling other "special-memory"?
Thanks,
Mark.
next prev parent reply other threads:[~2017-06-27 10:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-27 10:28 [RFC 1/4] libnvdimm: add to_{nvdimm,nd_region}_dev() Oliver O'Halloran
2017-06-27 10:28 ` [RFC 2/4] libnvdimm: Add a device-tree interface Oliver O'Halloran
2017-06-27 10:43 ` Mark Rutland [this message]
2017-06-27 14:05 ` Oliver
2017-06-27 10:28 ` [RFC 3/4] powerpc: Add pmem API support Oliver O'Halloran
2017-07-11 0:00 ` Dan Williams
2017-06-27 10:28 ` [RFC 4/4] powerpc/powernv: Create platform devs for nvdimm buses Oliver O'Halloran
2017-07-10 23:53 ` [RFC 1/4] libnvdimm: add to_{nvdimm,nd_region}_dev() Dan Williams
2017-07-11 4:38 ` Oliver
2017-07-11 7:36 ` 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=20170627104328.GD30002@leverpostej \
--to=mark.rutland@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-nvdimm@lists.01.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=oohall@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).