All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Daniel Walker <dwalker@codeaurora.org>
Cc: Jeff Ohlstein <johlstei@codeaurora.org>,
	Russell King <linux@arm.linux.org.uk>,
	linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, Tony Lindgren <tony@atomide.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>
Subject: Re: [PATCH 03/24] arm: mm: add proc info for ScorpionMP
Date: Fri, 27 Aug 2010 17:49:06 +0100	[thread overview]
Message-ID: <1282927746.26355.74.camel@e102109-lin.cambridge.arm.com> (raw)
In-Reply-To: <1282926826.5075.21.camel@m0nster>

On Fri, 2010-08-27 at 17:33 +0100, Daniel Walker wrote:
> On Fri, 2010-08-27 at 17:04 +0100, Catalin Marinas wrote:
> > On Fri, 2010-08-27 at 16:29 +0100, Daniel Walker wrote:
> > > On Fri, 2010-08-27 at 14:54 +0100, Catalin Marinas wrote:
> > > > On Wed, 2010-08-25 at 05:57 +0100, Jeff Ohlstein wrote:
> > > > > From: Daniel Walker <dwalker@codeaurora.org>
> > > > >
> > > > > ScorpionMP does not have the SMP/nAMP and TLB ops broadcasting bits in
> > > > > ACTLR.
> > > > >
> > > > > Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
> > > > > Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
> > > > > ---
> > > > >  arch/arm/mm/proc-v7.S |   24 ++++++++++++++++++++++++
> > > > >  1 files changed, 24 insertions(+), 0 deletions(-)
> > > > >
> > > > > diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> > > > > index 7aaf88a..98fd7e5 100644
> > > > > --- a/arch/arm/mm/proc-v7.S
> > > > > +++ b/arch/arm/mm/proc-v7.S
> > > > > @@ -196,6 +196,7 @@ __v7_setup:
> > > > >         orreq   r0, r0, #(1 << 6) | (1 << 0)    @ Enable SMP/nAMP mode and
> > > > >         mcreq   p15, 0, r0, c1, c0, 1           @ TLB ops broadcasting
> > > > >  #endif
> > > > > +__v7_msm_setup:
> > > > >         adr     r12, __v7_setup_stack           @ the local stack
> > > > >         stmia   r12, {r0-r5, r7, r9, r11, lr}
> > > > >         bl      v7_flush_dcache_all
> > > >
> > > > It may be better to move the generic __v7_setup here and have a specific
> > > > entry for ARM Ltd cores (mask 0xff0f0000 and value 0x410f0000).
> > >
> > > I'm not sure I follow you.. Are you saying there are other cpu's that
> > > don't need the SMP stuff at the top of __v7_setup ?
> >
> > The SMP/nAMP bit is something specific to the ARM11MPCore and Cortex-A9
> > processors produced by ARM. If you core doesn't need this, it should use
> > a default __v7_setup without any additional bits being set.
> >
> > I'm not aware of other MP ARM processors produced by other companies
> > that would require exactly the same bit being set.
> 
> So your saying it makes more sense to change the msm entry into the
> default entry, and make the current default into the
> ARM11MPCore/Cortex-A9 entry?

So my opinion is to not add any specific msm code but make the
__v7_setup skip the ACTLR bit setting. Then add an entry for Cortex-A9
to set those bits.

> There's 4 or 5 other cpu's that have SMP but none have had to jump over
> those bits AFAIK ..

Maybe they don't do anything with those bits and writing to them is
harmless. They'll complain if their code stops working but it is usually
unlikely that people implementing their own v7MP would use the same bits
in ACTLR as Cortex-A9.

I'm not sure whether someone licensing and manufacturing a Cortex-A9
would use the same manufacturer id (TI folks would know better). If not
we could check against 0x000fc090.

-- 
Catalin


WARNING: multiple messages have this Message-ID (diff)
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/24] arm: mm: add proc info for ScorpionMP
Date: Fri, 27 Aug 2010 17:49:06 +0100	[thread overview]
Message-ID: <1282927746.26355.74.camel@e102109-lin.cambridge.arm.com> (raw)
In-Reply-To: <1282926826.5075.21.camel@m0nster>

