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

login
register
mail settings
Submitter Santosh Shilimkar
Date Jan. 23, 2013, 8:58 a.m.
Message ID <50FFA620.50008@ti.com>
Download mbox | patch
Permalink /patch/214850/
State Accepted, archived
Headers show

Comments

Santosh Shilimkar - Jan. 23, 2013, 8:58 a.m.
On Tuesday 22 January 2013 10:34 PM, Olof Johansson wrote:
> On Tue, Jan 22, 2013 at 8:57 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 01/21/2013 11:07 PM, Santosh Shilimkar wrote:
>>> On Tuesday 22 January 2013 11:22 AM, Hiroshi Doyu wrote:
>>>> Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.
>>>>
>>>> Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
>>>> ---
>>> 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?
>
> 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 <santosh.shilimkar@ti.com>
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.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
  arch/arm/mach-omap2/omap-smp.c |    2 +-
  arch/arm/mach-omap2/omap44xx.h |    1 -
  2 files changed, 1 insertion(+), 2 deletions(-)
Hiroshi Doyu - Jan. 23, 2013, 10:58 a.m.
Santosh Shilimkar <santosh.shilimkar@ti.com> wrote @ Wed, 23 Jan 2013 09:58:08 +0100:

> On Tuesday 22 January 2013 10:34 PM, Olof Johansson wrote:
> > On Tue, Jan 22, 2013 at 8:57 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> >> On 01/21/2013 11:07 PM, Santosh Shilimkar wrote:
> >>> On Tuesday 22 January 2013 11:22 AM, Hiroshi Doyu wrote:
> >>>> Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.
> >>>>
> >>>> Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
> >>>> ---
> >>> 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?
> >
> > 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().

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

commit 59530adc3f1b802c275f0197fc3ac72dc014267a
Author: Christoffer Dall <c.dall@virtualopensystems.com>
Date:   Tue Dec 18 04:06:37 2012 +0000

    ARM: Define CPU part numbers and implementors
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Santosh Shilimkar - Jan. 23, 2013, 11:09 a.m.
On Wednesday 23 January 2013 04:28 PM, Hiroshi Doyu wrote:
> Santosh Shilimkar <santosh.shilimkar@ti.com> wrote @ Wed, 23 Jan 2013 09:58:08 +0100:
>
>> On Tuesday 22 January 2013 10:34 PM, Olof Johansson wrote:
>>> On Tue, Jan 22, 2013 at 8:57 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>>>> On 01/21/2013 11:07 PM, Santosh Shilimkar wrote:
>>>>> On Tuesday 22 January 2013 11:22 AM, Hiroshi Doyu wrote:
>>>>>> Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.

[..]

>> 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 <c.dall@virtualopensystems.com>
> Date:   Tue Dec 18 04:06:37 2012 +0000
>
>      ARM: Define CPU part numbers and implementors
>
Thanks for the pointer Hiroshi.

Regards,
Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren - Jan. 24, 2013, 5:04 a.m.
On 01/23/2013 01:58 AM, Santosh Shilimkar wrote:
> On Tuesday 22 January 2013 10:34 PM, Olof Johansson wrote:
>> On Tue, Jan 22, 2013 at 8:57 AM, Stephen Warren
>> <swarren@wwwdotorg.org> wrote:
>>> On 01/21/2013 11:07 PM, Santosh Shilimkar wrote:
>>>> On Tuesday 22 January 2013 11:22 AM, Hiroshi Doyu wrote:
>>>>> Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.
>>>>>
>>>>> Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
>>>>> ---
>>>> 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?
>>
>> 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().

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.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Santosh Shilimkar - Jan. 24, 2013, 5:56 a.m.
Stephen,

On Thursday 24 January 2013 10:34 AM, Stephen Warren wrote:
> On 01/23/2013 01:58 AM, Santosh Shilimkar wrote:
>> On Tuesday 22 January 2013 10:34 PM, Olof Johansson wrote:
>>> On Tue, Jan 22, 2013 at 8:57 AM, Stephen Warren
>>> <swarren@wwwdotorg.org> wrote:
>>>> On 01/21/2013 11:07 PM, Santosh Shilimkar wrote:
>>>>> On Tuesday 22 January 2013 11:22 AM, Hiroshi Doyu wrote:
>>>>>> Skip scu_enable(scu_base) if CPU is not Cortex A9 with SCU.
>>>>>>
>>>>>> Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
>>>>>> ---
>>>>> 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?
>>>
>>> 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().
>
> 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),
>
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

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hiroshi Doyu - Jan. 24, 2013, 6:42 a.m.
Stephen Warren <swarren@wwwdotorg.org> wrote @ Thu, 24 Jan 2013 06:04:55 +0100:

> 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.
> 
....
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

From 9760cd0ed93b48ec22584e89979cd4a8ec65b938 Mon Sep 17 00:00:00 2001
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
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.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
 arch/arm/mach-omap2/omap-smp.c |    2 +-
 arch/arm/mach-omap2/omap44xx.h |    1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c
index cd42d92..e683d0d 100644
--- a/arch/arm/mach-omap2/omap-smp.c
+++ b/arch/arm/mach-omap2/omap-smp.c
@@ -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) {
diff --git a/arch/arm/mach-omap2/omap44xx.h b/arch/arm/mach-omap2/omap44xx.h
index 43b927b..8a515bb 100644
--- a/arch/arm/mach-omap2/omap44xx.h
+++ b/arch/arm/mach-omap2/omap44xx.h
@@ -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
-- 
1.7.9.5