]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitce796955ad39924c8f14739fd09cbb90c4d35568
tree6e7581159581fccb7f11683b1f0f2168213820f0
parentf9e9d4ede33f20ad238fc11db0232eaede684940
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