On Fri, 2010-08-27 at 17:33 +0100, Daniel Walker wrote:
> On Fri, 2010-08-27 at 17:04 +0100, Catalin Marinas wrote:
> > On Fri, 2010-08-27 at 16:29 +0100, Daniel Walker wrote:
> > > On Fri, 2010-08-27 at 14:54 +0100, Catalin Marinas wrote:
> > > > On Wed, 2010-08-25 at 05:57 +0100, Jeff Ohlstein wrote:
> > > > > From: Daniel Walker <dwalker@codeaurora.org>
> > > > >
> > > > > ScorpionMP does not have the SMP/nAMP and TLB ops broadcasting bits in
> > > > > ACTLR.
> > > > >
> > > > > Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
> > > > > Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
> > > > > ---
> > > > >  arch/arm/mm/proc-v7.S |   24 ++++++++++++++++++++++++
> > > > >  1 files changed, 24 insertions(+), 0 deletions(-)
> > > > >
> > > > > diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
> > > > > index 7aaf88a..98fd7e5 100644
> > > > > --- a/arch/arm/mm/proc-v7.S
> > > > > +++ b/arch/arm/mm/proc-v7.S
> > > > > @@ -196,6 +196,7 @@ __v7_setup:
> > > > >         orreq   r0, r0, #(1 << 6) | (1 << 0)    @ Enable SMP/nAMP mode and
> > > > >         mcreq   p15, 0, r0, c1, c0, 1           @ TLB ops broadcasting
> > > > >  #endif
> > > > > +__v7_msm_setup:
> > > > >         adr     r12, __v7_setup_stack           @ the local stack
> > > > >         stmia   r12, {r0-r5, r7, r9, r11, lr}
> > > > >         bl      v7_flush_dcache_all
> > > >
> > > > It may be better to move the generic __v7_setup here and have a specific
> > > > entry for ARM Ltd cores (mask 0xff0f0000 and value 0x410f0000).
> > >
> > > I'm not sure I follow you.. Are you saying there are other cpu's that
> > > don't need the SMP stuff at the top of __v7_setup ?
> >
> > The SMP/nAMP bit is something specific to the ARM11MPCore and Cortex-A9
> > processors produced by ARM. If you core doesn't need this, it should use
> > a default __v7_setup without any additional bits being set.
> >
> > I'm not aware of other MP ARM processors produced by other companies
> > that would require exactly the same bit being set.
> 
> So your saying it makes more sense to change the msm entry into the
> default entry, and make the current default into the
> ARM11MPCore/Cortex-A9 entry?

So my opinion is to not add any specific msm code but make the
__v7_setup skip the ACTLR bit setting. Then add an entry for Cortex-A9
to set those bits.

> There's 4 or 5 other cpu's that have SMP but none have had to jump over
> those bits AFAIK ..

Maybe they don't do anything with those bits and writing to them is
harmless. They'll complain if their code stops working but it is usually
unlikely that people implementing their own v7MP would use the same bits
in ACTLR as Cortex-A9.

I'm not sure whether someone licensing and manufacturing a Cortex-A9
would use the same manufacturer id (TI folks would know better). If not
we could check against 0x000fc090.

