Skip to contentSkip to conversation

ARM: Add API to detect SCU base address from CP15

PATCH Applied Hiroshi Doyu 6 participants 20 messages Jan 22, 2013 – Jan 28, 2013

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH v3 1/2 ARM: Add API to detect SCU base address from CP15

Add API to detect SCU base address from CP15.

---
Update: Use Russell's suggestion,
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/143321.html

---
 arch/arm/include/asm/smp_scu.h |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)
arch/arm/include/asm/smp_scu.h +17 -0
index 4eb6d00..006f026 100644
@@ -6,6 +6,23 @@
 #define SCU_PM_POWEROFF	3
 
 #ifndef __ASSEMBLER__
+
+#include <asm/cputype.h>
+
+static inline bool scu_a9_has_base(void)
+{
+	return read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9;
+}
+
+static inline unsigned long scu_a9_get_base(void)
+{
+	unsigned long pa;
+
+	asm("mrc p15, 4, %0, c15, c0, 0" : "=r" (pa));
+
+	return pa;
+}
+
 unsigned int scu_get_core_count(void __iomem *);
 void scu_enable(void __iomem *);
 int scu_power_mode(void __iomem *, unsigned int);
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v3 2/2 ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---
 arch/arm/mach-tegra/platsmp.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm/mach-tegra/platsmp.c +2 -2
index 689ee4b..8853bd2 100644
@@ -38,7 +38,6 @@
 extern void tegra_secondary_startup(void);
 
 static cpumask_t tegra_cpu_init_mask;
-static void __iomem *scu_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE);
 
 #define EVP_CPU_RESET_VECTOR \
 	(IO_ADDRESS(TEGRA_EXCEPTION_VECTORS_BASE) + 0x100)
@@ -187,7 +186,8 @@ static void __init tegra_smp_prepare_cpus(unsigned int max_cpus)
 	/* Always mark the boot CPU (CPU0) as initialized. */
 	cpumask_set_cpu(0, &tegra_cpu_init_mask);
 
