development kernel tree: Changes to 'andy'

git at git.openmoko.org git at git.openmoko.org
Tue Jul 15 10:01:37 CEST 2008


 drivers/mfd/glamo/glamo-core.c      |  266 +++++++++++++++++------------------
 drivers/mfd/glamo/glamo-core.h      |    2 +
 drivers/mfd/glamo/glamo-regs.h      |    6 +-
 include/linux/sdio/ctsystem_linux.h |    2 +-
 4 files changed, 136 insertions(+), 140 deletions(-)

New commits:
commit 66963fc61e223bc39bd56c3a880db72b553b6105
Author: Jason Uhlenkott <jasonuhl at jasonuhl.org>
Date:   Tue Jul 15 08:57:40 2008 +0100

    sdio: use interruptible sleep in kthread main loops
    
    My FreeRunner's load average was leveling off at 2.00 as a result of
    these two kernel threads:
    
    SDIO Helper   D c02b4500     0   255      2
    [<c02b4298>] (schedule+0x0/0x2d4) from [<c02b4040>] (__down+0x100/0x158)
    [<c02b3f40>] (__down+0x0/0x158) from [<c02b3e2c>] (__down_failed+0xc/0x20)
     r7:00000000 r6:c01fbd64 r5:c7cb7134 r4:c7d58000
    [<c01fa6fc>] (CardDetectHelperFunction+0x0/0x1ac) from [<c01fbd80>] (HelperLaunch+0x1c/0x28)
     r5:c7cb7134 r4:c7cb7134
    [<c01fbd64>] (HelperLaunch+0x0/0x28) from [<c005bbd0>] (kthread+0x60/0x94)
     r4:c7d58000
    [<c005bb70>] (kthread+0x0/0x94) from [<c0048f7c>] (do_exit+0x0/0x744)
     r6:00000000 r5:00000000 r4:00000000
    
    SDIO Helper   D c02b4500     0   259      2
    [<c02b4298>] (schedule+0x0/0x2d4) from [<c02b4040>] (__down+0x100/0x158)
    [<c02b3f40>] (__down+0x0/0x158) from [<c02b3e2c>] (__down_failed+0xc/0x20)
     r7:c0382bb4 r6:c0382b34 r5:c7d5a000 r4:00000001
    [<c01f9104>] (SDIOIrqHelperFunction+0x0/0x29c) from [<c01fbd80>] (HelperLaunch+0x1c/0x28)
     r8:00000000 r7:00000000 r6:c01fbd64 r5:c0382bb4 r4:c0382bb4
    [<c01fbd64>] (HelperLaunch+0x0/0x28) from [<c005bbd0>] (kthread+0x60/0x94)
     r4:c7d5a000
    [<c005bb70>] (kthread+0x0/0x94) from [<c0048f7c>] (do_exit+0x0/0x744)
     r6:00000000 r5:00000000 r4:00000000
    
    This fixes them to use interruptible sleep primitives while waiting in
    their main loops, as is conventional for kernel threads.  They can't
    actually be interrupted since kernel threads ignore all signals, but
    by sleeping this way they get classified as long term waiters, and
    don't get counted as running for purposes of load average calculation.
    
    This is intended as a minimal fix.  In the longer term, it'd probably
    make sense to replace the semaphores with completions or something,
    and to do away with some of these StudlyCapped wrapper functions.
    
    Signed-off-by: Jason Uhlenkott <jasonuhl at jasonuhl.org>
    --
    
    This is untested, but what could possibly go wrong?  ;)

commit 0a1f44cd86e6b51af10853010a8e35e7e38efcee
Author: Andy Green <andy at openmoko.com>
Date:   Tue Jul 15 08:57:02 2008 +0100

    fix-glamo-suspend-resume-dram-and-engines.patch
    
    Two issues... we never took care to take down engines in suspend
    and bring them back in resume.  This was part of the display
    corruption that could be seen briefly on resume.  The other issue
    that made the "noise" corruption was bad ordering of resume steps.
    
    This patch simplifies (removing needless re-init) resume actions
    and makes explicit the suspend and resume steps.  It also adds
    code to track which engines are up and push them down in suspend
    and bring them back in resume.
    
    The result is no more corruption of display buffer in suspend, it
    comes back completely clean.
    
    Signed-off-by: Andy Green <andy at openmoko.com>





More information about the commitlog mailing list