linux/arch/mips
Ralf Baechle a904f74785 [MIPS] Sibyte: Fix race in sb1250_gettimeoffset().
From Dave Johnson <djohnson+linuxmips@sw.starentnetworks.com>:
    
sb1250_gettimeoffset() simply reads the current cpu 0 timer remaining
value, however once this counter reaches 0 and the interrupt is raised,
it immediately resets and begins to count down again.
    
If sb1250_gettimeoffset() is called on cpu 1 via do_gettimeofday() after
the timer has reset but prior to cpu 0 processing the interrupt and
taking write_seqlock() in timer_interrupt() it will return a full value
(or close to it) causing time to jump backwards 1ms. Once cpu 0 handles
the interrupt and timer_interrupt() gets far enough along it will jump
forward 1ms.
    
Fix this problem by implementing mips_hpt_*() on sb1250 using a spare
timer unrelated to the existing periodic interrupt timers. It runs at
1Mhz with a full 23bit counter.  This eliminated the custom
do_gettimeoffset() for sb1250 and allowed use of the generic
fixed_rate_gettimeoffset() using mips_hpt_*() and timerhi/timerlo.
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-03-18 16:59:30 +00:00
..
arc [MIPS] Get rid of the IP22-specific code in arclib. 2006-03-18 16:59:26 +00:00
au1000 [MIPS] Simple patch to power off DBAU1200 2006-03-18 16:59:28 +00:00
boot Add .gitignore files for MIPS. 2005-11-07 18:05:37 +00:00
cobalt Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
configs [MIPS] Disable CONFIG_ISCSI_TCP; it triggers a gcc 3.4 endless loop. 2006-02-21 16:58:24 +00:00
ddb5xxx [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
dec [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
galileo-boards/ev96100 Get rid of early_init. There's more need to make this form of 2005-10-29 19:30:18 +01:00
gt64120 [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
ite-boards [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
jazz [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
jmr3927 [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
kernel [MIPS] Protect more of timer_interrupt() by xtime_lock. 2006-03-18 16:59:29 +00:00
lasat Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
lib [MIPS] Fix build error on processors that don's support copy-on-write. 2006-02-28 17:04:20 +00:00
lib-32 [MIPS] Fix dump_tlb.c warning and cleanup. 2006-02-07 13:30:26 +00:00
lib-64 Fixup a few lose ends in explicit support for MIPS R1/R2. 2005-10-29 19:32:37 +01:00
math-emu [MIPS] ieee754[sd]p_neg workaround 2006-02-07 13:30:25 +00:00
mips-boards Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
mm [MIPS] local_r4k_flush_cache_page fix 2006-03-18 16:59:27 +00:00
momentum [MIPS] Momentum: Resurrect after things were moved around a while ago. 2006-03-09 18:05:09 +00:00
oprofile [MIPS] Oprofile: Support for 34K UP kernels. 2006-02-07 13:30:26 +00:00
pci [MIPS] Momentum: Resurrect after things were moved around a while ago. 2006-03-09 18:05:09 +00:00
philips/pnx8550 Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
pmc-sierra [MIPS] SMP: Fix initialization order bug. 2006-02-27 17:30:36 +00:00
qemu [MIPS] Qemu: Accept kernel command line passed by the Emulator. 2005-12-01 11:05:15 +00:00
sgi-ip22 [MIPS] IP22: Fix serial console detection 2006-02-07 13:30:25 +00:00
sgi-ip27 [MIPS] SMP: Fix initialization order bug. 2006-02-27 17:30:36 +00:00
sgi-ip32 Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-02-08 15:21:22 -08:00
sibyte [MIPS] Sibyte: Fix race in sb1250_gettimeoffset(). 2006-03-18 16:59:30 +00:00
sni [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
tx4927 [MIPS] TX49x7: Fix reporting of the CPU name and PCI clock 2006-02-07 13:30:26 +00:00
tx4938 [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
vr41xx [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
Kconfig [MIPS] Enable highmem for all MIPS32 and MIPS64 processors. 2006-03-09 18:05:08 +00:00
Kconfig.debug Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [MIPS] Always pass -msoft-float. 2006-03-09 18:05:10 +00:00
defconfig MIPS: Remove unused CONFIG_CPU_HAS_LLDSCD. 2006-01-10 13:39:07 +00:00