ARM: OMAP2+: Fix SRAM virt to phys translation for save_secure_ram_context
authorTony Lindgren <tony@atomide.com>
Mon, 27 Nov 2017 16:57:26 +0000 (08:57 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 28 Nov 2017 15:03:26 +0000 (07:03 -0800)
commitd09220a887f70368afa79e850c95e74890c0a32d
tree6e7581159581fccb7f11683b1f0f2168213820f0
parent4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323
ARM: OMAP2+: Fix SRAM virt to phys translation for save_secure_ram_context

With the CMA changes from Joonsoo Kim <iamjoonsoo.kim@lge.com>, it
was noticed that n900 stopped booting. After investigating it turned
out that n900 save_secure_ram_context does some whacky virtual to
physical address translation for the SRAM data address.

As we now only have minimal parts of omap3 idle code copied to SRAM,
running save_secure_ram_context() in SRAM is not needed. It only gets
called on PM init. And it seems there's no need to ever call this from
SRAM idle code.

So let's just keep save_secure_ram_context() in DDR, and pass it the
physical address of the parameters. We can do everything else in
omap-secure.c like we already do for other secure code.

And since we don't have any documentation, I still have no clue what
the values for 0, 1 and 1 for the parameters might be. If somebody has
figured it out, please do send a patch to add some comments.

Debugged-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/omap-secure.c
arch/arm/mach-omap2/omap-secure.h
arch/arm/mach-omap2/pm.h
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/sleep34xx.S