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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to