public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andres Salomon <dilinger@queued.net>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: hpa@zytor.com, mingo@elte.hu, linux-kernel@vger.kernel.org,
	jordan.crouse@amd.com
Subject: Re: [PATCH] x86: GEODE: cache results from geode_has_vsa2() and uninline
Date: Tue, 29 Apr 2008 16:57:20 -0400	[thread overview]
Message-ID: <20080429165720.56a18253@ephemeral> (raw)
In-Reply-To: <20080429133512.fcd8f8dd.akpm@linux-foundation.org>

On Tue, 29 Apr 2008 13:35:12 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:

> On Tue, 29 Apr 2008 01:32:13 -0400
> Andres Salomon <dilinger@queued.net> wrote:
> 
> > On Mon, 28 Apr 2008 20:06:51 -0700
> > Andrew Morton <akpm@linux-foundation.org> wrote:
> > 
> > > On Mon, 21 Apr 2008 17:02:30 -0400 Andres Salomon <dilinger@queued.net> wrote:
> > > 
> > > > +	if (!is_geode() || geode_has_vsa2())
> > > 
> > > geode_has_vsa2() is a fairly expensive-looking function and afacit only
> > > needs to be evaluated once per boot.  Perhaps we should cache it somewhere?
> > > 
> > 
> > How about this?
> > 
> 
> Looks sane.  Although one wonders if it should be cached as one of the
> standard x86 feature bit thingies which show up in /proc/cpuinfo's 'flags'
> field.
> 

The VSA lives in a weird place between hardware and BIOS.  I'm not
really sure whether it's appropriate for it to be an x86_cap_flags (it
hadn't occurred to me), but I think of it more as BIOS.  Jordan, what do
you think?



