From: Oliver O'Halloran <oohall@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Oliver O'Halloran <oohall@gmail.com>
Subject: [PATCH 3/7] powerpc/papr_scm: Update DT properties
Date: Fri, 7 Dec 2018 02:17:10 +1100 [thread overview]
Message-ID: <20181206151714.28494-4-oohall@gmail.com> (raw)
In-Reply-To: <20181206151714.28494-1-oohall@gmail.com>
The ibm,unit-sizes property was originally specified as an array of two
u32s corresponding to the memory block size, and the number of blocks
available in that region. A fairly last-minute change to the SCM DT
specification was splitting that into two seperate u64 properties:
ibm,block-sizes and ibm,number-of-blocks that convey the same
information. No firmware / hypervisor that emitted the ibm,unit-size
property ever appeared in the wild.
Fixes: b5beae5e224f ("powerpc/pseries: Add driver for PAPR SCM regions")
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
---
arch/powerpc/platforms/pseries/papr_scm.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
index 390badd33547..ed1082cc1d27 100644
--- a/arch/powerpc/platforms/pseries/papr_scm.c
+++ b/arch/powerpc/platforms/pseries/papr_scm.c
@@ -257,8 +257,9 @@ err: nvdimm_bus_unregister(p->bus);
static int papr_scm_probe(struct platform_device *pdev)
{
- uint32_t drc_index, metadata_size, unit_cap[2];
struct device_node *dn = pdev->dev.of_node;
+ uint32_t drc_index, metadata_size;
+ uint64_t blocks, block_size;
struct papr_scm_priv *p;
int rc;
@@ -268,8 +269,13 @@ static int papr_scm_probe(struct platform_device *pdev)
return -ENODEV;
}
- if (of_property_read_u32_array(dn, "ibm,unit-capacity", unit_cap, 2)) {
- dev_err(&pdev->dev, "%pOF: missing unit-capacity!\n", dn);
+ if (of_property_read_u64(dn, "ibm,block-size", &block_size)) {
+ dev_err(&pdev->dev, "%pOF: missing block-size!\n", dn);
+ return -ENODEV;
+ }
+
+ if (of_property_read_u64(dn, "ibm,number-of-blocks", &blocks)) {
+ dev_err(&pdev->dev, "%pOF: missing number-of-blocks!\n", dn);
return -ENODEV;
}
@@ -282,8 +288,8 @@ static int papr_scm_probe(struct platform_device *pdev)
p->dn = dn;
p->drc_index = drc_index;
- p->block_size = unit_cap[0];
- p->blocks = unit_cap[1];
+ p->block_size = block_size;
+ p->blocks = blocks;
/* might be zero */
p->metadata_size = metadata_size;
--
2.17.2
next prev parent reply other threads:[~2018-12-06 15:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-06 15:17 papr SCM driver fixes Oliver O'Halloran
2018-12-06 15:17 ` [PATCH 1/7] powerpc/papr_scm: Use depend instead of select Oliver O'Halloran
2018-12-10 2:43 ` [1/7] " Michael Ellerman
2018-12-06 15:17 ` [PATCH 2/7] powerpc/papr_scm: Fix resource end address Oliver O'Halloran
2018-12-06 15:17 ` Oliver O'Halloran [this message]
2018-12-06 15:17 ` [PATCH 4/7] powerpc/papr_scm: Remove endian conversions Oliver O'Halloran
2018-12-06 15:17 ` [PATCH 5/7] powerpc/papr_scm: Fix DIMM device registration race Oliver O'Halloran
2018-12-06 15:17 ` [PATCH 6/7] powerpc/papr_scm: Use ibm,unit-guid as the iset cookie Oliver O'Halloran
2018-12-06 15:17 ` [PATCH 7/7] powerpc/mm: Fallback to RAM if the altmap is unusable Oliver O'Halloran
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=20181206151714.28494-4-oohall@gmail.com \
--to=oohall@gmail.com \
--cc=linuxppc-dev@lists.ozlabs.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;
as well as URLs for NNTP newsgroup(s).