-	scu_enable(scu_base);
+	if (scu_a9_has_base())
+		scu_enable(IO_ADDRESS(scu_a9_get_base()));
 }
 
 struct smp_operations tegra_smp_ops __initdata = {
Signature · 1 line
1.7.9.5
#3 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 7 lines · Santosh Shilimkar
Quoted 4 lines · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---

Looks fine. I will also update OMAP code with the new interface. Thanks.

OK, so patch 1/2 at least needs to get into a stable arm-soc branch then. Unless there are violent objections, I'll forward patch 1/2 to arm-soc and request it be added into a branch so that Tegra and OMAP can both merge it into their branches as a dependency. I guess patch 2/2 could also be included; I don't think it has any complex dependencies that'd prevent that, and would help to show how patch 1/2 gets used.

Hiroshi, is this series the only dependency you need for your Tegra114 series? So, I could merge your Tegra114 series once this series is applied?

Quoted 2 lines

For the patch,

Thanks.

#4 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 16 lines · Stephen Warren
Quoted 7 lines · Santosh Shilimkar
Quoted 4 lines · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---

Looks fine. I will also update OMAP code with the new interface. Thanks.

OK, so patch 1/2 at least needs to get into a stable arm-soc branch then. Unless there are violent objections, I'll forward patch 1/2 to arm-soc and request it be added into a branch so that Tegra and OMAP can both merge it into their branches as a dependency. I guess patch 2/2 could also be included; I don't think it has any complex dependencies that'd prevent that, and would help to show how patch 1/2 gets used.

Quoted 2 lines

Hiroshi, is this series the only dependency you need for your Tegra114 series? So, I could merge your Tegra114 series once this series is applied?

For something like this, it might make more sense for us to just apply the patches for OMAP on top, i.e. we'll pull the short branch from you, and then we can just apply patches (with maintainer acks) on top, instead of doing a bunch of single-patch pulls.

Since Russell had comments on it earlier, I'd like him to give a nod that he's happy with it too.

-Olof

#5 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 17 lines · Olof Johansson
Quoted 16 lines · Stephen Warren
Quoted 7 lines · Santosh Shilimkar
Quoted 4 lines · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---

Looks fine. I will also update OMAP code with the new interface. Thanks.

OK, so patch 1/2 at least needs to get into a stable arm-soc branch then. Unless there are violent objections, I'll forward patch 1/2 to arm-soc and request it be added into a branch so that Tegra and OMAP can both merge it into their branches as a dependency. I guess patch 2/2 could also be included; I don't think it has any complex dependencies that'd prevent that, and would help to show how patch 1/2 gets used.

Quoted 8 lines
Quoted 2 lines

Hiroshi, is this series the only dependency you need for your Tegra114 series? So, I could merge your Tegra114 series once this series is applied?

For something like this, it might make more sense for us to just apply the patches for OMAP on top, i.e. we'll pull the short branch from you, and then we can just apply patches (with maintainer acks) on top, instead of doing a bunch of single-patch pulls.

In case you decide to apply patches, you can use patch in the end of the email for OMAP. Attached the same in case mailer damages it.

Btw, I noticed the build error with patch 1/1. Since I wasn't using the first interface in OMAP code, I just bypassed it for testing. I might be missing some dependent patch which added read_cpuid_part_number().

---------------
In file included from arch/arm/kernel/smp_scu.c:15:0:
linux-2.6/arch/arm/include/asm/smp_scu.h: In function 'scu_a9_has_base':
linux-2.6/arch/arm/include/asm/smp_scu.h:14:2: error: implicit declaration of function 'read_cpuid_part_number' [-Werror=implicit-function-declaration] linux-2.6/arch/arm/include/asm/smp_scu.h:14:37: error: 'ARM_CPU_PART_CORTEX_A9' undeclared (first use in this function) linux-2.6/arch/arm/include/asm/smp_scu.h:14:37: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
make[1]: *** [arch/arm/kernel/smp_scu.o] Error 1
make: *** [arch/arm/kernel] Error 2
---------------------------------

Regards
Santosh

From 9760cd0ed93b48ec22584e89979cd4a8ec65b938 Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <[email protected]>
Date: Wed, 23 Jan 2013 13:56:19 +0530
Subject: [PATCH] ARM: OMAP: Make use of available scu_a9_get_base() interface

Drop the define and make use of scu_a9_get_base() which reads the physical address of SCU from CP15 register.

---
 arch/arm/mach-omap2/omap-smp.c |    2 +-
 arch/arm/mach-omap2/omap44xx.h |    1 -
 2 files changed, 1 insertion(+), 2 deletions(-)
arch/arm/mach-omap2/omap-smp.c +1 -1
index cd42d92..e683d0d 100644
@@ -215,7 +215,7 @@ static void __init omap4_smp_init_cpus(void)
 		 * Currently we can't call ioremap here because
 		 * SoC detection won't work until after init_early.
 		 */
-		scu_base =  OMAP2_L4_IO_ADDRESS(OMAP44XX_SCU_BASE);
+		scu_base =  OMAP2_L4_IO_ADDRESS(scu_a9_get_base());
 		BUG_ON(!scu_base);
 		ncores = scu_get_core_count(scu_base);
 	} else if (cpu_id == CPU_CORTEX_A15) {
arch/arm/mach-omap2/omap44xx.h +0 -1
index 43b927b..8a515bb 100644
@@ -40,7 +40,6 @@
 #define OMAP44XX_GIC_DIST_BASE		0x48241000
 #define OMAP44XX_GIC_CPU_BASE		0x48240100
 #define OMAP44XX_IRQ_GIC_START		32
-#define OMAP44XX_SCU_BASE		0x48240000
 #define OMAP44XX_LOCAL_TWD_BASE		0x48240600
 #define OMAP44XX_L2CACHE_BASE		0x48242000
 #define OMAP44XX_WKUPGEN_BASE		0x48281000
Signature · 1 line
1.7.9.5
Quoted 1 line

From 9760cd0ed93b48ec22584e89979cd4a8ec65b938 Mon Sep 17 00:00:00 2001

From: Santosh Shilimkar <[email protected]>
Date: Wed, 23 Jan 2013 13:56:19 +0530
Subject: [PATCH] ARM: OMAP: Make use of available scu_a9_get_base() interface

Drop the define and make use of scu_a9_get_base() which reads the physical address of SCU from CP15 register.

---
 arch/arm/mach-omap2/omap-smp.c |    2 +-
 arch/arm/mach-omap2/omap44xx.h |    1 -
 2 files changed, 1 insertion(+), 2 deletions(-)
arch/arm/mach-omap2/omap-smp.c +1 -1
index cd42d92..e683d0d 100644
@@ -215,7 +215,7 @@ static void __init omap4_smp_init_cpus(void)
 		 * Currently we can't call ioremap here because
 		 * SoC detection won't work until after init_early.
 		 */
-		scu_base =  OMAP2_L4_IO_ADDRESS(OMAP44XX_SCU_BASE);
+		scu_base =  OMAP2_L4_IO_ADDRESS(scu_a9_get_base());
 		BUG_ON(!scu_base);
 		ncores = scu_get_core_count(scu_base);
 	} else if (cpu_id == CPU_CORTEX_A15) {
arch/arm/mach-omap2/omap44xx.h +0 -1
index 43b927b..8a515bb 100644
@@ -40,7 +40,6 @@
 #define OMAP44XX_GIC_DIST_BASE		0x48241000
 #define OMAP44XX_GIC_CPU_BASE		0x48240100
 #define OMAP44XX_IRQ_GIC_START		32
-#define OMAP44XX_SCU_BASE		0x48240000
 #define OMAP44XX_LOCAL_TWD_BASE		0x48240600
 #define OMAP44XX_L2CACHE_BASE		0x48242000
 #define OMAP44XX_WKUPGEN_BASE		0x48281000
Signature · 1 line
1.7.9.5
#6 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Santosh Shilimkar <[email protected]> wrote @ Wed, 23 Jan 2013 09:58:08 +0100:

Quoted 26 lines · Olof Johansson
Quoted 17 lines · Stephen Warren
Quoted 16 lines · Santosh Shilimkar
Quoted 7 lines · Hiroshi Doyu
Quoted 4 lines

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---

Looks fine. I will also update OMAP code with the new interface. Thanks.

OK, so patch 1/2 at least needs to get into a stable arm-soc branch then. Unless there are violent objections, I'll forward patch 1/2 to arm-soc and request it be added into a branch so that Tegra and OMAP can both merge it into their branches as a dependency. I guess patch 2/2 could also be included; I don't think it has any complex dependencies that'd prevent that, and would help to show how patch 1/2 gets used.

Quoted 8 lines
Quoted 2 lines

Hiroshi, is this series the only dependency you need for your Tegra114 series? So, I could merge your Tegra114 series once this series is applied?

For something like this, it might make more sense for us to just apply the patches for OMAP on top, i.e. we'll pull the short branch from you, and then we can just apply patches (with maintainer acks) on top, instead of doing a bunch of single-patch pulls.

Quoted 7 lines

In case you decide to apply patches, you can use patch in the end of the email for OMAP. Attached the same in case mailer damages it.

Btw, I noticed the build error with patch 1/1. Since I wasn't using the first interface in OMAP code, I just bypassed it for testing. I might be missing some dependent patch which added read_cpuid_part_number().

The following one, which is in "next-20130123", is also necessary.

commit 59530adc3f1b802c275f0197fc3ac72dc014267a

Author: Christoffer Dall <[email protected]>
Date:   Tue Dec 18 04:06:37 2012 +0000

ARM: Define CPU part numbers and implementors

#7 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 7 lines · Hiroshi Doyu

Santosh Shilimkar <[email protected]> wrote @ Wed, 23 Jan 2013 09:58:08 +0100:

Quoted 5 lines · Olof Johansson
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Santosh Shilimkar
Quoted 2 lines · Hiroshi Doyu
Quoted 1 line

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

[..]

Quoted 5 lines
Quoted 4 lines

Btw, I noticed the build error with patch 1/1. Since I wasn't using the first interface in OMAP code, I just bypassed it for testing. I might be missing some dependent patch which added read_cpuid_part_number().

Quoted 8 lines

The following one, which is in "next-20130123", is also necessary.

commit 59530adc3f1b802c275f0197fc3ac72dc014267a

Author: Christoffer Dall <[email protected]>
Date:   Tue Dec 18 04:06:37 2012 +0000

ARM: Define CPU part numbers and implementors

Thanks for the pointer Hiroshi.

Regards,
Santosh

#8 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

In reply to Santosh Shilimkar
Quoted 28 lines · Santosh Shilimkar
Quoted 18 lines · Olof Johansson
Quoted 16 lines · Stephen Warren
Quoted 7 lines · Santosh Shilimkar
Quoted 4 lines · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---

Looks fine. I will also update OMAP code with the new interface. Thanks.

OK, so patch 1/2 at least needs to get into a stable arm-soc branch then. Unless there are violent objections, I'll forward patch 1/2 to arm-soc and request it be added into a branch so that Tegra and OMAP can both merge it into their branches as a dependency. I guess patch 2/2 could also be included; I don't think it has any complex dependencies that'd prevent that, and would help to show how patch 1/2 gets used.

Quoted 8 lines
Quoted 3 lines

Hiroshi, is this series the only dependency you need for your Tegra114 series? So, I could merge your Tegra114 series once this series is applied?

For something like this, it might make more sense for us to just apply the patches for OMAP on top, i.e. we'll pull the short branch from you, and then we can just apply patches (with maintainer acks) on top, instead of doing a bunch of single-patch pulls.

Quoted 7 lines

In case you decide to apply patches, you can use patch in the end of the email for OMAP. Attached the same in case mailer damages it.

Btw, I noticed the build error with patch 1/1. Since I wasn't using the first interface in OMAP code, I just bypassed it for testing. I might be missing some dependent patch which added read_cpuid_part_number().

Thanks for the OMAP patch. I have pushed a couple of temporary and non-stable branches to:

git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git

Branch scu-base-rework contains just the SCU base address patches. After the few things listed below, I'll rename this branch and send a pull request to arm-soc.

1) Olof asked that Russell Ack or otherwise OK Hiroshi's latest versions of the following two patches since he commented on previous versions:

ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9
ARM: Add API to detect SCU base address from CP15

