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

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

 



Tony,
> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of
> Shilimkar, Santosh
> Sent: Friday, February 05, 2010 11:02 AM
> To: Tony Lindgren
> Cc: linux-omap@xxxxxxxxxxxxxxx; Kevin Hilman
> Subject: RE: [PATCH] OMAP2/3/4: ioremap address space
> 
> > -----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.
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


[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