All of lore.kernel.org
 help / color / mirror / Atom feed
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: mvebu: use __pa_symbol in the mv98dx3236 platform SMP code
Date: Wed, 12 Jul 2017 19:06:40 +0200	[thread overview]
Message-ID: <874luhbn4v.fsf@free-electrons.com> (raw)
In-Reply-To: <20170707075928.2938-1-gregory.clement@free-electrons.com> (Gregory CLEMENT's message of "Fri, 7 Jul 2017 09:59:28 +0200")

Hi,
 
 On ven., juil. 07 2017, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:

> As we already did for Armada XP switch from virt_to_phys() to
> __pa_symbol().
>
> The reason for it was well explained by Mark Rutland so let's quote him:
>
> "virt_to_phys() is intended to operate on the linear/direct mapping of
> RAM.
>
> __pa_symbol() is intended to operate on the kernel mapping, which may
> not be in the linear/direct mapping on all architectures. e.g. arm64 and
> x86_64 map the kernel image and RAM separately.
>
> On 32-bit ARM the kernel image mapping is tied to the linear/direct
> mapping, so that works, but as it's semantically wrong (and broken for
> generic code), the DEBUG_VIRTUAL checks complain."
>
> Fixes: db88977894ab ("arm: mvebu: support for SMP on 98DX3336 SoC")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>


Applied on mvebu/fixes with the tags from Chris and Floriant.

Gregory

> ---
>
> Hi Chris,
>
> with this patch I don't expect any regression, hover it would be nice
> if you can test it.
>
> Thanks,
>
> Gregory
>
>  arch/arm/mach-mvebu/platsmp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-mvebu/platsmp.c b/arch/arm/mach-mvebu/platsmp.c
> index e62273aacb43..4ffbbd217e82 100644
> --- a/arch/arm/mach-mvebu/platsmp.c
> +++ b/arch/arm/mach-mvebu/platsmp.c
> @@ -211,7 +211,7 @@ static int mv98dx3236_resume_set_cpu_boot_addr(int hw_cpu, void *boot_addr)
>  		return PTR_ERR(base);
>  
>  	writel(0, base + MV98DX3236_CPU_RESUME_CTRL_REG);
> -	writel(virt_to_phys(boot_addr), base + MV98DX3236_CPU_RESUME_ADDR_REG);
> +	writel(__pa_symbol(boot_addr), base + MV98DX3236_CPU_RESUME_ADDR_REG);
>  
>  	iounmap(base);
>  
> -- 
> 2.13.2
>

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

WARNING: multiple messages have this Message-ID (diff)
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	linux-arm-kernel@lists.infradead.org, stable@vger.kernel.org
Subject: Re: [PATCH] ARM: mvebu: use __pa_symbol in the mv98dx3236 platform SMP code
Date: Wed, 12 Jul 2017 19:06:40 +0200	[thread overview]
Message-ID: <874luhbn4v.fsf@free-electrons.com> (raw)
In-Reply-To: <20170707075928.2938-1-gregory.clement@free-electrons.com> (Gregory CLEMENT's message of "Fri, 7 Jul 2017 09:59:28 +0200")

Hi,
 
 On ven., juil. 07 2017, Gregory CLEMENT <gregory.clement@free-electrons.com> wrote:

> As we already did for Armada XP switch from virt_to_phys() to
> __pa_symbol().
>
> The reason for it was well explained by Mark Rutland so let's quote him:
>
> "virt_to_phys() is intended to operate on the linear/direct mapping of
> RAM.
>
> __pa_symbol() is intended to operate on the kernel mapping, which may
> not be in the linear/direct mapping on all architectures. e.g. arm64 and
> x86_64 map the kernel image and RAM separately.
>
> On 32-bit ARM the kernel image mapping is tied to the linear/direct
> mapping, so that works, but as it's semantically wrong (and broken for
> generic code), the DEBUG_VIRTUAL checks complain."
>
> Fixes: db88977894ab ("arm: mvebu: support for SMP on 98DX3336 SoC")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>


Applied on mvebu/fixes with the tags from Chris and Floriant.

Gregory

> ---
>
> Hi Chris,
>
> with this patch I don't expect any regression, hover it would be nice
> if you can test it.
>
> Thanks,
>
> Gregory
>
>  arch/arm/mach-mvebu/platsmp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-mvebu/platsmp.c b/arch/arm/mach-mvebu/platsmp.c
> index e62273aacb43..4ffbbd217e82 100644
> --- a/arch/arm/mach-mvebu/platsmp.c
> +++ b/arch/arm/mach-mvebu/platsmp.c
> @@ -211,7 +211,7 @@ static int mv98dx3236_resume_set_cpu_boot_addr(int hw_cpu, void *boot_addr)
>  		return PTR_ERR(base);
>  
>  	writel(0, base + MV98DX3236_CPU_RESUME_CTRL_REG);
> -	writel(virt_to_phys(boot_addr), base + MV98DX3236_CPU_RESUME_ADDR_REG);
> +	writel(__pa_symbol(boot_addr), base + MV98DX3236_CPU_RESUME_ADDR_REG);
>  
>  	iounmap(base);
>  
> -- 
> 2.13.2
>

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  parent reply	other threads:[~2017-07-12 17:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-07  7:59 [PATCH] ARM: mvebu: use __pa_symbol in the mv98dx3236 platform SMP code Gregory CLEMENT
2017-07-07  7:59 ` Gregory CLEMENT
2017-07-07  8:02 ` Gregory CLEMENT
2017-07-07  8:02   ` Gregory CLEMENT
2017-07-07 17:31   ` Florian Fainelli
2017-07-07 17:31     ` Florian Fainelli
2017-07-09 21:32 ` Chris Packham
2017-07-09 21:32   ` Chris Packham
2017-07-12 17:06 ` Gregory CLEMENT [this message]
2017-07-12 17:06   ` Gregory CLEMENT

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=874luhbn4v.fsf@free-electrons.com \
    --to=gregory.clement@free-electrons.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 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.