lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 1 Apr 2016 10:25:07 +0800
From:	Shawn Guo <shawnguo@...nel.org>
To:	Stefan Agner <stefan@...er.ch>
Cc:	mturquette@...libre.com, sboyd@...eaurora.org,
	kernel@...gutronix.de, sergeimir@...raft.com, tglx@...utronix.de,
	jason@...edaemon.net, marc.zyngier@....com, robh+dt@...nel.org,
	pawel.moll@....com, mark.rutland@....com,
	ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
	devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
	linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org
Subject: Re: [PATCH 15/18] ARM: vf610: PM: initial suspend/resume support

On Wed, Mar 09, 2016 at 06:16:56PM -0800, Stefan Agner wrote:
> Add system suspend and resume support for Vybrid SoC. The standby
> sleep state puts the SoC in STOP mode. The SoC can be woken through
> an interrupt from GPC (Global Power Controller). The GPC can use any
> interrupt as wake-up source. To save power the main PLL1 is bypassed
> and uses the 24MHz on-chip oscillator. However, memory clock need to
> be at full speed, hence the PLL2 needs to be on to keep the memory
> clocked. The mode is completely implemented in C since we can access
> the full memory at all times. The mode provides most power saving
> while being able to be woken by any IRQ as wake-up source.
> 
> The mem sleep state (Suspend-to-RAM) uses Vybrid's LPSTOP2 mode. This
> mode powergates most parts of the SoC expect some peripherials such as
> Wake-Up controller (WKPU) or LP RTC. Parts of the internal SRAM is
> retained too. The suspend code written in assembly runs from this SRAM.
> The code puts the main memory (DDR3) into self-refresh mode and takes
> it out of self-refresh mode on resume. Verified with Colibri VF50/VF61
> V1.2A.
> 
> Signed-off-by: Stefan Agner <stefan@...er.ch>
> ---
>  arch/arm/mach-imx/Makefile        |   3 +
>  arch/arm/mach-imx/common.h        |  10 +
>  arch/arm/mach-imx/mach-vf610.c    |   8 +
>  arch/arm/mach-imx/pm-vf610.c      | 634 ++++++++++++++++++++++++++++++++++++++
>  arch/arm/mach-imx/suspend-vf610.S | 437 ++++++++++++++++++++++++++
>  drivers/clk/imx/clk-vf610.c       |  17 +
>  6 files changed, 1109 insertions(+)
>  create mode 100644 arch/arm/mach-imx/pm-vf610.c
>  create mode 100644 arch/arm/mach-imx/suspend-vf610.S

I know this is how we implemented suspend for i.MX6.  But this is not
the direction moving forward.  When people was pushing a pile of code
adding suspend for i.MX7D, I refused to take it and asked them to push
those hardware details into firmware and use PSCI to implement suspend.
I would like to suggest the same for Vybrid.

Shawn

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