Mainline OMAP3 breakage (and other OMAP?)
Russell King - ARM Linux
linux at arm.linux.org.uk
Fri Dec 3 03:41:02 EST 2010
On Fri, Dec 03, 2010 at 12:09:55PM +0900, Paul Mundt wrote:
> On Thu, Dec 02, 2010 at 02:32:08PM -0800, Tony Lindgren wrote:
> > * Russell King - ARM Linux <linux at arm.linux.org.uk> [101202 14:06]:
> > > On Thu, Dec 02, 2010 at 01:58:38PM -0800, Tony Lindgren wrote:
> > > > * Russell King - ARM Linux <linux at arm.linux.org.uk> [101202 13:04]:
> > > > > This has been around since October:
> > > > >
> > > > > drivers/video/omap2/vram.c: In function ???omap_vram_reserve_sdram_memblock???:
> > > > > drivers/video/omap2/vram.c:573: error: ???MEMBLOCK_REAL_LIMIT??? undeclared (first use in this function)
> > > > > drivers/video/omap2/vram.c:573: error: (Each undeclared identifier is reported only once
> > > > > drivers/video/omap2/vram.c:573: error: for each function it appears in.)
> > > > >
> > > > > This requires a trivial one-liner compile fix:
> > > > >
> > > > > diff --git a/drivers/video/omap2/vram.c b/drivers/video/omap2/vram.c
> > > > > index fed2a72..a8973f0 100644
> > > > > --- a/drivers/video/omap2/vram.c
> > > > > +++ b/drivers/video/omap2/vram.c
> > > > > @@ -570,7 +570,7 @@ void __init omap_vram_reserve_sdram_memblock(void)
> > > > > return;
> > > > > }
> > > > > } else {
> > > > > - paddr = memblock_alloc_base(size, PAGE_SIZE, MEMBLOCK_REAL_LIMIT);
> > > > > + paddr = memblock_alloc(size, PAGE_SIZE);
> > > > > }
> > > > >
> > > > > omap_vram_add_region(paddr, size);
> > > > >
> > > > > which restores the old behaviour before the X86 memblock changes went
> > > > > in. Yes, there may be other changes due to the ioremap stuff, but
> > > > > that's really no excuse for not fixing the compile error itself.
> > > >
> > > > Great. Adding fbdev and Tomi to Cc.
> > > >
> > > > Acked-by: Tony Lindgren <tony at atomide.com>
> > >
> > > http://marc.info/?l=linux-omap&w=2&r=1&s=MEMBLOCK_REAL_LIMIT%20vram&q=b
> > >
> > > There have been patches posted throughout November to fix this, but
> > > the problem is they're not making it to mainline. It needs chasing
> > > until someone does the right thing and sends one variant of the above
> > > patch, rather than just leaving it until the ioremap fixes hit
> > > mainline during the next merge window.
> >
> > Yes this should go in during the -rc for sure.
> >
> > I suggest you merge this but let's wait a bit and check if Tomi
> > already has a similar fix queued for the -rc series.
> >
> This has been fixed since -rc2.
So it is. However, the ioremap fix is wrong.
} else {
paddr = memblock_alloc(size, PAGE_SIZE);
}
memblock_free(paddr, size);
memblock_remove(paddr, size);
Didn't I say that such blocks were supposed to be aligned to a 2MB
boundary - and the size also so aligned?
http://lists.arm.linux.org.uk/lurker/message/20101011.152516.893a6088.en.html
It at least needs to be 1MB as that's the section size.
More information about the linux-arm-kernel
mailing list