From: "Darrick J. Wong" <djwong@us.ibm.com>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Thomas Renninger <trenn@suse.de>,
linux-kernel <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>,
cpufreq@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v2] acpi: Fix regression where _PPC is not read at boot even when ignore_ppc=0
Date: Wed, 29 Apr 2009 14:39:31 -0700 [thread overview]
Message-ID: <20090429213930.GE6968@plum> (raw)
In-Reply-To: <20090428195348.GA8376@srcf.ucam.org>
On Tue, Apr 28, 2009 at 08:53:48PM +0100, Matthew Garrett wrote:
> On Tue, Apr 28, 2009 at 12:33:04PM -0700, Darrick J. Wong wrote:
> > On Thu, Apr 16, 2009 at 11:45:07PM +0100, Matthew Garrett wrote:
> >
> > > That's not really an option. It works with Windows.
> >
> > Who verified that? Does anyone know what strategy Windows uses to avoid this
> > T60 problem?
>
> The best guess was that Windows only evaluates _PPC when it receives a
> notification.
Here's the answer from the Windows side of the house:
Windows (both WS03 and WS08) will evaluate the _PPC method during boot
once the intelppm.sys processor driver loads. The processor driver will
"evaluate" the _PPC method:
IntelPPM.sys: 0: Entering AcpiEval_PPC
IntelPPM.sys: 0: Entering AcpiEvaluateMethod
=0x0
AMLI: EvalObject(\_PR.C000._PPC)=Integer(:Value=0x0[0])
The Windows intelppm.sys driver can return non-zero for the _PPC method
(in this example, _PPC returns non-zero based on what's stored in \_PTSE
and \_TSTE named objects that were updated during POST. The capture is
during Windows boot when evaluating the ACPI P-State objects for each
ProcessorId object):
....
IntelPPM.sys: Processor Performance States (0x85DF7DF0)
IntelPPM.sys: Size: 0x210
IntelPPM.sys: Revision: 0x1
IntelPPM.sys: Type: 0xfe
IntelPPM.sys: Count: 0xf
IntelPPM.sys: MaxFrequency: 2394 mhz
IntelPPM.sys: PState Handler: 0x88fb7006
IntelPPM.sys: PState Context: 0x85d74298
IntelPPM.sys: PState Cap: 0x3 <= PTSE (test: hardcoded
PTSE to return something other than P[0])
IntelPPM.sys: TState Handler: 0x88fb7048
IntelPPM.sys: TState Context: 0x85d742c0
IntelPPM.sys: TState Cap: 0x4 <= TSTE (test: hardcoded
TSTE to return something other than T[0])
IntelPPM.sys: Feedback Handler: 0x88fb7084
IntelPPM.sys: Target Processors: 0xff
IntelPPM.sys:
IntelPPM.sys: State Speed Power Latency Control
Status
IntelPPM.sys: ----- ----- ----- ------- -------
------
IntelPPM.sys: 0: 2394 mhz 106000 mW 10 us 0x12 0x12
// P[0]
IntelPPM.sys: 1: 2261 mhz 90000 mW 10 us 0x11 0x11
IntelPPM.sys: 2: 2128 mhz 74000 mW 10 us 0x10 0x10
IntelPPM.sys: 3: 1995 mhz 58000 mW 10 us 0xf 0xf //
PTSE
IntelPPM.sys: 4: 1862 mhz 42000 mW 10 us 0xe 0xe
IntelPPM.sys: 5: 1729 mhz 26000 mW 10 us 0xd 0xd
IntelPPM.sys: 6: 1596 mhz 10000 mW 10 us 0xc 0xc
IntelPPM.sys: 7: 1596 mhz 10000 mW 0 us 0x2 0x2
IntelPPM.sys: 8: 1404 mhz 8750 mW 0 us 0x1e 0x1e
// T[0]
IntelPPM.sys: 9: 1197 mhz 7500 mW 0 us 0x1c 0x1c
IntelPPM.sys: 10: 1005 mhz 6250 mW 0 us 0x1a 0x1a
IntelPPM.sys: 11: 798 mhz 5000 mW 0 us 0x18 0x18
IntelPPM.sys: 12: 606 mhz 3750 mW 0 us 0x16 0x16
// TSTE
IntelPPM.sys: 13: 399 mhz 2500 mW 0 us 0x14 0x14
IntelPPM.sys: 14: 207 mhz 1250 mW 0 us 0x12 0x12
IntelPPM.sys:
....
0: kd> !amli dns /s \TSTE
ACPI Name Space: \TSTE (ffffffff854e484c)
Integer(TSTE:Value=0x0000000000000004[4])
0: kd> !amli dns /s \PSTE
ACPI Name Space: \PSTE (ffffffff854e4898)
Integer(PSTE:Value=0x0000000000000003[3])
Note the two above dbg traces are from different systems.
(end reply)
I don't know about XP's copy of intelppm.sys, but this would seem to confirm
that WS03 and WS08 check _PPC at boot time.
--D
next prev parent reply other threads:[~2009-04-29 21:39 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-15 22:53 [PATCH] acpi: Fix regression where _PPC is not read at boot even when ignore_ppc=0 Darrick J. Wong
2009-04-16 0:27 ` [PATCH v2] " Darrick J. Wong
2009-04-16 10:01 ` Thomas Renninger
2009-04-16 10:32 ` Ingo Molnar
2009-04-16 17:42 ` Darrick J. Wong
2009-04-16 18:49 ` Thomas Renninger
2009-04-16 22:45 ` Matthew Garrett
2009-04-20 5:13 ` Len Brown
2009-04-20 9:13 ` Thomas Renninger
2009-04-20 10:45 ` Ingo Molnar
2009-04-29 13:19 ` Thomas Renninger
2009-04-29 13:19 ` Thomas Renninger
2009-04-29 14:48 ` Ingo Molnar
2009-04-29 21:43 ` Darrick J. Wong
2009-04-30 9:07 ` Thomas Renninger
2009-04-30 9:17 ` Ingo Molnar
2009-04-20 22:18 ` Henrique de Moraes Holschuh
2009-04-28 19:33 ` Darrick J. Wong
2009-04-28 19:53 ` Matthew Garrett
2009-04-28 20:24 ` Darrick J. Wong
2009-04-29 21:39 ` Darrick J. Wong [this message]
2009-04-29 22:00 ` Matthew Garrett
2009-04-30 7:25 ` Ingo Molnar
2009-04-30 9:54 ` Matthew Garrett
2009-04-30 11:10 ` Ingo Molnar
2009-04-30 11:13 ` Matthew Garrett
2009-05-15 19:12 ` Darrick J. Wong
2009-06-02 23:21 ` Darrick J. Wong
2009-06-07 10:05 ` Ingo Molnar
2009-07-15 0:32 ` Darrick J. Wong
2010-02-16 22:07 ` Matthew Garrett
2010-02-16 22:26 ` Darrick J. Wong
2010-02-18 9:02 ` Len Brown
2010-02-18 18:28 ` Darrick J. Wong
2010-02-19 6:12 ` Len Brown
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=20090429213930.GE6968@plum \
--to=djwong@us.ibm.com \
--cc=cpufreq@vger.kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mjg59@srcf.ucam.org \
--cc=trenn@suse.de \
/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.