All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	Rob Landley <rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org>,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 4/4] ARM: tegra: Set SCU base address dynamically from DT
Date: Mon, 17 Dec 2012 15:14:02 -0700	[thread overview]
Message-ID: <50CF992A.8080008@wwwdotorg.org> (raw)
In-Reply-To: <50CF258E.2080207-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On 12/17/2012 07:00 AM, Rob Herring wrote:
> On 12/17/2012 12:18 AM, Hiroshi Doyu wrote:
>> Set Snoop Control Unit(SCU) register base address dynamically from DT.

>> diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c

>>  static void __init tegra_smp_init_cpus(void)
>>  {
>> -	unsigned int i, ncores = scu_get_core_count(scu_base);
>> +	struct device_node *np;
>> +	unsigned int i, ncores = 1;
>> +
>> +	np = of_find_matching_node(NULL, cortex_a9_scu_match);
>> +	if (!np)
>> +		return;
>> +	scu_base = of_iomap(np, 0);
> 
> Did you actually test this? Unless something changed, ioremap does not
> work this early. The only reason to have it mapped this early is to get
> the core count, but that doesn't work on A15 or A7. So we really need to
> get core count/mask in a standard way. At least some work to get core
> count from DT went into 3.8.

Does it work if the machine's .map_io() function has set up a static
mapping that includes the specified region? I believe that is the case
on Tegra. What is the alternative if the registers can't be mapped;
should the code count the number of child nodes in /cpus?

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] ARM: tegra: Set SCU base address dynamically from DT
Date: Mon, 17 Dec 2012 15:14:02 -0700	[thread overview]
Message-ID: <50CF992A.8080008@wwwdotorg.org> (raw)
In-Reply-To: <50CF258E.2080207@gmail.com>

On 12/17/2012 07:00 AM, Rob Herring wrote:
> On 12/17/2012 12:18 AM, Hiroshi Doyu wrote:
>> Set Snoop Control Unit(SCU) register base address dynamically from DT.

>> diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c

>>  static void __init tegra_smp_init_cpus(void)
>>  {
>> -	unsigned int i, ncores = scu_get_core_count(scu_base);
>> +	struct device_node *np;
>> +	unsigned int i, ncores = 1;
>> +
>> +	np = of_find_matching_node(NULL, cortex_a9_scu_match);
>> +	if (!np)
>> +		return;
>> +	scu_base = of_iomap(np, 0);
> 
> Did you actually test this? Unless something changed, ioremap does not
> work this early. The only reason to have it mapped this early is to get
> the core count, but that doesn't work on A15 or A7. So we really need to
> get core count/mask in a standard way. At least some work to get core
> count from DT went into 3.8.

Does it work if the machine's .map_io() function has set up a static
mapping that includes the specified region? I believe that is the case
on Tegra. What is the alternative if the registers can't be mapped;
should the code count the number of child nodes in /cpus?

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren@wwwdotorg.org>
To: Rob Herring <robherring2@gmail.com>
Cc: Hiroshi Doyu <hdoyu@nvidia.com>,
	linux-arm-kernel@lists.infradead.org,
	Russell King <linux@arm.linux.org.uk>,
	devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Rob Herring <rob.herring@calxeda.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Landley <rob@landley.net>,
	linux-tegra@vger.kernel.org
Subject: Re: [PATCH 4/4] ARM: tegra: Set SCU base address dynamically from DT
Date: Mon, 17 Dec 2012 15:14:02 -0700	[thread overview]
Message-ID: <50CF992A.8080008@wwwdotorg.org> (raw)
In-Reply-To: <50CF258E.2080207@gmail.com>

On 12/17/2012 07:00 AM, Rob Herring wrote:
> On 12/17/2012 12:18 AM, Hiroshi Doyu wrote:
>> Set Snoop Control Unit(SCU) register base address dynamically from DT.

>> diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c

>>  static void __init tegra_smp_init_cpus(void)
>>  {
>> -	unsigned int i, ncores = scu_get_core_count(scu_base);
>> +	struct device_node *np;
>> +	unsigned int i, ncores = 1;
>> +
>> +	np = of_find_matching_node(NULL, cortex_a9_scu_match);
>> +	if (!np)
>> +		return;
>> +	scu_base = of_iomap(np, 0);
> 
> Did you actually test this? Unless something changed, ioremap does not
> work this early. The only reason to have it mapped this early is to get
> the core count, but that doesn't work on A15 or A7. So we really need to
> get core count/mask in a standard way. At least some work to get core
> count from DT went into 3.8.

Does it work if the machine's .map_io() function has set up a static
mapping that includes the specified region? I believe that is the case
on Tegra. What is the alternative if the registers can't be mapped;
should the code count the number of child nodes in /cpus?

  parent reply	other threads:[~2012-12-17 22:14 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-17  6:18 [PATCH 1/4] ARM: dt: Add doc for ARM Snoop Control Unit(SCU) Hiroshi Doyu
2012-12-17  6:18 ` Hiroshi Doyu
2012-12-17  6:18 ` Hiroshi Doyu
2012-12-17  6:18 ` [PATCH 2/4] ARM: dt: tegra20.dtsi: Add SCU node Hiroshi Doyu
2012-12-17  6:18   ` Hiroshi Doyu
2012-12-17  6:18   ` Hiroshi Doyu
2012-12-17  6:18 ` [PATCH 3/4] ARM: dt: tegra30.dtsi: " Hiroshi Doyu
2012-12-17  6:18   ` Hiroshi Doyu
2012-12-17  6:18   ` Hiroshi Doyu
2012-12-17  6:18 ` [PATCH 4/4] ARM: tegra: Set SCU base address dynamically from DT Hiroshi Doyu
2012-12-17  6:18   ` Hiroshi Doyu
2012-12-17  6:18   ` Hiroshi Doyu
2012-12-17 14:00   ` Rob Herring
2012-12-17 14:00     ` Rob Herring
     [not found]     ` <50CF258E.2080207-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-12-17 22:14       ` Stephen Warren [this message]
2012-12-17 22:14         ` Stephen Warren
2012-12-17 22:14         ` Stephen Warren
2012-12-18  9:21     ` Hiroshi Doyu
2012-12-18  9:21       ` Hiroshi Doyu
     [not found]       ` <20121218.112129.1344593225772728837.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-12-18 13:46         ` Rob Herring
2012-12-18 13:46           ` Rob Herring
2012-12-18 13:46           ` Rob Herring
2012-12-18 15:15           ` Hiroshi Doyu
2012-12-18 15:15             ` Hiroshi Doyu
2012-12-18 15:32             ` Hiroshi Doyu
2012-12-18 15:32               ` Hiroshi Doyu
2013-01-14 10:43     ` Hiroshi Doyu
2013-01-14 10:43       ` Hiroshi Doyu
2013-01-14 10:43       ` Hiroshi Doyu
2013-01-02 19:02   ` Stephen Warren
2013-01-02 19:02     ` Stephen Warren
2013-01-03  6:38     ` Hiroshi Doyu
2013-01-03  6:38       ` Hiroshi Doyu

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=50CF992A.8080008@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.