[U-Boot] [PATCH 0/2] omap3: Optimize detection of cpu revision

Premi, Sanjeev premi at ti.com
Mon Jan 11 18:15:26 CET 2010


> -----Original Message-----
> From: Paulraj, Sandeep 
> Sent: Thursday, January 07, 2010 9:02 PM
> To: Premi, Sanjeev; u-boot at lists.denx.de
> Subject: RE: [PATCH 0/2] omap3: Optimize detection of cpu revision
> > 
> > > -----Original Message-----
> > > From: Premi, Sanjeev
> > > Sent: Tuesday, December 15, 2009 6:48 PM
> > > To: u-boot at lists.denx.de
> > > Cc: Premi, Sanjeev
> > > Subject: [PATCH 0/2] omap3: Optimize detection of cpu revision
> > >
> > > Each call to get_cpu_rev() leads to repetitive
> > > execution of code to detect the cpu revision.
> > >
> > > This patchset ensures that mechanism to detect
> > > revision is not executed each time; instead a
> > > stored value is returned.
> > >
> > > Since, revision info is needed in s_init(),
> > > the function to identify cpu revision needs
> > > to be called twice. At the moment, it is
> > > necessary/ unavoidable.
> > >
> > > Sanjeev Premi (2):
> > >   omap3: Identify the CPU in arch_cpu_init()
> > >   omap3: Identify cpu in s_init()
> > >
> > >  cpu/arm_cortexa8/omap3/board.c         |    2 +
> > >  cpu/arm_cortexa8/omap3/sys_info.c      |   73
> > > ++++++++++++++++++++++----------
> > >  include/asm-arm/arch-omap3/sys_proto.h |    3 +-
> > >  include/configs/omap3_beagle.h         |    2 +
> > >  include/configs/omap3_evm.h            |    2 +
> > >  include/configs/omap3_overo.h          |    2 +
> > >  include/configs/omap3_pandora.h        |    2 +
> > >  include/configs/omap3_zoom1.h          |    2 +
> > >  include/configs/omap3_zoom2.h          |    2 +
> > >  9 files changed, 66 insertions(+), 24 deletions(-)
> > >
> > >
> > 
> > Sandeep, Tom,
> > 
> > Any comments on this series on your queue..
> 
> Sanjeev,
> 
> Wolfgang had some comments on this.
> 
> http://www.mail-archive.com/u-boot@lists.denx.de/msg26568.html
> 

Did not find this mail in my inbox (may be reason to miss it earlier).
Anyway, pasting it below to maintain context:

> Dear "Premi, Sanjeev",
> 
> In message <b85a65d85d7eb246be421b3fb0fbb59301e157a... at dbde02.ent.ti.com>
> you wrote:
> > 
> > Also, I don't believe there is any complexity added as
> > the contents of register are being read and saved in a
> > global variable for use later.
> 
> Global variables are a bad thing if there is not really a good reason
> to hav ethem. Here it makes no sense to me. Execution time seems
> uncritical, and there is no kind of hardware wear involved with
> readin the registers, so like Tom I don't see a reason for this
> "optimization".

Tom, Denx,

As this patch stands, there isn't much code to optimize; but the
change was meant as enabler for the next set of processors. The
register and mechanism is same ...just interpretation will differ.

There is already a patchset for AM35x devices and there will new
patches for OMAP36x. 

Also, I believe faster execution time is always better; not just
in critical sections of code. I possibly used "global" quite loosely;
while responding earlier. The variable cpu_revision (being discussed)
here is actually a 'static'. (See patch 1/2).

But, if we feel otherwise, I can revert to executing detection
mechanism each time in the function.

However, are their any comments on remainder of the patch e.g.
moving the cpu identification eary in the u-boot exectuion. The
DPLL settings etc will depend upon the si identification.

Best regards,
Sanjeev

> 
> Best regards,
> Wolfgang Denk

Best regards,
Sanjeev

> > 
> > Best regards,
> > Sanjeev
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
> 


More information about the U-Boot mailing list