Manuel, Thanks for sending these out again. I've patched my tree (an up-to-date git of 2.6.27-rc1) and have some preliminary feedback: 1. I like the interface you added in patch #10. Much better than the old /proc one and flexible enough for a lot of different boards. I agree with your own comment that maybe it should be in the board-specific directories so that people can name the nodes better, but for now I think this is great. 2. If I use the db1200_defconfig and enable Power Management (CONFIG_PM), the build fails on the Au1xxx IDE and fb drivers. Are you seeing this too? I see no reason to reject this patch if they don't build with CONFIG_PM, I just want to make sure I'm not doing something wrong. 3. In my preliminary testing, the system was able to suspend and resume correctly on a DB1200 board. I will do some stress testing in the next couple of days to make sure that it is stable in the long term. Thanks again. -Kevin On Tue, 2008-07-29 at 18:58 +0200, Manuel Lauss wrote: > Hello, > > Here's again a new set of patches to modernize Alchemy setup and PM code. > All patches have been compile-tested with db1100 and db1200 defconfigs, > and have been runnning on a few custom Au1250 boards for now more than > 5 weeks. I've suspended and resumed a few hundred times while stressing > the system (continuous SD + CF reads while playing some wave files and > compiling sources). > > #1 removes unused functions > #2 removes the cpu_table and replaces it with simpler code (IMHO of course) > #3 enables use of cp0 counter as a fallback, > #4 clockevent/clocksource support using one of the 2 counters of the Au1xxx > this also enables the use of the 'wait' instruction; depends on #3 > #5 cleanup made possible with #4 > #7 and #8 fix suspend/resume. > #9 adds DBDMA suspend/resume support. > #10 replaces sysctl suspend interface with something better (IMO). > > All patches depend on each other, have been run-tested on a custom AU1200 > system and compile-tested with a minimal config on db1100 and db1200. > > Changes V3->V4: > - rediffed against 2.6.27-rc1 > - add patch #10. > > Changes V2->V3: > - swap patches 1 and 2 > - minor refinements, no function changes. > > Changes V1->V2: > - address Sergei's comments wrt. config[OD] handling > - change TOY clocksource to RTC clocksource > - add another patch (#5) > > > arch/mips/Kconfig | 8 > arch/mips/au1000/Kconfig | 4 > arch/mips/au1000/common/Makefile | 4 > arch/mips/au1000/common/clocks.c | 65 +++-- > arch/mips/au1000/common/cputable.c | 52 ---- > arch/mips/au1000/common/dbdma.c | 65 +++++ > arch/mips/au1000/common/dbg_io.c | 4 > arch/mips/au1000/common/irq.c | 57 ---- > arch/mips/au1000/common/platform.c | 257 ++++++++++++++++++++ > arch/mips/au1000/common/power.c | 421 ++++++---------------------------- > arch/mips/au1000/common/setup.c | 39 --- > arch/mips/au1000/common/sleeper.S | 121 +++++---- > arch/mips/au1000/common/time.c | 305 ++++++++---------------- > arch/mips/au1000/db1x00/Makefile | 1 > arch/mips/au1000/mtx-1/Makefile | 2 > arch/mips/au1000/pb1000/Makefile | 1 > arch/mips/au1000/pb1100/Makefile | 1 > arch/mips/au1000/pb1200/Makefile | 2 > arch/mips/au1000/pb1500/Makefile | 1 > arch/mips/au1000/pb1550/Makefile | 1 > arch/mips/au1000/xxs1500/Makefile | 1 > arch/mips/kernel/Makefile | 4 > arch/mips/kernel/cevt-r4k.c | 2 > arch/mips/kernel/csrc-r4k.c | 2 > include/asm-mips/mach-au1x00/au1000.h | 64 +++-- > include/asm-mips/time.h | 24 + > 26 files changed, 719 insertions(+), 789 deletions(-) > > Thanks, > Manuel Lauss > -- Kevin Hickey Alchemy Solutions RMI Corporation khickey@xxxxxxxxxxx P: 512.691.8044