linux/arch
Mark Salter 8f0bcbcab0 MN10300: fix SMP synchronization between txdma and serial driver
The SoC serial port driver uses a high priority interrupt to handle tx of
characters in the tx ring buffer. The driver needs to disable/enable this IRQ
from outside of irq context. The original code to do this is not foolproof on
SMP machines because the IRQ running on one core could still access the serial
port for a short time after the driver running on another core disables the
interrupt. This patch adds a flag to tell the IRQ handler that the driver
wants to disable the interrupt. After seeing the flag, the IRQ handler will
immediately disable the interrupt and exit. After setting the flag, the driver
will wait for interrupt to be disabled by the IRQ handler.

Signed-off-by: Mark Salter <msalter@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
2012-12-12 15:46:14 +00:00
..
alpha new helper: signal_pt_regs() 2012-11-29 00:01:23 -05:00
arm unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
arm64 flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
avr32 unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
blackfin flagday: kill pt_regs argument of do_fork() 2012-11-29 00:01:08 -05:00
c6x flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
cris unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
frv flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
h8300 new helper: signal_pt_regs() 2012-11-29 00:01:23 -05:00
hexagon flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
ia64 unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
m32r unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
m68k get rid of ptrace_signal_deliver() arguments 2012-11-29 00:01:24 -05:00
microblaze flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
mips unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
mn10300 MN10300: fix SMP synchronization between txdma and serial driver 2012-12-12 15:46:14 +00:00
openrisc flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
parisc unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
powerpc unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
s390 unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
score flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
sh flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
sparc unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
tile flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
um flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
unicore32 flagday: don't pass regs to copy_thread() 2012-11-28 23:43:42 -05:00
x86 unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
xtensa unify default ptrace_signal_deliver 2012-11-29 00:01:23 -05:00
.gitignore
Kconfig generic sys_fork / sys_vfork / sys_clone 2012-11-28 21:49:04 -05:00