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: George G. Davis <george_davis@mentor.com> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: Michal 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c32b3cbe0d
commit
94737a85f3
2
mm/cma.c
2
mm/cma.c
|
@ -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;
|
||||
*res_cma = cma;
|
||||
cma_area_count++;
|
||||
totalcma_pages += (size / PAGE_SIZE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -337,7 +338,6 @@ int __init cma_declare_contiguous(phys_addr_t base,
|
|||
if (ret)
|
||||
goto err;
|
||||
|
||||
totalcma_pages += (size / PAGE_SIZE);
|
||||
pr_info("Reserved %ld MiB at %pa\n", (unsigned long)size / SZ_1M,
|
||||
&base);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue