On Thu, 2010-05-20 at 00:33 +0200, ext Steve Sakoman wrote:
> I did a quick test build of the current linux-omap head and get a
> failure very early on in the boot process in
> drivers/video/omap2/vram.c code:
>
> Illegal SDRAM size for VRAM
>
> It is generated by the following code:
>
> bdata = NODE_DATA(0)->bdata;
> sdram_start = bdata->node_min_pfn << PAGE_SHIFT;
> sdram_size = (bdata->node_low_pfn << PAGE_SHIFT) - sdram_start;
>
> if (paddr) {
> if ((paddr & ~PAGE_MASK) || paddr < sdram_start ||
> paddr + size > sdram_start + sdram_size) {
> pr_err("Illegal SDRAM region for VRAM\n");
> return;
> }
>
> if (reserve_bootmem(paddr, size, BOOTMEM_EXCLUSIVE) < 0) {
> pr_err("FB: failed to reserve VRAM\n");
> return;
> }
> } else {
> if (size > sdram_size) {
> pr_err("Illegal SDRAM size for VRAM\n");
> return;
> }
>
> paddr = virt_to_phys(alloc_bootmem_pages(size));
> BUG_ON(paddr & ~PAGE_MASK);
> }
>
>
> I modified the error pr_error to display the two values that are
> compared to generate this error:
>
> Illegal SDRAM size for VRAM: size=0xc00000 sdram_size=0x0
>
> So it appears that the method used to get the sdram size no longer
> works since it returns a size of 0!
I copied the method from the older omapfb driver, and I have to say that
I've never looked at what it actually does. Perhaps there's a proper way
to get the RAM starts and sizes somewhere...
Tomi
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html