From: Len Brown <len.brown@intel.com>
To: cpufreq@lists.linux.org.uk
Cc: davej@redhat.com, Dominik Brodowski <linux@dominikbrodowski.net>
Subject: Re: [PATCH] speedstep-centrino should ignore upper performance control bits
Date: Tue, 7 Nov 2006 02:09:39 -0500 [thread overview]
Message-ID: <200611070209.39817.len.brown@intel.com> (raw)
In-Reply-To: <20061107021441.GA10457@isilmar.linta.de>
On Monday 06 November 2006 21:14, Dominik Brodowski wrote:
> On Mon, Nov 06, 2006 at 03:39:23PM -0800, Gary Hade wrote:
> >
> > On some systems such as the IBM x3650 there are bits set in the
> > upper half of the control values provided by the _PSS object.
> > These bits are only relevant for cpufreq drivers that use IO ports
> > which are not currently supported by the speedstep-centrino driver.
> ... and probably never will.
>
> > The current MSR oriented code assumes that upper bits are not set
> > and thus fails to work correctly when they are. e.g. the control
> > and status value equality check fails even though the ACPI spec
> > allows the inequality.
> How does the acpi-cpufreq driver work with it?
acpu-cpufreq.c in Linus' tree is still IO only.
acpi-cpufreq. in Dave's tree changed to do this:
where #define INTEL_MSR_RANGE (0xffff)
- cmd.addr.port = perf->control_register.address;
- cmd.addr.bit_width = perf->control_register.bit_width;
- cmd.val = (u32) perf->states[next_perf_state].control;
+ switch (data->cpu_feature) {
+ case SYSTEM_INTEL_MSR_CAPABLE:
+ cmd.type = SYSTEM_INTEL_MSR_CAPABLE;
+ cmd.addr.msr.reg = MSR_IA32_PERF_CTL;
+ msr = (u32) perf->states[next_perf_state].control & INTEL_MSR_RANGE;
+ cmd.val = (cmd.val & ~INTEL_MSR_RANGE) | msr;
+ break;
+ case SYSTEM_IO_CAPABLE:
+ cmd.type = SYSTEM_IO_CAPABLE;
+ cmd.addr.io.port = perf->control_register.address;
+ cmd.addr.io.bit_width = perf->control_register.bit_width;
+ cmd.val = (u32) perf->states[next_perf_state].control;
+ break;
next prev parent reply other threads:[~2006-11-07 7:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-06 23:39 [PATCH] speedstep-centrino should ignore upper performance control bits Gary Hade
2006-11-07 2:14 ` Dominik Brodowski
2006-11-07 7:09 ` Len Brown [this message]
2006-11-07 18:49 ` Gary Hade
2006-11-08 23:21 ` Gary Hade
2006-11-08 23:29 ` Dave Jones
2006-11-09 0:00 ` Gary Hade
2006-11-09 0:22 ` Dave Jones
2006-11-10 19:20 ` Gary Hade
2006-11-07 18:57 ` Gary Hade
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=200611070209.39817.len.brown@intel.com \
--to=len.brown@intel.com \
--cc=cpufreq@lists.linux.org.uk \
--cc=davej@redhat.com \
--cc=lenb@kernel.org \
--cc=linux@dominikbrodowski.net \
/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.