2) Lorenzo's last comment on "ARM: tegra: Use DT /cpu node to detect number of CPU core" was:

Please add missing punctuation, reword the commit log to make it clearer.

... so that patch needs a reworded commit log.

3) This branch needs testing on both Tegra30 and OMAP (I'm away from the office at the moment and can only test on Tegra20 here),

Branch test-test-hdoyu-t114 contains the most recent version of the Tegra114 series from Hiroshi, mainly for my local testing etc. Hiroshi said he will repost an updated version based on the latest Tegra common clock framework changes. For the record, what I plan to do when applying this is:

1) Merge the renamed tmp/scu-base-rework into Tegra's for-3.9/soc.

2) Apply the new posting of the Tegra114 patch series.

#9 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Stephen,

Quoted 55 lines · Stephen Warren
Quoted 28 lines · Santosh Shilimkar
Quoted 18 lines · Olof Johansson
Quoted 16 lines · Stephen Warren
Quoted 7 lines · Santosh Shilimkar
Quoted 4 lines · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

---

Looks fine. I will also update OMAP code with the new interface. Thanks.

OK, so patch 1/2 at least needs to get into a stable arm-soc branch then. Unless there are violent objections, I'll forward patch 1/2 to arm-soc and request it be added into a branch so that Tegra and OMAP can both merge it into their branches as a dependency. I guess patch 2/2 could also be included; I don't think it has any complex dependencies that'd prevent that, and would help to show how patch 1/2 gets used.

