From 4d20dcd21c51bd6dcf325f37dceda713e6665566 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Fri, 4 Jun 2004 01:34:18 +0100 Subject: [PATCH] [CPUFREQ] Document some oddness in the longhaul driver. Signed-off-by: Dave Jones --- arch/i386/kernel/cpu/cpufreq/longhaul.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c index 37a114d180249..b725d0014de9f 100644 --- a/arch/i386/kernel/cpu/cpufreq/longhaul.c +++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c @@ -275,8 +275,17 @@ static int __init longhaul_get_ranges (void) case 4: rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - //TODO: Nehemiah may have borken MaxMHzBR. - // need to extrapolate from FSB. + /* + * TODO: This code works, but raises a lot of questions. + * - Some Nehemiah's seem to have broken Min/MaxMHzBR's. + * We get around this by using a hardcoded multiplier of 5.0x + * for the minimimum speed, and the speed we booted up at for the max. + * This is done in longhaul_get_cpu_mult() by reading the EBLCR register. + * - According to some VIA documentation EBLCR is only + * in pre-Nehemiah C3s. How this still works is a mystery. + * We're possibly using something undocumented and unsupported, + * But it works, so we don't grumble. + */ minmult=50; maxmult=longhaul_get_cpu_mult(); -- 2.53.0