> > +static int has_vsa2 = -1;
> > +
> > +int geode_has_vsa2(void)
> > +{
> > +	if (has_vsa2 == -1) {
> > +		/*
> > +		 * The VSA has virtual registers that we can query for a
> > +		 * signature.
> > +		 */
> > +		outw(VSA_VR_UNLOCK, VSA_VRC_INDEX);
> > +		outw(VSA_VR_SIGNATURE, VSA_VRC_INDEX);
> > +
> > +		has_vsa2 = (inw(VSA_VRC_DATA) == VSA_SIG);
> > +	}
> > +
> > +	return has_vsa2;
> > +}
> > +EXPORT_SYMBOL_GPL(geode_has_vsa2);
> 
> nit:
> 
> --- a/arch/x86/kernel/geode_32.c
> +++ a/arch/x86/kernel/geode_32.c
> @@ -161,10 +161,10 @@ void geode_gpio_setup_event(unsigned int
>  }
>  EXPORT_SYMBOL_GPL(geode_gpio_setup_event);
>  
> -static int has_vsa2 = -1;
> -
>  int geode_has_vsa2(void)
>  {
> +	static int has_vsa2 = -1;
> +

Looks good.

Acked-by: Andres Salomon <dilinger@debian.org>

>  	if (has_vsa2 == -1) {
>  		/*
>  		 * The VSA has virtual registers that we can query for a
> 



  reply	other threads:[~2008-04-29 20:54 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-18  8:47 2.6.25-mm1 Andrew Morton
2008-04-18 11:26 ` [PATCH] 2.6.25-mm1 - Build Failure with PWRficient onchip memory controller driver Kamalesh Babulal
2008-04-18 13:02 ` StackProtector Oopses - Re: 2.6.25-mm1 Reuben Farrelly
2008-04-18 13:36   ` Ingo Molnar
2008-04-18 13:51     ` Arjan van de Ven
2008-04-18 14:41       ` Reuben Farrelly
2008-04-18 14:49     ` Reuben Farrelly
2008-04-21 15:06       ` Ingo Molnar
2008-04-22  1:48         ` Arjan van de Ven
2008-04-22  2:04           ` Valdis.Kletnieks
2008-04-22  8:34           ` Ingo Molnar
2008-04-22 14:29             ` Arjan van de Ven
2008-04-18 16:40 ` 2.6.25-mm1 (build error: driver core) Randy Dunlap
2008-04-18 16:56   ` Greg KH
2008-04-18 18:38     ` Dan Williams
2008-04-18 16:45 ` 2.6.25-mm1 (build error: trace selftest) Randy Dunlap
2008-04-18 20:14 ` 2.6.25-mm1 Valdis.Kletnieks
2008-04-18 23:09 ` 2.6.25-mm1: orphaned files after build Alexey Dobriyan
2008-04-19  2:13 ` 2.6.25-mm1 Joseph Fannin
2008-04-19  3:02   ` 2.6.25-mm1 Andrew Morton
2008-04-19  4:14     ` 2.6.25-mm1 Dmitry Torokhov
2008-04-19  4:29       ` 2.6.25-mm1 Andrew Morton
2008-04-19  6:33         ` 2.6.25-mm1 Joseph Fannin
2008-04-21 11:07         ` 2.6.25-mm1 Takashi Iwai
2008-04-21 17:44           ` 2.6.25-mm1 (snd-pcsp causes driver conflict) Stas Sergeev
2008-04-22 10:09             ` Takashi Iwai
2008-04-22 17:54               ` Stas Sergeev
2008-04-23  8:55                 ` Takashi Iwai
2008-04-23 14:14                   ` Takashi Iwai
2008-04-21 19:45           ` 2.6.25-mm1 Stas Sergeev
2008-04-21 14:06         ` 2.6.25-mm1 Takashi Iwai
2008-04-21 17:55           ` 2.6.25-mm1 (snd-pcsp doesn't like DEBUG_PAGEALLOC) Stas Sergeev
2008-04-22 10:13             ` Takashi Iwai
2008-04-22 14:01               ` Dmitry Torokhov
2008-04-22 16:42                 ` Stas Sergeev
2008-04-22 18:31               ` Stas Sergeev
2008-04-23  8:49                 ` Takashi Iwai
2008-04-23 14:18                   ` Takashi Iwai
2008-04-23 20:02                   ` Stas Sergeev
2008-04-24  9:40                     ` Takashi Iwai
2008-04-25  3:51                       ` Stas Sergeev
2008-04-25  6:28                         ` Takashi Iwai
2008-04-25 16:45                           ` Stas Sergeev
2008-04-25 16:51                             ` Takashi Iwai
2008-04-25 17:25                               ` Stas Sergeev
2008-05-02 16:44                               ` Takashi Iwai
2008-05-02 16:57                                 ` Stas Sergeev
2008-05-06 10:20                                   ` Takashi Iwai
2008-05-06 16:51                                     ` Stas Sergeev
2008-04-25 18:09                             ` Dmitry Torokhov
2008-04-25 18:31                               ` Stas Sergeev
2008-04-25 18:37                                 ` Dmitry Torokhov
2008-04-19  2:25 ` 2.6.25-mm1 Joseph Fannin
2008-04-19  3:08   ` 2.6.25-mm1 Andrew Morton
2008-04-19  3:10 ` 2.6.25-mm1 Joseph Fannin
2008-04-19  3:29   ` 2.6.25-mm1 Andrew Morton
2008-04-19 13:25     ` 2.6.25-mm1 Andres Salomon
2008-04-19 17:38       ` 2.6.25-mm1 Andrew Morton
2008-04-19 17:50         ` 2.6.25-mm1 Andres Salomon
2008-04-21 14:56           ` 2.6.25-mm1 Jordan Crouse
2008-04-21 15:05             ` 2.6.25-mm1 Andres Salomon
2008-04-21 15:12               ` 2.6.25-mm1 Jordan Crouse
2008-04-19 17:39       ` [PATCH 1/2] OLPC: Add support for calling into Open Firmware Andres Salomon
2008-04-20 10:34         ` Yinghai Lu
2008-04-20 12:07           ` H. Peter Anvin
2008-04-20 17:59             ` Andres Salomon
2008-04-20 18:42               ` Mitch Bradley
2008-04-20 19:12                 ` H. Peter Anvin
2008-04-21  3:39                   ` Mitch Bradley
2008-04-21  4:54                     ` Yinghai Lu
2008-04-21  8:22                       ` Mitch Bradley
2008-04-21 11:36                     ` H. Peter Anvin
2008-04-21 13:09                       ` H. Peter Anvin
2008-04-21 13:13                       ` H. Peter Anvin
2008-04-21 13:19                       ` H. Peter Anvin
2008-04-21 15:05                     ` Jordan Crouse
2008-04-21 14:58                       ` H. Peter Anvin
2008-04-20 19:13               ` [PATCH 1/2] " H. Peter Anvin
2008-04-21  3:09           ` Mitch Bradley
2008-04-21  3:15             ` Yinghai Lu
2008-04-21  4:05               ` Mitch Bradley
2008-04-21  4:26                 ` David Miller
2008-04-21  4:50                 ` Yinghai Lu
2008-04-21  8:03                   ` Mitch Bradley
2008-04-21 14:24                 ` Andres Salomon
2008-04-21 15:54                   ` David Woodhouse
2008-04-21 16:57                     ` H. Peter Anvin
2008-04-21 18:54                       ` David Woodhouse
2008-04-21 17:03                     ` Andres Salomon
2008-04-21 19:18                       ` David Woodhouse
2008-04-21 19:46                         ` Andres Salomon
2008-04-21 20:25                           ` David Woodhouse
2008-04-21 21:02                             ` [PATCH] OLPC: only check for OFW signature on VSA-less Geodes Andres Salomon
2008-04-21 21:17                               ` Jordan Crouse
2008-04-21 21:17                               ` [PATCH] " David Woodhouse
2008-04-29  3:06                               ` Andrew Morton
2008-04-29  5:32                                 ` [PATCH] x86: GEODE: cache results from geode_has_vsa2() and uninline Andres Salomon
2008-04-29 20:35                                   ` Andrew Morton
2008-04-29 20:57                                     ` Andres Salomon [this message]
2008-04-19 17:39       ` [PATCH 2/2] OLPC: drop pre-OpenFirmware workarounds Andres Salomon
2008-04-19 18:21     ` 2.6.25-mm1 Arjan van de Ven
2008-04-20 11:29 ` internal compiler error: SIGSEGV [Was: 2.6.25-mm1] Jiri Slaby
2008-04-21  8:31 ` Jiri Slaby
2008-04-21  9:06   ` Al Viro
2008-04-21  9:37     ` fault in __d_lookup " Jiri Slaby
2008-04-21  9:45       ` Al Viro
2008-04-21  9:59         ` Jiri Slaby
2008-04-21 13:42           ` Rafael J. Wysocki
2008-04-21 17:23           ` Matthew Wilcox

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=20080429165720.56a18253@ephemeral \
    --to=dilinger@queued.net \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=jordan.crouse@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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