linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: n900 in next-20170901
Date: Thu, 9 Nov 2017 22:19:17 -0800	[thread overview]
Message-ID: <20171110061917.GK28152@atomide.com> (raw)
In-Reply-To: <20171110032610.GJ28152@atomide.com>

* Tony Lindgren <tony@atomide.com> [171110 03:28]:
> * Joonsoo Kim <iamjoonsoo.kim@lge.com> [171110 00:10]:
> > On Thu, Nov 09, 2017 at 07:08:54AM -0800, Tony Lindgren wrote:
> > > Hmm OK. Does your first patch above now have the initcall issue too?
> > > It boots if I make that also subsys_initcall and then I get:
> > 
> > > [    2.078094] vmalloc_pool_init: DMA: get vmalloc area: d0010000
> > 
> > Yes, first patch has the initcall issue and it's intentional in order
> > to check the theory. I checked following log for this.
> > 
> > - Boot failure
> > SRAM_ADDR: omap_map_sram: P: 0x40208000 - 0x4020f000
> > SRAM_ADDR: omap_map_sram: V: 0xd0050000 - 0xd0057000
> > 
> > - Boot success
> > SRAM_ADDR: omap_map_sram: P: 0x40208000 - 0x4020f000
> > SRAM_ADDR: omap_map_sram: V: 0xd0008000 - 0xd000f000
> > 
> > When failure, virtual address for sram is higher than normal one due
> > to vmalloc area allocation in __dma_alloc_remap(). If it is deferred,
> > virtual address is the same with success case and then the system work.
> > 
> > So, my next theory is that there is n900 specific assumption that sram
> > should have that address. Could you check if any working tree for n900
> > which doesn't have my CMA series work or not with adding
> > "arm/dma: vmalloc area allocation"?
> 
> Oh I see, sorry I was not following you earlier. So you mean that
> by adding the vmalloc_pool_init() initcall the va mapping for SRAM
> changes.
> 
> And yes, save_secure_ram_context seems to be doing some sketchy
> virt to phys calculation with sram_phy_addr_mask. Here's a small
> patch to fix that for your CMA series, maybe you can merge it
> with your series to avoid breaking booting for git bisect.
> 
> Then I'll follow up on cleaning up save_secure_ram_context later.

Here's a better version, the static mapping did not get used.. It
just moved the area so it happened to work. It needs to be set
up as MT_MEMORY_RWX_NONCACHED instead.

Regards,

Tony

8< -------------------
>From tony Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Thu, 9 Nov 2017 17:05:34 -0800
Subject: [PATCH] ARM: OMAP2+: Add static SRAM mapping 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.

Let's fix this for CMA changes by adding a static mapping for SRAM
on omap3. Then we can follow up with a patch to clean up the address
translation in save_secure_ram_context later on.