-- 
Catalin

  reply	other threads:[~2010-08-27 16:49 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-25  4:57 [PATCH 00/24] Support for Qualcomm msm8660 target Jeff Ohlstein
2010-08-25  4:57 ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 01/24] msm: create config option for proc-comm Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 02/24] arm: Kconfig option for ARCH_MSM_SCORPIONMP Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 03/24] arm: mm: add proc info for ScorpionMP Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-27 13:54   ` Catalin Marinas
2010-08-27 13:54     ` Catalin Marinas
2010-08-27 15:29     ` Daniel Walker
2010-08-27 15:29       ` Daniel Walker
2010-08-27 16:04       ` Catalin Marinas
2010-08-27 16:04         ` Catalin Marinas
2010-08-27 16:33         ` Daniel Walker
2010-08-27 16:33           ` Daniel Walker
2010-08-27 16:49           ` Catalin Marinas [this message]
2010-08-27 16:49             ` Catalin Marinas
2010-08-27 19:53             ` Daniel Walker
2010-08-27 19:53               ` Daniel Walker
2010-08-31 12:18               ` Catalin Marinas
2010-08-31 12:18                 ` Catalin Marinas
2010-08-31 16:44                 ` Daniel Walker
2010-08-31 16:44                   ` Daniel Walker
2010-09-01  5:56                 ` Shilimkar, Santosh
2010-09-01  5:56                   ` Shilimkar, Santosh
2010-09-01  5:56                   ` Shilimkar, Santosh
2010-09-04 14:32           ` Russell King - ARM Linux
2010-09-04 14:32             ` Russell King - ARM Linux
2010-09-06 22:22             ` Daniel Walker
2010-09-06 22:22               ` Daniel Walker
2010-09-04 14:31         ` Russell King - ARM Linux
2010-09-04 14:31           ` Russell King - ARM Linux
2010-08-25  4:57 ` [PATCH 04/24] GIC: Dont disable INT in ack callback Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 05/24] msm: io: MSM8X60 io support Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 06/24] msm: initial irq definitions for MSM8X60 Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 07/24] msm: irqs-8x60: interrupt map Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 08/24] msm: timer: support 8x60 timers Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 09/24] msm: MSM8X60 RUMI3 board support Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-09-02 11:08   ` Russell King - ARM Linux
2010-09-02 11:08     ` Russell King - ARM Linux
2010-09-09  3:15     ` Jeff Ohlstein
2010-09-09  3:15       ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 10/24] msm: irq: rename existing entry-macro to entry-macro-vic Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-09-02 11:10   ` Russell King - ARM Linux
2010-09-02 11:10     ` Russell King - ARM Linux
2010-08-25  4:57 ` [PATCH 11/24] msm: 8x60: gic initialization fixup for RUMI Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 12/24] msm: clock: add dummy clock driver Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 13/24] dma: add stub functions for dma features not yet present on 8x60 Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 14/24] msm: add hotplug stub functions Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-09-02 11:11   ` Russell King - ARM Linux
2010-09-02 11:11     ` Russell King - ARM Linux
2010-09-02 16:49     ` Daniel Walker
2010-09-02 16:49       ` Daniel Walker
2010-09-02 17:12       ` Russell King - ARM Linux
2010-09-02 17:12         ` Russell King - ARM Linux
2010-09-02 22:25         ` Daniel Walker
2010-09-02 22:25           ` Daniel Walker
2010-09-02 22:36         ` Daniel Walker
2010-09-02 22:36           ` Daniel Walker
2010-09-03  7:31           ` Russell King - ARM Linux
2010-09-03  7:31             ` Russell King - ARM Linux
2010-09-03 16:23             ` Daniel Walker
2010-09-03 16:23               ` Daniel Walker
2010-08-25  4:57 ` [PATCH 15/24] msm: allow uart to be conditionally disabled Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 16/24] msm: add build support for msm8x60 target Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 17/24] msm: 8x60: setup correct handlers for private interrupts Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 18/24] msm: physical offset for MSM8X60 Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 19/24] msm: add msm8x60_surf machine Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 20/24] msm: MSM8X60 simulator board support Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-09-02 11:13   ` Russell King - ARM Linux
2010-09-02 11:13     ` Russell King - ARM Linux
2010-09-02 18:19     ` David Brown
2010-09-02 18:19       ` David Brown
2010-09-02 18:52       ` Russell King - ARM Linux
2010-09-02 18:52         ` Russell King - ARM Linux
2010-08-25  4:57 ` [PATCH 21/24] msm: add MSM8x60 FFA support Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 22/24] msm: Add MSM IOMMU support Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 23/24] msm: Platform initialization for the IOMMU driver Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57 ` [PATCH 24/24] msm: Platform data for msm8x60 IOMMUs Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein
2010-08-25  4:57   ` Jeff Ohlstein

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=1282927746.26355.74.camel@e102109-lin.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=dwalker@codeaurora.org \
    --cc=johlstei@codeaurora.org \
    --cc=kirill@shutemov.name \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=tony@atomide.com \
    /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.