Tony,
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of
> Shilimkar, Santosh
> Sent: Friday, February 05, 2010 11:02 AM
> To: Tony Lindgren
> Cc: [email protected]; Kevin Hilman
> Subject: RE: [PATCH] OMAP2/3/4: ioremap address space
> 
> > -----Original Message-----
> > From: Tony Lindgren [mailto:[email protected]]
> > Sent: Friday, February 05, 2010 3:21 AM
> > To: Shilimkar, Santosh
> > Cc: [email protected]; Kevin Hilman
> > Subject: Re: [PATCH] OMAP2/3/4: ioremap address space
> >
> > * Shilimkar, Santosh <[email protected]> [100204 11:45]:
> > > Tony,
> > >
> > > -----Original Message-----
> > > From: [email protected] 
> > > [mailto:[email protected]] On Behalf Of
> > Shilimkar, Santosh
> > > Sent: Wednesday, January 27, 2010 11:14 AM
> > > To: Tony Lindgren
> > > Cc: [email protected]; 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.
Attached version generated against mainline with tap changes is dropped tested 
on
OMAP3430 and OMAP4430 SDP
  
A slightly modified version because of recent uart changes also attached
Tested with linux-omap multi-omap(omap3_defconfig) build on OMAP4430 and 
OMAP3430 SDP.


Regards, 
Santosh


Attachment: 0001-V2-OMAP2-3-4-ioremap-omap_globals-modules.patch
Description: 0001-V2-OMAP2-3-4-ioremap-omap_globals-modules.patch

Attachment: 0001-multi-omap4-OMAP2-3-4-ioremap-omap_globals-modules.patch
Description: 0001-multi-omap4-OMAP2-3-4-ioremap-omap_globals-modules.patch

Reply via email to