rk: mem_reserve: workaround for RGA driver, which may overflow on physical memory address parameter

This commit is contained in:
黄涛
2013-08-03 14:58:02 +08:00
parent 52827dabac
commit 12c921d081

View File

@@ -13,8 +13,12 @@ phys_addr_t __init board_mem_reserve_add(char *name, size_t size)
phys_addr_t base = 0;
size_t align_size = ALIGN_SZ(size, SZ_1M);
if(reserved_base_end == 0)
if (reserved_base_end == 0) {
reserved_base_end = meminfo.bank[meminfo.nr_banks - 1].start + meminfo.bank[meminfo.nr_banks - 1].size;
/* Workaround for RGA driver, which may overflow on physical memory address parameter */
if (reserved_base_end > 0xA0000000)
reserved_base_end = 0xA0000000;
}
reserved_size += align_size;
base = reserved_base_end - reserved_size;