All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Pavel Machek <pavel@ucw.cz>,
	pali.rohar@gmail.com, sre@kernel.org,
	kernel list <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-omap@vger.kernel.org, khilman@kernel.org,
	aaro.koskinen@iki.fi, ivo.g.dimitrov.75@gmail.com,
	patrikbachan@gmail.com, serge@hallyn.com, abcloriens@gmail.com,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Russell King <linux@armlinux.org.uk>
Subject: Re: 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

WARNING: multiple messages have this Message-ID (diff)
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: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-03 20:37 n900 in next-20170901 Pavel Machek
2017-09-03 20:37 ` Pavel Machek
2017-09-05 20:13 ` Tony Lindgren
2017-09-05 20:13   ` Tony Lindgren
2017-09-05 20:27   ` Vlastimil Babka
2017-09-05 20:27     ` Vlastimil Babka
2017-09-05 20:32     ` Tony Lindgren
2017-09-05 20:32       ` Tony Lindgren
2017-09-05 23:32   ` Joonsoo Kim
2017-09-05 23:32     ` Joonsoo Kim
2017-09-06 13:30     ` Tony Lindgren
2017-09-06 13:30       ` Tony Lindgren
2017-09-07  7:30       ` Joonsoo Kim
2017-09-07  7:30         ` Joonsoo Kim
2017-09-07 16:16         ` Tony Lindgren
2017-09-07 16:16           ` Tony Lindgren
2017-09-13  7:55           ` Joonsoo Kim
2017-09-13  7:55             ` Joonsoo Kim
2017-09-13 16:31             ` Tony Lindgren
2017-09-13 16:31               ` Tony Lindgren
2017-09-15  6:56               ` Joonsoo Kim
2017-09-15  6:56                 ` Joonsoo Kim
2017-09-21 17:28                 ` Tony Lindgren
2017-09-21 17:28                   ` Tony Lindgren
2017-09-25  8:08                   ` Joonsoo Kim
2017-09-25  8:08                     ` Joonsoo Kim
2017-09-25 14:54                     ` Tony Lindgren
2017-09-25 14:54                       ` Tony Lindgren
2017-10-18  8:29                       ` Joonsoo Kim
2017-10-18  8:29                         ` Joonsoo Kim
2017-10-19 18:30                         ` Tony Lindgren
2017-10-19 18:30                           ` Tony Lindgren
2017-10-20  1:55                           ` Joonsoo Kim
2017-10-20  1:55                             ` Joonsoo Kim
2017-10-20 17:31                             ` Tony Lindgren
2017-10-20 17:31                               ` Tony Lindgren
2017-10-23  4:53                               ` Joonsoo Kim
2017-10-23  4:53                                 ` Joonsoo Kim
2017-10-25 17:31                                 ` Tony Lindgren
2017-10-25 17:31                                   ` Tony Lindgren
2017-10-26  4:48                                   ` Joonsoo Kim
2017-10-26  4:48                                     ` Joonsoo Kim
2017-10-26 14:16                                     ` Tony Lindgren
2017-10-26 14:16                                       ` Tony Lindgren
2017-11-07  5:33                                       ` Joonsoo Kim
2017-11-07  5:33                                         ` Joonsoo Kim
2017-11-07 15:48                                         ` Tony Lindgren
2017-11-07 15:48                                           ` Tony Lindgren
2017-11-08  7:46                                           ` Joonsoo Kim
2017-11-08  7:46                                             ` Joonsoo Kim
2017-11-08 16:34                                             ` Tony Lindgren
2017-11-08 16:34                                               ` Tony Lindgren
2017-11-09  0:08                                               ` Joonsoo Kim
2017-11-09  0:08                                                 ` Joonsoo Kim
2017-11-09  0:11                                                 ` Tony Lindgren
2017-11-09  0:11                                                   ` Tony Lindgren
2017-11-09  0:36                                                   ` Joonsoo Kim
2017-11-09  0:36                                                     ` Joonsoo Kim
2017-11-09  3:50                                                     ` Joonsoo Kim
2017-11-09  3:50                                                       ` Joonsoo Kim
2017-11-09 15:08                                                       ` Tony Lindgren
2017-11-09 15:08                                                         ` Tony Lindgren
2017-11-10  0:13                                                         ` Joonsoo Kim
2017-11-10  0:13                                                           ` Joonsoo Kim
2017-11-10  3:26                                                           ` Tony Lindgren
2017-11-10  3:26                                                             ` Tony Lindgren
2017-11-10  6:19                                                             ` Tony Lindgren [this message]
2017-11-10  6:19                                                               ` Tony Lindgren
2017-11-10  6:23                                                               ` Tony Lindgren
2017-11-10  6:23                                                                 ` Tony Lindgren
2017-11-10  6:46                                                                 ` Joonsoo Kim
2017-11-10  6:46                                                                   ` Joonsoo Kim
2017-11-10 15:37                                                                   ` Tony Lindgren
2017-11-10 15:37                                                                     ` Tony Lindgren
2017-11-10  6:37                                                             ` Joonsoo Kim
2017-11-10  6:37                                                               ` Joonsoo Kim
2017-11-10 15:36                                                               ` Tony Lindgren
2017-11-10 15:36                                                                 ` Tony Lindgren
2017-11-13 21:15                                                                 ` Tony Lindgren
2017-11-13 21:15                                                                   ` Tony Lindgren
2017-11-14  6:40                                                                   ` Joonsoo Kim
2017-11-14  6:40                                                                     ` Joonsoo Kim
2017-11-14  6:37                                                                 ` Joonsoo Kim
2017-11-14  6:37                                                                   ` Joonsoo Kim
2017-11-14 17:37                                                                   ` Tony Lindgren
2017-11-14 17:37                                                                     ` Tony Lindgren
2017-11-14 19:31                                                                     ` Tero Kristo
2017-11-14 19:31                                                                       ` Tero Kristo
2017-11-14 19:31                                                                       ` Tero Kristo
2017-11-14 19:44                                                                       ` Tony Lindgren
2017-11-14 19:44                                                                         ` Tony Lindgren
2017-11-14 20:01                                                                         ` Tero Kristo
2017-11-14 20:01                                                                           ` Tero Kristo
2017-11-14 20:01                                                                           ` Tero Kristo
2017-11-14 20:54                                                                           ` Tony Lindgren
2017-11-14 20:54                                                                             ` Tony Lindgren
2017-11-15  0:51                                                                     ` Joonsoo Kim
2017-11-15  0:51                                                                       ` Joonsoo Kim
2017-11-15  2:04                                                                       ` Tony Lindgren
2017-11-15  2:04                                                                         ` Tony Lindgren
2017-11-15  2:48                                                                         ` Joonsoo Kim
2017-11-15  2:48                                                                           ` Joonsoo Kim
2017-11-15  2:53                                                                           ` Tony Lindgren
2017-11-15  2:53                                                                             ` Tony Lindgren
2017-11-15  2:53                                                                             ` Tony Lindgren
2017-09-15 13:18           ` Pavel Machek
2017-09-15 13:18             ` Pavel Machek
2017-09-18  2:01             ` Joonsoo Kim
2017-09-18  2:01               ` Joonsoo Kim
2017-09-18  8:11               ` Linux-next broken for 2 weeks was " Pavel Machek
2017-09-18  8:11                 ` Pavel Machek
2017-09-18 22:00                 ` Stephen Rothwell
2017-09-18 22:00                   ` Stephen Rothwell
2017-09-18 22:16                   ` Pavel Machek
2017-09-18 22:16                     ` Pavel Machek
2017-09-15 13:28         ` Pali Rohár
2017-09-15 13:28           ` Pali Rohár
2017-09-18  2:07           ` Joonsoo Kim
2017-09-18  2:07             ` Joonsoo Kim
2017-09-08  9:31   ` Pavel Machek
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=aaro.koskinen@iki.fi \
    --cc=abcloriens@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=pali.rohar@gmail.com \
    --cc=patrikbachan@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=serge@hallyn.com \
    --cc=sfr@canb.auug.org.au \
    --cc=sre@kernel.org \
    --cc=vbabka@suse.cz \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.