Quoted 8 lines
Quoted 3 lines

Hiroshi, is this series the only dependency you need for your Tegra114 series? So, I could merge your Tegra114 series once this series is applied?

For something like this, it might make more sense for us to just apply the patches for OMAP on top, i.e. we'll pull the short branch from you, and then we can just apply patches (with maintainer acks) on top, instead of doing a bunch of single-patch pulls.

Quoted 7 lines

In case you decide to apply patches, you can use patch in the end of the email for OMAP. Attached the same in case mailer damages it.

Btw, I noticed the build error with patch 1/1. Since I wasn't using the first interface in OMAP code, I just bypassed it for testing. I might be missing some dependent patch which added read_cpuid_part_number().

Thanks for the OMAP patch. I have pushed a couple of temporary and non-stable branches to:

git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git

Branch scu-base-rework contains just the SCU base address patches. After the few things listed below, I'll rename this branch and send a pull request to arm-soc.

1) Olof asked that Russell Ack or otherwise OK Hiroshi's latest versions of the following two patches since he commented on previous versions:

ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9
ARM: Add API to detect SCU base address from CP15

2) Lorenzo's last comment on "ARM: tegra: Use DT /cpu node to detect number of CPU core" was:

Quoted 7 lines

Please add missing punctuation, reword the commit log to make it clearer.

