All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm/nvdimm: Use correct #defines instead of opencoding
@ 2019-05-14  2:56 ` Aneesh Kumar K.V
  0 siblings, 0 replies; 28+ messages in thread
From: Aneesh Kumar K.V @ 2019-05-14  2:56 UTC (permalink / raw)
  To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm

The nfpn related change is needed to fix the kernel message

"number of pfns truncated from 2617344 to 163584"

The change makes sure the nfpns stored in the superblock is right value.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
 drivers/nvdimm/pfn_devs.c    | 6 +++---
 drivers/nvdimm/region_devs.c | 8 ++++----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 347cab166376..6751ff0296ef 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -777,8 +777,8 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
 		 * when populating the vmemmap. This *should* be equal to
 		 * PMD_SIZE for most architectures.
 		 */
-		offset = ALIGN(start + reserve + 64 * npfns,
-				max(nd_pfn->align, PMD_SIZE)) - start;
+		offset = ALIGN(start + reserve + sizeof(struct page) * npfns,
+			       max(nd_pfn->align, PMD_SIZE)) - start;
 	} else if (nd_pfn->mode == PFN_MODE_RAM)
 		offset = ALIGN(start + reserve, nd_pfn->align) - start;
 	else
@@ -790,7 +790,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
 		return -ENXIO;
 	}
 
-	npfns = (size - offset - start_pad - end_trunc) / SZ_4K;
+	npfns = (size - offset - start_pad - end_trunc) / PAGE_SIZE;
 	pfn_sb->mode = cpu_to_le32(nd_pfn->mode);
 	pfn_sb->dataoff = cpu_to_le64(offset);
 	pfn_sb->npfns = cpu_to_le64(npfns);
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index b4ef7d9ff22e..2d8facea5a03 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -994,10 +994,10 @@ static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus,
 		struct nd_mapping_desc *mapping = &ndr_desc->mapping[i];
 		struct nvdimm *nvdimm = mapping->nvdimm;
 
-		if ((mapping->start | mapping->size) % SZ_4K) {
-			dev_err(&nvdimm_bus->dev, "%s: %s mapping%d is not 4K aligned\n",
-					caller, dev_name(&nvdimm->dev), i);
-
+		if ((mapping->start | mapping->size) % PAGE_SIZE) {
+			dev_err(&nvdimm_bus->dev,
+				"%s: %s mapping%d is not 4K aligned\n",
+				caller, dev_name(&nvdimm->dev), i);
 			return NULL;
 		}
 
-- 
2.21.0

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2019-05-22  5:42 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-14  2:56 [PATCH] mm/nvdimm: Use correct #defines instead of opencoding Aneesh Kumar K.V
2019-05-14  2:56 ` Aneesh Kumar K.V
2019-05-14  2:56 ` Aneesh Kumar K.V
2019-05-14  3:58 ` Dan Williams
2019-05-14  3:58   ` Dan Williams
2019-05-14  3:58   ` Dan Williams
2019-05-14  4:05   ` Aneesh Kumar K.V
2019-05-14  4:05     ` Aneesh Kumar K.V
2019-05-14  4:05     ` Aneesh Kumar K.V
2019-05-14  4:12     ` Dan Williams
2019-05-14  4:12       ` Dan Williams
2019-05-14  4:12       ` Dan Williams
2019-05-14  4:46       ` Aneesh Kumar K.V
2019-05-14  4:46         ` Aneesh Kumar K.V
2019-05-14  4:46         ` Aneesh Kumar K.V
2019-05-21  7:47         ` Dan Williams
2019-05-21  7:47           ` Dan Williams
2019-05-21  7:47           ` Dan Williams
2019-05-21  9:50           ` Aneesh Kumar K.V
2019-05-21  9:50             ` Aneesh Kumar K.V
2019-05-21  9:50             ` Aneesh Kumar K.V
2019-05-21 14:49             ` Elliott, Robert (Servers)
2019-05-21 16:07             ` Dan Williams
2019-05-21 16:07               ` Dan Williams
2019-05-21 16:07               ` Dan Williams
2019-05-22  5:41               ` Aneesh Kumar K.V
2019-05-22  5:41                 ` Aneesh Kumar K.V
2019-05-22  5:41                 ` Aneesh Kumar K.V

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.