Re: [PATCH v2 00/18] ARM: OMAP5: PM: Add MPUSS suspend and CPUidle support

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

 



Hi Rajendra,
On Monday 25 March 2013 06:17 PM, Rajendra Nayak wrote:
On Monday 25 March 2013 05:57 PM, Sourav Poddar wrote:
Hi Santosh,
On Monday 25 March 2013 03:34 PM, Santosh Shilimkar wrote:
Kevin,

Here is the refreshed version(v2) of the OMAP5 PM suspport which was posted
earlier (March 1st 2013). Patch-set incorporates comments from Nishant
Menon (Thanks for review NM) and his acked-by tags. I would like to get this
queued for 3.10 merge window if you are ok with the series.

Series is built on top of my pull requests [1] [2] [3] sent to Tony and your
'for_3.10/pm/cleanup' branch. For testing, I have created a branch [4]
which put together all the needed dependencies, fixes which should make it
to 3.10 merge window.

Series adds OMAP5 MPUSS power management support for system wide suspend
and CPUidle. Its heavy re-use from OMAP4 and hence only ~400 odd lines are
needed to add OMAP5 PM support on top of existing OMAP4 PM support.

OMAP5 adds a mercury retention feature which is an enhancement of
existing retention feature to reduce the leakage. No change in
programming model except one time enabling of mercury retention
during init.

One more notable change in OMAP5 vs OMAP4 devices, CPUx power domains
support retention state which lets you hit MPUSS and Core retention with
very low latency C-states.

Tested on OMAP4430 SDP, OMAP4460 Panda, OMAP5430 SDP and OMAP5432 Panda
devices with suspend and CPUIdle. Rootfs is mounted over ramdisk since
the mmc and nfs based fs needs DMA engine patches. For suspend wakeup,
I used Sourav's couple of serial wakeup wip patches from the lists.

The following changes since commit 9981cde24de52e5bb9a7cd918d1e54de241f85c9:

    Merge branch 'for_3.10/omap5_data_files' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux into for_3.10/omap5_pm (2013-03-25 12:29:34 +0530)

are available in the git repository at:


    git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git for_3.10/omap5_pm

for you to fetch changes up to 75bd846d3103da858a208fe07127151903d1f608:

    ARM: OMAP5: PM: handle device instance for warm reset (2013-03-25 12:37:44 +0530)

----------------------------------------------------------------
Nishanth Menon (1):
    ARM: OMAP5: PM: handle device instance for warm reset

Santosh Shilimkar (17):
    ARM: OMAP4+: PM: Consolidate MPU subsystem PM code for re-use
    ARM: OMAP5: PM: Update CPU context register offset
    ARM: OMAP4+: PM: Consolidate and use OMAP4 PM code for OMAP5
    ARM: OMAP5: PM: Set MPUSS-EMIF clock-domain static dependency
    ARM: OMAP5: PM: Enables ES2 PM mode by default
    ARM: OMAP5: PM: Enable Mercury retention mode on CPUx powerdomains
    ARM: OMAP5: Add init_late() hook to enable pm initialization
    ARM: OMAP5: PM: Add CPU power off in hotplug path
    ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force
      wakeup method
    ARM: OMAP5: PM: Add MPU Open Switch Retention support
    ARM: OMAP5: PM: Add L2 memory power down support
    ARM: OMAP4: CPUidle: Avoid double idle driver registration
    ARM: OMAP: CPUidle: Unregister drivere on device registration failure
    ARM: OMAP4: CPUidle: Make C-state description field more precise
    ARM: OMAP4+: CPUidle: Consolidate idle driver for OMAP5 support
    ARM: OMAP4+: CPUidle: Deprecate use of
      omap4_mpuss_read_prev_context_state()
    ARM: OMAP4+: CPUidle: Add OMAP5 idle driver support

   arch/arm/mach-omap2/Kconfig                        |    1 +
   arch/arm/mach-omap2/Makefile                       |   12 +-
   arch/arm/mach-omap2/board-generic.c                |    1 +
   arch/arm/mach-omap2/common.h                       |    8 +-
   arch/arm/mach-omap2/cpuidle34xx.c                  |    6 +-
   .../{cpuidle44xx.c =>   cpuidle_omap4plus.c}         |  151 ++++++++++++++++---
   arch/arm/mach-omap2/io.c                           |    8 +
   arch/arm/mach-omap2/omap-mpuss-lowpower.c          |  155 +++++++++++++++-----
   arch/arm/mach-omap2/omap-secure.h                  |    9 ++
   arch/arm/mach-omap2/omap-smp.c                     |   12 +-
   arch/arm/mach-omap2/omap-wakeupgen.c               |   30 +++-
   arch/arm/mach-omap2/omap-wakeupgen.h               |    1 +
   arch/arm/mach-omap2/omap4-sar-layout.h             |    2 +
   arch/arm/mach-omap2/{pm44xx.c =>   pm_omap4plus.c}   |   90 ++++++++++--
   arch/arm/mach-omap2/prminst44xx.c                  |   10 +-
   .../mach-omap2/{sleep44xx.S =>   sleep_omap4plus.S}  |  106 +++++++++++++
   16 files changed, 512 insertions(+), 90 deletions(-)
   rename arch/arm/mach-omap2/{cpuidle44xx.c =>   cpuidle_omap4plus.c} (58%)
   rename arch/arm/mach-omap2/{pm44xx.c =>   pm_omap4plus.c} (74%)
   rename arch/arm/mach-omap2/{sleep44xx.S =>   sleep_omap4plus.S} (77%)

Build tested [1] for omap2plus_defconfig.

For [2], where omap5_pm_branch[1] is merged, testing details are as follows:
    * Boot tested on omap4430 sdp, omap5 evm.

    * Wakeup from UART after suspend using dt was tested on omap4430sdp and
       omap5430 evm.
       Note: For  the above UART testing, we need to append "no_console_suspend" in our
                bootargs.
Is this for both omap4 and omap5 that you need 'no_console_suspend'?

For omap5, using "no_console_suspend" is mandatory as of now.

For omap4 dt case,
  We can also do without "no_console_suspend".

But the tested branch[2] contains a patch which fixes wakeup from uart on both
 omap4/5 with dt, while using "no_console_suspend" in the bootargs..

~Sourav
       Tested-by: Sourav Poddar<sourav.poddar@xxxxxx>

Thanks,
Sourav

[1] git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux for_3.10/omap5_pm
[2] git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git testing/3.10/omap5_int



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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