[Maverick][PATCH] UBUNTU: ARM: Turning off CONFIG_CPU_IDLE on omap

Mathieu Poirier mathieu.poirier at canonical.com
Tue Jun 22 14:12:12 UTC 2010


Sadly enough the problem seems, once again, isolated to the maverick
tree.  Upstream indeed has CONFIG_CPU_IDLE turned off but turning it on
doesn't, like in maverick, trigger the daisy chain messages.

The code in both maverick and upstream follows the *exact* same path,
except that a "__raw_readl" is failing in the former, creating error
messages.  This is - I think - yet another timing issue since adding
mdelay(5) gives enough time for the call to return properly.  

I wouldn't hesitate to turn CONFIG_CPU_IDLE off and forget about it but
the implementation of the "cpuidle" driver in "cpuidle34xx.c" fits
perfectly in the OMAP3 scheme. 

The real problem here lies with "__raw_readl" - why in the world is it
returning too quickly ?

On Tue, 2010-06-22 at 10:11 +0800, Bryan Wu wrote:
> On 06/22/2010 07:30 AM, Mathieu Poirier wrote:
> >>From 7cb2de99fb596c2e9d9abe6fd6273344e397f7d2 Mon Sep 17 00:00:00 2001
> > From: Mathieu J. Poirier <mathieu.poirier at canonical.com>
> > Date: Mon, 21 Jun 2010 17:19:46 -0600
> > Subject: [PATCH] UBUNTU: ARM: Turning off CONFIG_CPU_IDLE on omap
> > 
> > This is a temperary fix that allow the system to be usable.  The real fix,
> > the one that really correct what seems to be an issue with retreiving
> > the value of the PM_WKST_WKUP register should follow shortly.
> > 
> 
> Since this is a critical bug, is there any fixing patch in TI omap3 tree or
> linux-omap tree or upstream mainline? I think cherry pick them into our Maverick
> tree is better.
> 
> BTW. CONFIG_CPU_IDLE was disabled in ti-omap4 branch.
> 
> Thanks,
> -Bryan
> 
> > BugLink: https://bugs/launchpad.net/bugs/594382
> > 
> > Signed-off-by: Mathieu Poirier <mathieu.poirier at canonical.com>
> > ---
> >  debian.master/config/amd64/config.common.amd64 |    1 +
> >  debian.master/config/armel/config.common.armel |    1 +
> >  debian.master/config/config.common.ubuntu      |    1 -
> >  debian.master/config/i386/config.common.i386   |    1 +
> >  4 files changed, 3 insertions(+), 1 deletions(-)
> > 
> > diff --git a/debian.master/config/amd64/config.common.amd64 b/debian.master/config/amd64/config.common.amd64
> > index fd43848..783b7ac 100644
> > --- a/debian.master/config/amd64/config.common.amd64
> > +++ b/debian.master/config/amd64/config.common.amd64
> > @@ -26,6 +26,7 @@ CONFIG_CDROM_PKTCDVD=y
> >  CONFIG_CEPH_FS=m
> >  CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
> >  CONFIG_COMEDI=m
> > +CONFIG_CPU_IDLE=y
> >  CONFIG_CRYPTO_HMAC=y
> >  CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
> >  CONFIG_DISPLAY_SUPPORT=m
> > diff --git a/debian.master/config/armel/config.common.armel b/debian.master/config/armel/config.common.armel
> > index ba002ce..262a404 100644
> > --- a/debian.master/config/armel/config.common.armel
> > +++ b/debian.master/config/armel/config.common.armel
> > @@ -8,6 +8,7 @@ CONFIG_ASYNC_TX_DMA=y
> >  CONFIG_ATM_BR2684_IPFILTER=y
> >  CONFIG_ATM_DUMMY=m
> >  # CONFIG_COMEDI is not set
> > +# CONFIG_CPU_IDLE is not set
> >  CONFIG_DEFAULT_CFQ=y
> >  # CONFIG_DEFAULT_DEADLINE is not set
> >  CONFIG_DEFAULT_IOSCHED="cfq"
> > diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
> > index 902ea7d..231120b 100644
> > --- a/debian.master/config/config.common.ubuntu
> > +++ b/debian.master/config/config.common.ubuntu
> > @@ -787,7 +787,6 @@ CONFIG_CPU_FREQ_TABLE=y
> >  CONFIG_CPU_HAS_ASID=y
> >  CONFIG_CPU_HAS_PMU=y
> >  # CONFIG_CPU_ICACHE_DISABLE is not set
> > -CONFIG_CPU_IDLE=y
> >  CONFIG_CPU_IDLE_GOV_LADDER=y
> >  CONFIG_CPU_IDLE_GOV_MENU=y
> >  CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
> > diff --git a/debian.master/config/i386/config.common.i386 b/debian.master/config/i386/config.common.i386
> > index d883dd0..92110fd 100644
> > --- a/debian.master/config/i386/config.common.i386
> > +++ b/debian.master/config/i386/config.common.i386
> > @@ -24,6 +24,7 @@ CONFIG_CDROM_PKTCDVD=y
> >  CONFIG_CEPH_FS=m
> >  CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
> >  CONFIG_COMEDI=m
> > +CONFIG_CPU_IDLE=y
> >  CONFIG_CRYPTO_HMAC=y
> >  CONFIG_DEFAULT_CFQ=y
> >  # CONFIG_DEFAULT_DEADLINE is not set
> 






More information about the kernel-team mailing list