... so that patch needs a reworded commit log.

3) This branch needs testing on both Tegra30 and OMAP (I'm away from the office at the moment and can only test on Tegra20 here),

Tested 'scu-base-rework' branch on OMAP and it works just fine. I noticed that the OMAP patch subject got line wrapped. Can you please fix that before sending pull request ?
Thanks for picking up the patch.

Regards,
Santosh

#10 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

In reply to Stephen Warren

Stephen Warren <[email protected]> wrote @ Thu, 24 Jan 2013 06:04:55 +0100:

Quoted 4 lines

Branch scu-base-rework contains just the SCU base address patches. After the few things listed below, I'll rename this branch and send a pull request to arm-soc.

....

Quoted 6 lines

2) Lorenzo's last comment on "ARM: tegra: Use DT /cpu node to detect number of CPU core" was:

Please add missing punctuation, reword the commit log to make it clearer.

... so that patch needs a reworded commit log.

I fixed. I'll send this[1] as a part of the "Tegra114 series(v4)" today.

[1] ARM: tegra: Use DT /cpu node to detect number of CPU core

Acked-by Russell King
#12 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 5 lines · Hiroshi Doyu

Hi Russell,

On Tue, 22 Jan 2013 18:04:46 +0100
Olof Johansson <[email protected]> wrote:

Quoted 7 lines
Quoted 2 lines

Since Russell had comments on it earlier, I'd like him to give a nod that he's happy with it too.

Is this ok for you?

The original patch is:
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/143552.html

Yes, this version is much better, thanks.

#13 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

In reply to Stephen Warren

Stephen Warren <[email protected]> wrote @ Tue, 22 Jan 2013 17:57:39 +0100:

Quoted 2 lines

Hiroshi, is this series the only dependency you need for your Tegra114

Basically yes.

Quoted 1 line

series? So, I could merge your Tegra114 series once this series is applied?

But now "CCF" seems to be in. Then, the HACK(*1) needs to be replaced with "Tegra114 CCF". But "Tegra114 CCF" doesn't seem ready yet. I'll check if this Tegra114 series would work without "Tegra114 CCF".

*1: http://patchwork.ozlabs.org/patch/212010/

#14 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Hiroshi Doyu <[email protected]> wrote @ Wed, 23 Jan 2013 08:04:57 +0200 (EET):

Quoted 7 lines

Stephen Warren <[email protected]> wrote @ Tue, 22 Jan 2013 17:57:39 +0100:

Quoted 2 lines

Hiroshi, is this series the only dependency you need for your Tegra114

Basically yes.

Quoted 7 lines
Quoted 1 line

series? So, I could merge your Tegra114 series once this series is applied?

But now "CCF" seems to be in. Then, the HACK(*1) needs to be replaced with "Tegra114 CCF". But "Tegra114 CCF" doesn't seem ready yet. I'll check if this Tegra114 series would work without "Tegra114 CCF".

*1: http://patchwork.ozlabs.org/patch/212010/

Stephen,

Verified "Tegra114 series" worked with "for-3.9/soc" branch(inc CCF) with a little tweak.

