[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1232674994.6678.45.camel@localhost.localdomain>
Date: Thu, 22 Jan 2009 17:43:14 -0800
From: john stultz <johnstul@...ibm.com>
To: Miklos Vajna <vmiklos@...galware.org>,
Florian Fainelli <florian.fainelli@...ecomint.eu>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
"Rafael J. Wysocki" <rjw@...k.pl>,
Gabriel C <nix.or.die@...glemail.com>,
CSÉCSY László <boobaa@...galware.org>
Subject: Re: System clock runs too fast after 2.6.27 -> 2.6.28.1 upgrade
On Fri, 2009-01-23 at 00:57 +0100, Miklos Vajna wrote:
> On Thu, Jan 22, 2009 at 12:03:14PM -0800, john stultz
> > CONFIG_X86_VISWS: If I recall, this is support for SGI workstations that
> > had different apics then most systems, and might be related.
> >
> I just did a new build with CONFIG_X86_VISWS and CONFIG_X86_RDC321X
> disabled, but I kept CONFIG_PARAVIRT_GUEST enabled and that works fine
> as well. So CONFIG_PARAVIRT_GUEST seems to be unrelated.
Ah. CONFIG_X86_RDC321X is indeed the issue.
>>From arch/x86/include/asm/timex.h:
#ifdef CONFIG_X86_ELAN
# define PIT_TICK_RATE 1189200 /* AMD Elan has different frequency! */
#elif defined(CONFIG_X86_RDC321X)
# define PIT_TICK_RATE 1041667 /* Underlying HZ for R8610 */
#else
# define PIT_TICK_RATE 1193182 /* Underlying HZ */
#endif
This gives the kernel an incorrect slower frequency for the PIT hardware
on your system and is why the TSC calibration is off and why the ACPI PM
gets thrown out.
I'd think this would ideally be more of a subarch in the config
selection like the AMD Elan is, so folks know it really is not just a
extra-support feature and in fact limits what hardware you can use the
resulting kernel on.
Florian, any thoughts on this? Would a patch like the following
(untested) be ok by you?
thanks
-john
Signed-off-by: John Stultz <johnstul@...ibm.com>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 862adb9..6d8ac94 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -300,6 +300,16 @@ config X86_ELAN
If unsure, choose "PC-compatible" instead.
+config X86_RDC321X
+ bool "RDC R-321x SoC"
+ depends on X86_32
+ select M486
+ select X86_REBOOTFIXUPS
+ help
+ This option is needed for RDC R-321x system-on-chip, also known
+ as R-8610-(G).
+ If you don't have one of these chips, you should say N here.
+
config X86_VOYAGER
bool "Voyager (NCR)"
depends on X86_32 && (SMP || BROKEN) && !PCI
@@ -380,16 +390,6 @@ config X86_VISWS
A kernel compiled for the Visual Workstation will run on general
PCs as well. See <file:Documentation/sgi-visws.txt> for details.
-config X86_RDC321X
- bool "RDC R-321x SoC"
- depends on X86_32
- select M486
- select X86_REBOOTFIXUPS
- help
- This option is needed for RDC R-321x system-on-chip, also known
- as R-8610-(G).
- If you don't have one of these chips, you should say N here.
-
config SCHED_OMIT_FRAME_POINTER
def_bool y
prompt "Single-depth WCHAN output"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists