[PATCH v5 0/7] cleanup imx5 idle, add imx5/6 cpuidle

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

Cleanup up imx5 idle code and enable imx5 low powe idle for imx53.

Add common imx cpuidle initialization functionality and add a i.MX5 and i.MX6Q
platform cpuidle implementation.

Based on v3.4 plus recently submitted/accepted MACHINE_INIT late_initcall 
 patch series: http://www.spinics.net/lists/arm-kernel/msg171620.html and common
 clock patch series:

v5 changes:
 * rebase to v3.4 plus common clock patch series
 * various trivial changes/fixes from v4 submssion
 * Add separate pm_init patch for imx51 and imx53

v4 changes:
 * Added several imx5 idle cleanups to series.
 * Modified imx_io_p2v function to allow common imx5 AIPS2 bus virutal address
 * Added comment to tzic_wakeup_enable().
 * Movied imx5 idle code from mm-imx5.c to pm-imx5.c.
 * Removed unnecessary time consuming code execution that ran on each idle
 * modified imx5_pm_init to be a late_initcall
 * added late_initcall to all imx53 MACHINE_START entries.
 * enabled imx5 low power idle for imx53
 * rebased cpuidle driver on top of imx5 cleanup changes.
 * modified cpuidle driver exit time to reflect removal of unnecessary code


v3 changes:
 * removed file introduced in v1 no longer needed after v2 [per Shawn Guo]
 * re-ordered added #includes in alphabetical order [per Shawn Guo]
 * Remove if(!drv) check to allow handling by stack trace [per Sascha Hauer]
 * Added missing return value in error meesage [per Shawn Guo]
 * fixed (void *) casting problem pointed out Sasha Hauer.  Used a different
   type of casting to properly give warning on improper casting:
   	arm_pm_idle = (void (*)(void))imx5_idle;
   Used this casting instead of adding a dummy caller function because
   adding the dummy function appears to unnecessarily introduce the following
   additional operations:
	static void imx5_pm_idle(void)
	  a0:	e1a0c00d 	mov	ip, sp
	  a4:	e92dd800 	push	{fp, ip, lr, pc}
	  a8:	e24cb004 	sub	fp, ip, #4
	  ac:	ebffffd3 	bl	0 <imx5_idle>
	  b0:	e89da800 	ldm	sp, {fp, sp, pc}


v2 changes:
 * Removed some unnecessary  spaces [per Jess Juhl]
 * Added return value for an error message [per Sascha Hauer]
 * Reworked init scheme to use device tree late_initcall [per Sascha and Shawn]
 * Moved imx6q and imx5 cpuidle functionality to existing files.


v1 initial submission:


Robert Lee (7):
  ARM: imx: Modify IMX_IO_P2V macro
  ARM: imx: Add comments to tzic_enable_waker()
  ARM: imx: clean and consolidate imx5 suspend and idle code
  ARM: imx: Enable imx53 low power idle
  ARM: imx: Add common imx cpuidle init functionality.
  ARM: imx: Add imx5 cpuidle
  ARM: imx: Add imx6q cpuidle driver

 arch/arm/mach-imx/clk-imx51-imx53.c       |    2 +-
 arch/arm/mach-imx/clock-mx51-mx53.c       |    1 +
 arch/arm/mach-imx/imx53-dt.c              |    1 +
 arch/arm/mach-imx/mach-imx6q.c            |   19 +++++
 arch/arm/mach-imx/mach-mx53_ard.c         |    1 +
 arch/arm/mach-imx/mach-mx53_evk.c         |    1 +
 arch/arm/mach-imx/mach-mx53_loco.c        |    1 +
 arch/arm/mach-imx/mach-mx53_smd.c         |    1 +
 arch/arm/mach-imx/mm-imx5.c               |   26 ++-----
 arch/arm/mach-imx/pm-imx5.c               |  111 ++++++++++++++++++++++-------
 arch/arm/plat-mxc/Makefile                |    1 +
 arch/arm/plat-mxc/cpuidle.c               |   80 +++++++++++++++++++++
 arch/arm/plat-mxc/include/mach/common.h   |    6 +-
 arch/arm/plat-mxc/include/mach/cpuidle.h  |   22 ++++++
 arch/arm/plat-mxc/include/mach/hardware.h |   25 ++++---
 arch/arm/plat-mxc/tzic.c                  |    4 ++
 16 files changed, 243 insertions(+), 59 deletions(-)
 create mode 100644 arch/arm/plat-mxc/cpuidle.c
 create mode 100644 arch/arm/plat-mxc/include/mach/cpuidle.h


linux-arm-kernel mailing list

[Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [PDAs]     [Linux]     [Linux MIPS]     [Yosemite Campsites]     [Photos]

Add to Google Follow linuxarm on Twitter