I can post Tegra114 series again. If you want them rebased onto another branch, let me know.

#15 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 15 lines · Hiroshi Doyu

Hiroshi Doyu <[email protected]> wrote @ Wed, 23 Jan 2013 08:04:57 +0200 (EET):

Quoted 13 lines

Stephen Warren <[email protected]> wrote @ Tue, 22 Jan 2013 17:57:39 +0100:

Quoted 2 lines

Hiroshi, is this series the only dependency you need for your Tegra114

Basically yes.

Quoted 1 line

series? So, I could merge your Tegra114 series once this series is applied?

But now "CCF" seems to be in. Then, the HACK(*1) needs to be replaced with "Tegra114 CCF". But "Tegra114 CCF" doesn't seem ready yet. I'll check if this Tegra114 series would work without "Tegra114 CCF".

Quoted 6 lines
Quoted 1 line

*1: http://patchwork.ozlabs.org/patch/212010/

Stephen,

Verified "Tegra114 series" worked with "for-3.9/soc" branch(inc CCF) with a little tweak.

Good news.

Quoted 2 lines

I can post Tegra114 series again. If you want them rebased onto another branch, let me know.

Yes please. I will apply them to for-3.9/soc. Please assume that for-3.9/soc will already contain "ARM: Define CPU part numbers and implementors", and your two SCU-related patches. Include your "ARM:
tegra: Use DT /cpu node to detect number of CPU core" as the first patch in the series. I assume that is all of the dependencies; if I've forgotten anything, please point it out. Thanks.

#16 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

In reply to Hiroshi Doyu
Quoted 1 line · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

Will, is your for-next/perf branch stable; can I pull it into a branch destined for arm-soc? Background below:

Uggh.

This patch (2/2) depends on "ARM: tegra: Use DT /cpu node to detect number of CPU core" from your Tegra114 series, since that patch removes the other use of scu_base, thus allowing this patch to remove that variable.

Then, that patch depends on "ARM: Define CPU part numbers and implementors" from Will Deacon's ARM perf tree at:

git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git for-next/perf

That means that in order to put this series into arm-soc, we would have to pull in Will's perf branch first, then the following Tegra patches, the latter two of which are already in Tegra's for-next, so I'd have to pull them out:

0bb7bd9 ARM: tegra: Use DT /cpu node to detect number of CPU core a8f5f25 ARM: tegra: Add CPU nodes to Tegra30 device tree 9975516 ARM: tegra: Add CPU nodes to Tegra20 device tree

Hiroshi, it would be extremely useful if you could explicitly specify the dependencies of your series when posting them; it took me a long time and a lot of searching to track all the dependencies down. :-(

#17 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Hi Stephan,

Quoted 5 lines · Stephen Warren
Quoted 1 line · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

Will, is your for-next/perf branch stable; can I pull it into a branch destined for arm-soc? Background below:

I'm going to send a pull request to Russell tomorrow using my for-rmk/perf branch, so *that* is stable. You might, however, want to wait for Russell to push that out because it's also needed for kvm and, as such, will need to be published anyway.

Sound ok?

Will

#18 lore raw

Re: [v3 2/2] ARM: tegra: Skip scu_enable(scu_base) if not Cortex A9

Quoted 9 lines · Will Deacon

Hi Stephan,

Quoted 5 lines · Stephen Warren
Quoted 1 line · Hiroshi Doyu

Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

Will, is your for-next/perf branch stable; can I pull it into a branch destined for arm-soc? Background below:

Quoted 6 lines

I'm going to send a pull request to Russell tomorrow using my for-rmk/perf branch, so *that* is stable. You might, however, want to wait for Russell to push that out because it's also needed for kvm and, as such, will need to be published anyway.

Sound ok?

I'm assuming rmk's branch will be a stable base, so that sounds great, thanks.

#19 lore raw
In reply to Hiroshi Doyu
Quoted 1 line · Hiroshi Doyu

Add API to detect SCU base address from CP15.

I've applied these 2 patches and Santosh's OMAP followup to Tegra's for-3.9/scu-base-rework branch.