mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Peter De Schrijver <pdeschrijver@nvidia.com>
Cc: Colin Cross <ccross@android.com>, Olof Johansson <olof@lixom.net>,
	Stephen Warren <swarren@nvidia.com>, Gary King <gking@nvidia.com>,
	Arnd Bergmann <arnd@arndb.de>,
	linux-tegra@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/8] ARM: tegra: rework Tegra secondary CPU core bringup
Date: Tue, 31 Jan 2012 22:50:45 +0000	[thread overview]
Message-ID: <20120131225045.GE8338@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1328028051-24271-4-git-send-email-pdeschrijver@nvidia.com>

On Tue, Jan 31, 2012 at 06:40:41PM +0200, Peter De Schrijver wrote:
> +ENTRY(__tegra_cpu_reset_handler_start)
> +
> +/*
> + * __tegra_cpu_reset_handler:
> + *
> + * Common handler for all CPU reset events.
> + *
> + * Register usage within the reset handler:
> + *
> + *      R7  = CPU present (to the OS) mask
> + *      R8  = CPU in LP1 state mask
> + *      R9  = CPU in LP2 state mask
> + *      R10 = CPU number
> + *      R11 = CPU mask
> + *      R12 = pointer to reset handler data
> + *
> + * NOTE: This code is copied to IRAM. All code and data accesses
> + *       must be position-independent.
> + */
> +
> +	.align L1_CACHE_SHIFT
> +ENTRY(__tegra_cpu_reset_handler)
> +
> +#if DEBUG_CPU_RESET_HANDLER
> +	enable_coresight r0
> +	b	.
> +#endif
> +	cpsid	aif, 0x13			@ SVC mode, interrupts disabled
> +	mrc	p15, 0, r0, c0, c0, 0		@ read main ID register
> +	and	r5, r0, #0x00f00000		@ variant
> +	and	r6, r0, #0x0000000f		@ revision
> +	orr	r6, r6, r5, lsr #20-4		@ combine variant and revision
> +#ifdef CONFIG_ARM_ERRATA_743622
> +	teq	r6, #0x20			@ present in r2p0
> +	teqne	r6, #0x21			@ present in r2p1
> +	teqne	r6, #0x22			@ present in r2p2
> +	teqne	r6, #0x27			@ present in r2p7
> +	teqne	r6, #0x29			@ present in r2p9

Okay, so we have this errata in proc-v7.S, but only for p0..p2.  If
it's also p7 and p9, then it shows that the errata in the kernel aren't
being actively maintained, and brings into question their worth.

Plus, of course, we don't want platforms re-implementing the errata
in their own code if we're already implementing it somewhere in the
kernel.  So, that's something which needs to be thought about.

That's something that needs considering along side the whole 'what
to do about errata when running in non-secure mode' problem which
OMAP suffers from.

> +	mrceq	p15, 0, r10, c15, c0, 1		@ read diagnostic register
> +	orreq	r10, r10, #1 << 6		@ set bit #6
> +	mcreq	p15, 0, r10, c15, c0, 1		@ write diagnostic register
> +#endif

  reply	other threads:[~2012-01-31 22:51 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-31 16:40 [PATCH v2 0/8] Add tegra30 support for secondary cores Peter De Schrijver
2012-01-31 16:40 ` [PATCH v2 1/8] ARM: tegra: export the chipid Peter De Schrijver
2012-02-01  7:26   ` Olof Johansson
2012-01-31 16:40 ` [PATCH v2 2/8] ARM: tegra: functions to access the flowcontroller Peter De Schrijver
2012-02-01  7:26   ` Olof Johansson
2012-01-31 16:40 ` [PATCH v2 3/8] ARM: tegra: rework Tegra secondary CPU core bringup Peter De Schrijver
2012-01-31 22:50   ` Russell King - ARM Linux [this message]
2012-02-01 11:08     ` Will Deacon
2012-02-01  7:54   ` Olof Johansson
2012-02-01 10:01     ` Peter De Schrijver
2012-01-31 16:40 ` [PATCH v2 4/8] ARM: tegra: prepare powergate.c for multiple variants Peter De Schrijver
2012-01-31 16:40 ` [PATCH v2 5/8] ARM: tegra: export tegra_powergate_is_powered() Peter De Schrijver
2012-01-31 16:40 ` [PATCH v2 6/8] ARM: tegra: add support for Tegra30 powerdomains Peter De Schrijver
2012-01-31 16:40 ` [PATCH v2 7/8] ARM: tegra: support for Tegra30 CPU powerdomains Peter De Schrijver
2012-01-31 16:40 ` [PATCH v2 8/8] ARM: tegra: support for secondary cores on Tegra30 Peter De Schrijver
2012-02-02 18:04   ` Stephen Warren
2012-02-06 23:23     ` Peter De Schrijver
2012-02-02 18:17   ` Colin Cross
2012-02-01  8:33 ` [PATCH v2 0/8] Add tegra30 support for secondary cores Olof Johansson
2012-02-01 10:10   ` Peter De Schrijver

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=20120131225045.GE8338@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=arnd@arndb.de \
    --cc=ccross@android.com \
    --cc=gking@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=pdeschrijver@nvidia.com \
    --cc=swarren@nvidia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome