linux/arch/sparc/kernel
David S. Miller 7cc8583372 sparc64: Fix MSIQ HV call ordering in pci_sun4v_msiq_build_irq().
This silently was working for many years and stopped working on
Niagara-T3 machines.

We need to set the MSIQ to VALID before we can set it's state to IDLE.

On Niagara-T3, setting the state to IDLE first was causing HV_EINVAL
errors.  The hypervisor documentation says, rather ambiguously, that
the MSIQ must be "initialized" before one can set the state.

I previously understood this to mean merely that a successful setconf()
operation has been performed on the MSIQ, which we have done at this
point.  But it seems to also mean that it has been set VALID too.

Signed-off-by: David S. Miller <davem@davemloft.net>
2011-12-22 13:46:53 -08:00
..
.gitignore
Makefile sparc: Allow handling signals when stack is corrupted. 2011-08-20 17:14:54 -07:00
apc.c sparc: Add module.h to files previously implicitly using it. 2011-10-31 19:30:54 -04:00
asm-offsets.c
audit.c
auxio_32.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
auxio_64.c
btext.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
central.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
cherrs.S
chmc.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
compat_audit.c
cpu.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
cpumap.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
cpumap.h
devices.c
dma.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
ds.c sparc: Use kmemdup rather than duplicating its implementation 2011-12-04 10:46:56 -08:00
dtlb_miss.S
dtlb_prot.S
ebus.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
entry.S sparc: sun4m SMP: fix wrong shift instruction in IPI handler 2011-07-16 10:45:12 -07:00
entry.h sparc64: Patch sun4v code sequences properly on module load. 2011-11-17 22:44:58 -08:00
etrap_32.S
etrap_64.S
fpu_traps.S
ftrace.c
getsetcc.S
head_32.S
head_64.S sparc64: Future proof Niagara cpu detection. 2011-09-16 14:21:33 -07:00
helpers.S
hvapi.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
hvcalls.S sparc: Set reboot-cmd using reboot data hypervisor call if available. 2011-08-02 21:28:52 -07:00
hvtramp.S
idprom.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
init_task.c
iommu.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
iommu_common.h
ioport.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2011-07-31 14:30:59 -10:00
irq.h sparc32,sun4d: Change IPI IRQ level to prevent collision between IPI and timer interrupt 2011-08-29 09:20:40 -07:00
irq_32.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
irq_64.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
itlb_miss.S
ivec.S
jump_label.c sparc/jump_label: drop arch_jump_label_text_poke_early() 2011-10-25 11:54:26 -07:00
kernel.h sparc: Set reboot-cmd using reboot data hypervisor call if available. 2011-08-02 21:28:52 -07:00
kgdb_32.c
kgdb_64.c
kprobes.c
kstack.h
ktlb.S sparc: Access kernel TSB using physical addressing when possible. 2011-08-05 00:53:57 -07:00
ldc.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
led.c
leon_kernel.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
leon_pci.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
leon_pci_grpci2.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
leon_pmc.c
leon_smp.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mdesc.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
misctrap.S
module.c sparc64: Patch sun4v code sequences properly on module load. 2011-11-17 22:44:58 -08:00
muldiv.c
nmi.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
of_device_32.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
of_device_64.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
of_device_common.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
of_device_common.h
pci.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
pci_common.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
pci_fire.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
pci_impl.h
pci_msi.c
pci_psycho.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
pci_sabre.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
pci_schizo.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
pci_sun4v.c sparc64: Fix MSIQ HV call ordering in pci_sun4v_msiq_build_irq(). 2011-12-22 13:46:53 -08:00
pci_sun4v.h
pci_sun4v_asm.S
pcic.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
pcr.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
perf_event.c sparc: Detect and handle UltraSPARC-T3 cpu types. 2011-07-27 22:10:10 -07:00
pmc.c sparc: Add module.h to files previously implicitly using it. 2011-10-31 19:30:54 -04:00
power.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
process_32.c sparc, exec: remove redundant addr_limit assignment 2011-09-20 23:12:42 -07:00
process_64.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
prom.h
prom_32.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
prom_64.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
prom_common.c sparc: Use kmemdup rather than duplicating its implementation 2011-12-04 10:46:56 -08:00
prom_irqtrans.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
psycho_common.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
psycho_common.h
ptrace_32.c
ptrace_64.c
reboot.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
rtrap_32.S
rtrap_64.S
sbus.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
setup_32.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
setup_64.c sparc64: Patch sun4v code sequences properly on module load. 2011-11-17 22:44:58 -08:00
signal32.c sparc: Stash orig_i0 into %g6 instead of %g2 2011-11-15 12:57:00 -08:00
signal_32.c sparc: Stash orig_i0 into %g6 instead of %g2 2011-11-15 12:57:00 -08:00
signal_64.c sparc: Stash orig_i0 into %g6 instead of %g2 2011-11-15 12:57:00 -08:00
sigutil.h sparc: Allow handling signals when stack is corrupted. 2011-08-20 17:14:54 -07:00
sigutil_32.c sparc: Allow handling signals when stack is corrupted. 2011-08-20 17:14:54 -07:00
sigutil_64.c sparc: sigutil: Include <linux/errno.h> 2011-11-13 20:53:25 -08:00
smp_32.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp_64.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
sparc_ksyms_32.c
sparc_ksyms_64.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
spiterrs.S
sstate.c sparc: Set reboot-cmd using reboot data hypervisor call if available. 2011-08-02 21:28:52 -07:00
stacktrace.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
starfire.c
sun4c_irq.c
sun4d_irq.c Add support for allocating irqs for bootbus devices 2011-06-07 16:06:33 -07:00
sun4d_smp.c
sun4m_irq.c
sun4m_smp.c
sun4v_ivec.S
sun4v_tlb_miss.S
sys32.S All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
sys_sparc32.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
sys_sparc_32.c
sys_sparc_64.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
syscalls.S
sysfs.c
systbls.h
systbls_32.S sparc: Hook up process_vm_{readv,writev} syscalls. 2011-11-01 00:51:30 -07:00
systbls_64.S sparc: Hook up process_vm_{readv,writev} syscalls. 2011-11-01 00:51:30 -07:00
tadpole.c
time_32.c
time_64.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
trampoline_32.S
trampoline_64.S
traps_32.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
traps_64.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
tsb.S
ttable.S
una_asm_32.S
una_asm_64.S
unaligned_32.c sparc: remove several unnecessary module.h include instances 2011-10-31 19:30:54 -04:00
unaligned_64.c sparc: Use hweight64() in popc emulation. 2011-08-02 21:28:50 -07:00
us2e_cpufreq.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
us3_cpufreq.c sparc: Remove unnecessary semicolons 2011-06-07 16:06:34 -07:00
utrap.S
vio.c sparc: add export.h to arch/sparc files as required 2011-10-31 19:30:52 -04:00
viohs.c sparc: move symbol exporters to use export.h not module.h 2011-10-31 19:30:53 -04:00
visemul.c sparc64: Fix masking and shifting in VIS fpcmp emulation. 2011-10-31 01:05:49 -07:00
vmlinux.lds.S sparc: Access kernel TSB using physical addressing when possible. 2011-08-05 00:53:57 -07:00
windows.c
winfixup.S
wof.S
wuf.S