Debugged-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/io.c    | 6 ++++++
 arch/arm/mach-omap2/iomap.h | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -139,6 +139,12 @@ static struct map_desc omap243x_io_desc[] __initdata = {
 
 #ifdef	CONFIG_ARCH_OMAP3
 static struct map_desc omap34xx_io_desc[] __initdata = {
+	{
+		.virtual	= OMAP34XX_SRAM_VIRT,
+		.pfn		= __phys_to_pfn(OMAP34XX_SRAM_PHYS),
+		.length		= OMAP34XX_SRAM_SIZE,
+		.type		= MT_MEMORY_RWX_NONCACHED
+	},
 	{
 		.virtual	= L3_34XX_VIRT,
 		.pfn		= __phys_to_pfn(L3_34XX_PHYS),
diff --git a/arch/arm/mach-omap2/iomap.h b/arch/arm/mach-omap2/iomap.h
--- a/arch/arm/mach-omap2/iomap.h
+++ b/arch/arm/mach-omap2/iomap.h
@@ -123,6 +123,10 @@
  * VPOM3430 was not working for Int controller
  */
 
+#define OMAP34XX_SRAM_PHYS	0x40200000
+#define OMAP34XX_SRAM_VIRT	0xd0010000
+#define OMAP34XX_SRAM_SIZE	0x10000
+
 #define L4_PER_34XX_PHYS	L4_PER_34XX_BASE
 						/* 0x49000000 --> 0xfb000000 */
 #define L4_PER_34XX_VIRT	(L4_PER_34XX_PHYS + OMAP2_L4_IO_OFFSET)
-- 
2.15.0

  reply	other threads:[~2017-11-10  6:19 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-03 20:37 n900 in next-20170901 Pavel Machek
2017-09-05 20:13 ` Tony Lindgren
2017-09-05 20:27   ` Vlastimil Babka
2017-09-05 20:32     ` Tony Lindgren
2017-09-05 23:32   ` Joonsoo Kim
2017-09-06 13:30     ` Tony Lindgren
2017-09-07  7:30       ` Joonsoo Kim
2017-09-07 16:16         ` Tony Lindgren
2017-09-13  7:55           ` Joonsoo Kim
2017-09-13 16:31             ` Tony Lindgren
2017-09-15  6:56               ` Joonsoo Kim
2017-09-21 17:28                 ` Tony Lindgren
2017-09-25  8:08                   ` Joonsoo Kim
2017-09-25 14:54                     ` Tony Lindgren
2017-10-18  8:29                       ` Joonsoo Kim
2017-10-19 18:30                         ` Tony Lindgren
2017-10-20  1:55                           ` Joonsoo Kim
2017-10-20 17:31                             ` Tony Lindgren
2017-10-23  4:53                               ` Joonsoo Kim
2017-10-25 17:31                                 ` Tony Lindgren
2017-10-26  4:48                                   ` Joonsoo Kim
2017-10-26 14:16                                     ` Tony Lindgren
2017-11-07  5:33                                       ` Joonsoo Kim
2017-11-07 15:48                                         ` Tony Lindgren
2017-11-08  7:46                                           ` Joonsoo Kim
2017-11-08 16:34                                             ` Tony Lindgren
2017-11-09  0:08                                               ` Joonsoo Kim
2017-11-09  0:11                                                 ` Tony Lindgren
2017-11-09  0:36                                                   ` Joonsoo Kim
2017-11-09  3:50                                                     ` Joonsoo Kim
2017-11-09 15:08                                                       ` Tony Lindgren
2017-11-10  0:13                                                         ` Joonsoo Kim
2017-11-10  3:26                                                           ` Tony Lindgren
2017-11-10  6:19                                                             ` Tony Lindgren [this message]
2017-11-10  6:23                                                               ` Tony Lindgren
2017-11-10  6:46                                                                 ` Joonsoo Kim
2017-11-10 15:37                                                                   ` Tony Lindgren
2017-11-10  6:37                                                             ` Joonsoo Kim
2017-11-10 15:36                                                               ` Tony Lindgren
2017-11-13 21:15                                                                 ` Tony Lindgren
2017-11-14  6:40                                                                   ` Joonsoo Kim
2017-11-14  6:37                                                                 ` Joonsoo Kim
2017-11-14 17:37                                                                   ` Tony Lindgren
2017-11-14 19:31                                                                     ` Tero Kristo
2017-11-14 19:44                                                                       ` Tony Lindgren
2017-11-14 20:01                                                                         ` Tero Kristo
2017-11-14 20:54                                                                           ` Tony Lindgren
2017-11-15  0:51                                                                     ` Joonsoo Kim
2017-11-15  2:04                                                                       ` Tony Lindgren
2017-11-15  2:48                                                                         ` Joonsoo Kim
2017-11-15  2:53                                                                           ` Tony Lindgren
2017-09-15 13:18           ` Pavel Machek
2017-09-18  2:01             ` Joonsoo Kim
2017-09-18  8:11               ` Linux-next broken for 2 weeks was " Pavel Machek
2017-09-18 22:00                 ` Stephen Rothwell
2017-09-18 22:16                   ` Pavel Machek
2017-09-15 13:28         ` Pali Rohár
2017-09-18  2:07           ` Joonsoo Kim
2017-09-08  9:31   ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171110061917.GK28152@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).