RE: [PATCH] OMAP2/3/4: ioremap address space

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

 



> -----Original Message-----
> From: Tony Lindgren [mailto:tony@xxxxxxxxxxx]
> Sent: Friday, February 05, 2010 3:21 AM
> To: Shilimkar, Santosh
> Cc: linux-omap@xxxxxxxxxxxxxxx; Kevin Hilman
> Subject: Re: [PATCH] OMAP2/3/4: ioremap address space
> 
> * Shilimkar, Santosh <santosh.shilimkar@xxxxxx> [100204 11:45]:
> > Tony,
> >
> > -----Original Message-----
> > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of
> Shilimkar, Santosh
> > Sent: Wednesday, January 27, 2010 11:14 AM
> > To: Tony Lindgren
> > Cc: linux-omap@xxxxxxxxxxxxxxx; Kevin Hilman
> > Subject: RE: [PATCH] OMAP2/3/4: ioremap address space
> >
> > <snip>
> >
> > > > >  void __iomem *omap_ctrl_base_get(void)
> > > > > diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> > > > > index a091b53..fb5921b 100644
> > > > > --- a/arch/arm/mach-omap2/id.c
> > > > > +++ b/arch/arm/mach-omap2/id.c
> > > > > @@ -407,7 +407,12 @@ void __init omap2_check_revision(void)
> > > > >  void __init omap2_set_globals_tap(struct omap_globals *omap2_globals)
> > > > >  {
> > > > >  	omap_revision = omap2_globals->class;
> > > > > -	tap_base = omap2_globals->tap;
> > > > > +
> > > > > +	/* Static mapping, never released */
> > > > > +	if (omap2_globals->tap) {
> > > > > +		tap_base = ioremap(omap2_globals->tap, SZ_4K);
> > > > > +		WARN_ON(!tap_base);
> > > > > +	}
> > > > >
> > > > >  	if (cpu_is_omap34xx())
> > > > >  		tap_prod_id = 0x0210;
> > > >
> > > > Nice clean-up.
> > > >
> > > > We need to check carefully that the cpu detection is done by the time
> > > > we do the ioremap.. Initially we only know the machine class such as
> > > > 34xx/24xx.
> > > Machine class is good enough to select the correct omap_global descriptor.
> 
> Yeah but ioremap uses cpu_is_omap2420() and cpu_is_omap2430(), so we can't
> use that for setting tap_base. Basically ioremap() won't work in this
> case until omap2_check_revision() is done.
> 
> I _think_ the others are safe..
You are correct.
> > > Isn't it ?
> > > > We have at least cpu_is_omap2420 and cpu_is_omap2430 being used in io.c,
> > > > so all these mappings may not work properly.
> > > >
> > > > Also, we should merge this as one patch to keep the system booting
> > > > between the patches.
> > > Git bisect would be problem. We can merge them together.
> > Merged patch attached.
> >
> > How do we proceed with this? I can test this patch with omap3_defconfig and see if
> > the Image works on OMAP3430, OMAP3630 and OMAP4430 SDPs.
> 
> How about leave tap changes from this patcht, and ioremap the rest?
> 
> Then let's try it out in l-o master for next few weeks and then merge
> it assuming things are OK.

Sound good to me. Will spin the new version with this and post.

Regards,
Santosh
--
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