diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /drivers/video/omap2/vram.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'drivers/video/omap2/vram.c')
-rw-r--r-- | drivers/video/omap2/vram.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/video/omap2/vram.c b/drivers/video/omap2/vram.c index f6fdc2085f3e..9441e2eb3dee 100644 --- a/drivers/video/omap2/vram.c +++ b/drivers/video/omap2/vram.c | |||
@@ -551,16 +551,18 @@ void __init omap_vram_reserve_sdram_memblock(void) | |||
551 | if (!size) | 551 | if (!size) |
552 | return; | 552 | return; |
553 | 553 | ||
554 | size = PAGE_ALIGN(size); | 554 | size = ALIGN(size, SZ_2M); |
555 | 555 | ||
556 | if (paddr) { | 556 | if (paddr) { |
557 | struct memblock_property res; | 557 | if (paddr & ~PAGE_MASK) { |
558 | pr_err("VRAM start address 0x%08x not page aligned\n", | ||
559 | paddr); | ||
560 | return; | ||
561 | } | ||
558 | 562 | ||
559 | res.base = paddr; | 563 | if (!memblock_is_region_memory(paddr, size)) { |
560 | res.size = size; | 564 | pr_err("Illegal SDRAM region 0x%08x..0x%08x for VRAM\n", |
561 | if ((paddr & ~PAGE_MASK) || memblock_find(&res) || | 565 | paddr, paddr + size - 1); |
562 | res.base != paddr || res.size != size) { | ||
563 | pr_err("Illegal SDRAM region for VRAM\n"); | ||
564 | return; | 566 | return; |
565 | } | 567 | } |
566 | 568 | ||
@@ -574,9 +576,12 @@ void __init omap_vram_reserve_sdram_memblock(void) | |||
574 | return; | 576 | return; |
575 | } | 577 | } |
576 | } else { | 578 | } else { |
577 | paddr = memblock_alloc_base(size, PAGE_SIZE, MEMBLOCK_REAL_LIMIT); | 579 | paddr = memblock_alloc(size, SZ_2M); |
578 | } | 580 | } |
579 | 581 | ||
582 | memblock_free(paddr, size); | ||
583 | memblock_remove(paddr, size); | ||
584 | |||
580 | omap_vram_add_region(paddr, size); | 585 | omap_vram_add_region(paddr, size); |
581 | 586 | ||
582 | pr_info("Reserving %u bytes SDRAM for VRAM\n", size); | 587 | pr_info("Reserving %u bytes SDRAM for VRAM\n", size); |