All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Dave Martin <dave.martin@linaro.org>,
	Nicolas Pitre <nicolas.pitre@linaro.org>,
	Tony Lindgren <tony@atomide.com>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	linux-omap@vger.kernel.org, Jean Pihet <j-pihet@ti.com>
Subject: Re: [PATCH v2] ARM: Define wfi() macro for v6 processors
Date: Tue, 8 Feb 2011 13:11:51 +0100	[thread overview]
Message-ID: <201102081311.52004.arnd@arndb.de> (raw)
In-Reply-To: <20110208110808.GA22877@n2100.arm.linux.org.uk>

On Tuesday 08 February 2011, Russell King - ARM Linux wrote:
> On Tue, Feb 08, 2011 at 11:01:25AM +0000, Dave Martin wrote:
> > For v6, wfi is architected as a defined MCR instruction, so
> > use that definition.
> > 
> > Doing a no-op instead of wfi() is probably bad, so for older
> > processors than v6, wfi() is not defined.  If needed, some CPU-
> > specific wfi() will have to be defined elsewhere.
> 
> This is something we kind-of already handle in a different way - see
> the individual processor idle function in arch/arm/mm/proc*.S.
> 
> There's various errata work-arounds older CPUs need for wfi (or rather
> its mcr equivalent) so maybe wfi() should just be an alias for a call
> to that function.  Or maybe we shouldn't have a wfi() macro at all.

I don't see any users of the sev/wfe/wfi macros in the current kernel,
so removing them seems like a good strategy to avoid people from
using them incorrectly.

If the definitions differ between v5/v6/v7 CPUs, any common code
using them would need to do either binary patching of some sort
or abstract the difference between the CPU in some other way.

Dave, what code do you have in mind as a possible user?

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] ARM: Define wfi() macro for v6 processors
Date: Tue, 8 Feb 2011 13:11:51 +0100	[thread overview]
Message-ID: <201102081311.52004.arnd@arndb.de> (raw)
In-Reply-To: <20110208110808.GA22877@n2100.arm.linux.org.uk>

On Tuesday 08 February 2011, Russell King - ARM Linux wrote:
> On Tue, Feb 08, 2011 at 11:01:25AM +0000, Dave Martin wrote:
> > For v6, wfi is architected as a defined MCR instruction, so
> > use that definition.
> > 
> > Doing a no-op instead of wfi() is probably bad, so for older
> > processors than v6, wfi() is not defined.  If needed, some CPU-
> > specific wfi() will have to be defined elsewhere.
> 
> This is something we kind-of already handle in a different way - see
> the individual processor idle function in arch/arm/mm/proc*.S.
> 
> There's various errata work-arounds older CPUs need for wfi (or rather
> its mcr equivalent) so maybe wfi() should just be an alias for a call
> to that function.  Or maybe we shouldn't have a wfi() macro at all.

I don't see any users of the sev/wfe/wfi macros in the current kernel,
so removing them seems like a good strategy to avoid people from
using them incorrectly.

If the definitions differ between v5/v6/v7 CPUs, any common code
using them would need to do either binary patching of some sort
or abstract the difference between the CPU in some other way.

Dave, what code do you have in mind as a possible user?

	Arnd

  parent reply	other threads:[~2011-02-08 12:12 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-08 11:01 [PATCH v2] ARM: Define wfi() macro for v6 processors Dave Martin
2011-02-08 11:01 ` Dave Martin
2011-02-08 11:08 ` Russell King - ARM Linux
2011-02-08 11:08   ` Russell King - ARM Linux
2011-02-08 11:16   ` Dave Martin
2011-02-08 11:16     ` Dave Martin
2011-02-08 12:11   ` Arnd Bergmann [this message]
2011-02-08 12:11     ` Arnd Bergmann
2011-02-08 12:13     ` Russell King - ARM Linux
2011-02-08 12:13       ` Russell King - ARM Linux
2011-02-08 12:53       ` Arnd Bergmann
2011-02-08 12:53         ` Arnd Bergmann
2011-02-08 14:45         ` Dave Martin
2011-02-08 14:45           ` Dave Martin
2011-02-08 14:54           ` Santosh Shilimkar
2011-02-08 14:54             ` Santosh Shilimkar
2011-02-08 15:09             ` Dave Martin
2011-02-08 15:09               ` Dave Martin
2011-02-08 15:17               ` Arnd Bergmann
2011-02-08 15:17                 ` Arnd Bergmann
2011-02-08 16:32                 ` Russell King - ARM Linux
2011-02-08 16:32                   ` Russell King - ARM Linux
2011-02-08 16:58                   ` Arnd Bergmann
2011-02-08 16:58                     ` Arnd Bergmann
2011-02-08 17:15                     ` Dave Martin
2011-02-08 17:15                       ` Dave Martin
2011-02-08 15:15           ` Arnd Bergmann
2011-02-08 15:15             ` Arnd Bergmann
2011-02-08 15:30             ` Dave Martin
2011-02-08 15:30               ` Dave Martin
2011-02-08 15:42               ` Arnd Bergmann
2011-02-08 15:42                 ` Arnd Bergmann
2011-02-08 16:21                 ` Dave Martin
2011-02-08 16:21                   ` Dave Martin
2011-02-09 10:07                   ` Arnd Bergmann
2011-02-09 10:07                     ` Arnd Bergmann
2011-02-08 16:25             ` Russell King - ARM Linux
2011-02-08 16:25               ` Russell King - ARM Linux
2011-02-08 16:31               ` Dave Martin
2011-02-08 16:31                 ` Dave Martin
2011-02-08 16:47               ` Arnd Bergmann
2011-02-08 16:47                 ` Arnd Bergmann
2011-02-08 16:55                 ` Russell King - ARM Linux
2011-02-08 16:55                   ` Russell King - ARM Linux
2011-02-08 17:00                   ` Dave Martin
2011-02-08 17:00                     ` Dave Martin
2011-02-08 16:20           ` Russell King - ARM Linux
2011-02-08 16:20             ` Russell King - ARM Linux
2011-02-08 16:28             ` Dave Martin
2011-02-08 16:28               ` Dave Martin
2011-02-08 12:22     ` Dave Martin
2011-02-08 12:22       ` Dave Martin
2011-02-08 12:31       ` Santosh Shilimkar
2011-02-08 12:31         ` Santosh Shilimkar

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=201102081311.52004.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=dave.martin@linaro.org \
    --cc=j-pihet@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nicolas.pitre@linaro.org \
    --cc=santosh.shilimkar@ti.com \
    --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.