linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Simon Horman <horms@verge.net.au>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH v2] ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n
Date: Thu, 22 Jan 2015 02:19:14 +0000	[thread overview]
Message-ID: <20150122021913.GA31170@verge.net.au> (raw)
In-Reply-To: <20150121050137.8410.36127.sendpatchset@little-apple>

On Wed, Jan 21, 2015 at 02:01:37PM +0900, Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> Allow R-Car Gen2 platforms to boot with CMA enabled
> and HIGHMEM disabled. This patch adds code to check
> if the R-Car Gen2 specific memory reservation window
> is included in the kernel memory range or not. When
> HIGHMEM is disabled the R-Car Gen2 reservation area is
> outside the kernel memory range and in such case the
> memory reservation is simply skipped over.
> 
> Without this patch the kernel boot hangs when CMA is
> enabled and HIGHMEM is disabled on the r8a7791 Koelsch
> hardware platform:
> 
>     WARNING: CPU: 1 PID: 1 at mm/cma.c:113 cma_init_reserved_areas+0x88/0x1d4()
>     ...
>     WARNING: CPU: 1 PID: 1 at mm/cma.c:121 cma_init_reserved_areas+0xf8/0x1d4()
>     ...
>     Unable to handle kernel NULL pointer dereference at virtual address 00000160
>     pgd = c0003000
>     [00000160] *pgd€000040004003, *pmd\0000000
>     Internal error: Oops: 206 [#1] SMP ARM
>     Modules linked in:
>     CPU: 1 PID: 1 Comm: swapper/0 Tainted: G        W
> 3.19.0-rc4-koelsch-01450-g7f9b6075ce12c3ea-dirty #735
>     Hardware name: Generic R8A7791 (Flattened Device Tree)
>     task: edc553c0 ti: edc56000 task.ti: edc56000
>     PC is at set_pfnblock_flags_mask+0x54/0xa0
>     LR is at 0x440
> 
> In the current shmobile_defconfig HIGHMEM is enabled
> while CMA is disabled, so to trigger this the kernel
> configuration for both CMA and HIGHMEM needs to be
> adjusted.
> 
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>

Thanks, I have queued this up for v3.21.

> ---
> 
>  Changes since V1:
>  - Included error log and Tested-by from Geert - thanks!
> 
>  Written on top of renesas-devel-20150114v2-v3.19-rc4
>  
>  arch/arm/mach-shmobile/setup-rcar-gen2.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- 0001/arch/arm/mach-shmobile/setup-rcar-gen2.c
> +++ work/arch/arm/mach-shmobile/setup-rcar-gen2.c	2015-01-15 14:20:47.089397114 +0900
> @@ -21,6 +21,7 @@
>  #include <linux/dma-contiguous.h>
>  #include <linux/io.h>
>  #include <linux/kernel.h>
> +#include <linux/memblock.h>
>  #include <linux/of.h>
>  #include <linux/of_fdt.h>
>  #include <asm/mach/arch.h>
> @@ -197,7 +198,7 @@ void __init rcar_gen2_reserve(void)
>  
>  	of_scan_flat_dt(rcar_gen2_scan_mem, &mrc);
>  #ifdef CONFIG_DMA_CMA
> -	if (mrc.size)
> +	if (mrc.size && memblock_is_region_memory(mrc.base, mrc.size))
>  		dma_contiguous_reserve_area(mrc.size, mrc.base, 0,
>  					    &rcar_gen2_dma_contiguous, true);
>  #endif
> 

      reply	other threads:[~2015-01-22  2:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-21  4:55 [PATCH v2] ARM: shmobile: No R-Car Gen2 CMA reservation when HIGHMEM=n Magnus Damm
2015-01-22  2:19 ` Simon Horman [this message]

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=20150122021913.GA31170@verge.net.au \
    --to=horms@verge.net.au \
    --cc=linux-sh@vger.kernel.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).