linux/include
Paul Mackerras 43875cc0a5 [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2)
The decrementer in Book E and 4xx processors interrupts on the
transition from 1 to 0, rather than on the 0 to -1 transition as on
64-bit server and 32-bit "classic" (6xx/7xx/7xxx) processors.  At the
moment we subtract 1 from the count of how many decrementer ticks are
required before the next interrupt before putting it into the
decrementer, which is correct for server/classic processors, but could
possibly cause the interrupt to happen too early on Book E and 4xx if
the timebase/decrementer frequency is low.

This fixes the problem by making set_dec subtract 1 from the count for
server and classic processors, instead of having the callers subtract
1.  Since set_dec already had a bunch of ifdefs to handle different
processor types, there is no net increase in ugliness. :)

Note that calling set_dec(0) may not generate an interrupt on some
processors.  To make sure that decrementer_set_next_event always calls
set_dec with an interval of at least 1 tick, we set min_delta_ns of
the decrementer_clockevent to correspond to 2 ticks (2 rather than 1
to compensate for truncations in the conversions between ticks and
ns).

This also removes a redundant call to set the decrementer to
0x7fffffff - it was already set to that earlier in timer_interrupt.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-11-08 14:15:31 +11:00
..
acpi ACPI: Fan: Drop force_power_state acpi_device option 2007-10-25 16:31:31 -04:00
asm-alpha Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-arm [ARM] 4634/1: DaVinci GPIO header build fix 2007-10-31 15:21:52 +00:00
asm-arm26 softlockup: make asm/irq_regs.h available on every platform 2007-10-17 08:42:47 -07:00
asm-avr32 AVR32: Fix sg_page breakage 2007-10-24 10:16:02 +02:00
asm-blackfin Blackfin arch: use a less common define name in BF549 2007-10-30 12:04:53 +08:00
asm-cris Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-frv SG: Change sg_set_page() to take length and offset argument 2007-10-24 11:20:47 +02:00
asm-generic Linux Kernel Markers 2007-10-19 11:53:54 -07:00
asm-h8300 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-ia64 [IA64] fix typo in per_cpu_offset 2007-10-29 11:21:45 -07:00
asm-m32r Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m68k Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-m68knommu m68knommu: remove unused machdep variable definitions 2007-10-23 20:45:44 -07:00
asm-mips [MIPS] time: Replace plat_timer_setup with modern APIs. 2007-10-29 19:35:36 +00:00
asm-parisc parisc: fix sg_page() fallout 2007-10-23 09:49:31 +02:00
asm-powerpc [POWERPC] Fix off-by-one error in setting decrementer on Book E/4xx (v2) 2007-11-08 14:15:31 +11:00
asm-ppc ppc: fix AT_VECTOR_SIZE on arch/ppc 2007-10-22 19:18:54 -07:00
asm-s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-10-22 19:23:34 -07:00
asm-sh sh/sh64: fixup dma-mapping for new sg layout 2007-10-23 12:52:48 +02:00
asm-sh64 sh/sh64: fixup dma-mapping for new sg layout 2007-10-23 12:52:48 +02:00
asm-sparc [SPARC32]: __inline__ --> inline 2007-10-27 00:17:01 -07:00
asm-sparc64 [SPARC64]: Fix linkage of enormous kernels. 2007-10-31 15:30:56 -07:00
asm-um x86 merge fallout: uml 2007-10-29 07:41:32 -07:00
asm-v850 Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
asm-x86 x86 gart: rename symbols only used for the GART implementation 2007-10-30 00:22:22 +01:00
asm-xtensa xtensa: dma-mapping.h is using linux/scatterlist.h functions, so include it 2007-10-24 13:28:40 +02:00
crypto
keys KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
linux [NET]: docbook fixes for netif_ functions 2007-11-01 02:21:47 -07:00
math-emu
media [PATCH] Fix breakage after SG cleanups 2007-10-23 12:02:39 -07:00
mtd
net [NET]: Relax the reference counting of init_net_ns 2007-11-01 00:43:49 -07:00
pcmcia pcmcia: use DMA_MASK_NONE for the default for all pcmcia devices 2007-10-16 09:42:50 -07:00
rdma
rxrpc
scsi [SCSI] include linux/scatterlist.h in scsi_eh.h 2007-10-17 21:53:56 -04:00
sound [ALSA] version 1.0.15 2007-10-23 08:09:20 +02:00
video Make asm-x86/bootparam.h includable from userspace. 2007-10-23 15:49:47 +10:00
xen xen: fix incorrect vcpu_register_vcpu_info hypercall argument 2007-10-16 11:51:31 -07:00
Kbuild do not export /usr/include/scsi in make headers_install 2007-10-17 08:42:52 -07:00