Commit 94737a85 authored by George G. Davis's avatar George G. Davis Committed by Linus Torvalds

mm: cma: fix totalcma_pages to include DT defined CMA regions

The totalcma_pages variable is not updated to account for CMA regions
defined via device tree reserved-memory sub-nodes.  Fix this omission by
moving the calculation of totalcma_pages into cma_init_reserved_mem()
instead of cma_declare_contiguous() such that it will include reserved
memory used by all CMA regions.
Signed-off-by: default avatarGeorge G. Davis <george_davis@mentor.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: default avatarMichal Nazarewicz <mina86@mina86.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c32b3cbe
...@@ -199,6 +199,7 @@ int __init cma_init_reserved_mem(phys_addr_t base, phys_addr_t size, ...@@ -199,6 +199,7 @@ int __init cma_init_reserved_mem(phys_addr_t base, phys_addr_t size,
cma->order_per_bit = order_per_bit; cma->order_per_bit = order_per_bit;
*res_cma = cma; *res_cma = cma;
cma_area_count++; cma_area_count++;
totalcma_pages += (size / PAGE_SIZE);
return 0; return 0;
} }
...@@ -337,7 +338,6 @@ int __init cma_declare_contiguous(phys_addr_t base, ...@@ -337,7 +338,6 @@ int __init cma_declare_contiguous(phys_addr_t base,
if (ret) if (ret)
goto err; goto err;
totalcma_pages += (size / PAGE_SIZE);
pr_info("Reserved %ld MiB at %pa\n", (unsigned long)size / SZ_1M, pr_info("Reserved %ld MiB at %pa\n", (unsigned long)size / SZ_1M,
&base); &base);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment