Merge tag 'lsk-v3.10-15.04-android'
[firefly-linux-kernel-4.4.55.git] / arch / arm / mm / init.c
index afeaef7a8ffc36f4c5b3544f5addef809cf4984e..15468ce6f322442dd8e2121ddbb551e7fcfe32eb 100644 (file)
@@ -341,6 +341,15 @@ void __init arm_memblock_init(struct meminfo *mi, struct machine_desc *mdesc)
        for (i = 0; i < mi->nr_banks; i++)
                memblock_add(mi->bank[i].start, mi->bank[i].size);
 
+//#ifdef CONFIG_ARCH_ROCKCHIP
+       for (i = 1; i < memblock.memory.cnt; i++) {
+               struct memblock_region *rgn = &memblock.memory.regions[i];
+
+               if (rgn->size != memblock.memory.regions[i-1].size)
+                       memblock_reserve(rgn->base+rgn->size-PAGE_SIZE, PAGE_SIZE);
+       }
+//#endif
+       
        /* Register the kernel text, kernel data and initrd with memblock. */
 #ifdef CONFIG_XIP_KERNEL
        memblock_reserve(__pa(_sdata), _end - _sdata);
@@ -600,7 +609,7 @@ void __init mem_init(void)
 
 #ifdef CONFIG_SA1111
        /* now that our DMA memory is actually so designated, we can free it */
-       free_reserved_area(__va(PHYS_PFN_OFFSET), swapper_pg_dir, 0, NULL);
+       free_reserved_area(__va(PHYS_OFFSET), swapper_pg_dir, 0, NULL);
 #endif
 
        free_highpages();