Re: DSS2 failure with current linux-omap head

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux