From: Len Brown <len.brown@intel.com>
To: cpufreq@lists.linux.org.uk
Cc: Dave Jones <davej@redhat.com>
Subject: Re: [PATCH] Longhaul - Add ignore_latency option
Date: Wed, 23 Aug 2006 23:22:18 -0400 [thread overview]
Message-ID: <200608232322.19005.len.brown@intel.com> (raw)
In-Reply-To: <44DED1C4.7060108@interia.pl>
On Sunday 13 August 2006 03:16, Rafa³ Bilski wrote:
> Some laptops with VIA C3 processor, CLE266 chipset and
> AMI BIOS have incorrect latency values in FADT table. These
> laptops seems to be C3 capable, but latency values are to
> big: 101 for C2 and 1017 for C3. This option will allow
> user to skip C3 latency test but not C3 address test. AMI
> BIOS is setting C3 address to correct value in DSDT table.
This looks very fishy.
C2 latency above 100usec and C3 latency above 1000 usec
are the official way for the BIOS to tell the OS to NOT USE
those C-states. Under no conditions should Linux second
guess those explicit instructions -- the BIOS may have put
those values there because you get silent data corruption
on that particular stepping of the processor or chipset
if they are enabled.
But the real question is why the longhaul driver is checking
for C2 and C3 support in the first place -- as they are not
directly related to the availability of P-states.
-Len
> Signed-off-by: Rafa³ Bilski <rafalbilski@interia.pl>
>
> ---
>
> diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c
> --- a/arch/i386/kernel/cpu/cpufreq/longhaul.c
> +++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c
> @@ -65,7 +65,7 @@ static int port22_en = 0;
>
> /* Module parameters */
> static int dont_scale_voltage;
> -
> +static int ignore_latency = 0;
>
> #define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_DRIVER, "longhaul", msg)
>
> @@ -665,8 +665,10 @@ static int __init longhaul_cpu_init(stru
> if (longhaul_version == TYPE_POWERSAVER) {
> /* Check ACPI support for C3 state */
> cx = &pr->power.states[ACPI_STATE_C3];
> - if (cx->address == 0 || cx->latency > 1000)
> + if (cx->address == 0 ||
> + (cx->latency > 1000 && ignore_latency == 0) )
> goto err_acpi;
> +
> } else {
> /* Check ACPI support for bus master arbiter disable */
> if (!pr->flags.bm_control) {
> @@ -773,6 +775,8 @@ static void __exit longhaul_exit(void)
>
> module_param (dont_scale_voltage, int, 0644);
> MODULE_PARM_DESC(dont_scale_voltage, "Don't scale voltage of processor");
> +module_param(ignore_latency, int, 0644);
> +MODULE_PARM_DESC(ignore_latency, "Skip ACPI C3 latency test");
>
> MODULE_AUTHOR ("Dave Jones <davej@codemonkey.org.uk>");
> MODULE_DESCRIPTION ("Longhaul driver for VIA Cyrix processors.");
> @@ -780,4 +784,3 @@ MODULE_LICENSE ("GPL");
>
> late_initcall(longhaul_init);
> module_exit(longhaul_exit);
> -
>
>
> _______________________________________________
> Cpufreq mailing list
> Cpufreq@lists.linux.org.uk
> http://lists.linux.org.uk/mailman/listinfo/cpufreq
>
next prev parent reply other threads:[~2006-08-24 3:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-13 7:16 [PATCH] Longhaul - Add ignore_latency option Rafał Bilski
2006-08-24 3:22 ` Len Brown [this message]
2006-08-24 17:18 ` Rafał Bilski
2006-08-24 19:54 ` Len Brown
2006-08-24 21:09 ` Rafał Bilski
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=200608232322.19005.len.brown@intel.com \
--to=len.brown@intel.com \
--cc=cpufreq@lists.linux.org.uk \
--cc=davej@redhat.com \
--cc=lenb@kernel.org \
/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.