linux/drivers/misc/cxl
Ian Munsie bc78b05bb4 cxl: Return error to PSL if IRQ demultiplexing fails & print clearer warning
If an AFU has a hardware bug that causes it to acknowledge a context
terminate or remove while that context has outstanding transactions, it
is possible for the kernel to receive an interrupt for that context
after we have removed it from the context list.

The kernel will not be able to demultiplex the interrupt (or worse - if
we have already reallocated the process handle we could mis-attribute it
to the new context), and printed a big scary warning.

It did not acknowledge the interrupt, which would effectively halt
further translation fault processing on the PSL.

This patch makes the warning clearer about the likely cause of the issue
(i.e. hardware bug) to make it obvious to future AFU designers of what
needs to be fixed. It also prints out the process handle which can then
be matched up with hardware and software traces for debugging.

It also acknowledges the interrupt to the PSL with either an address
error or acknowledge, so that the PSL can continue with other
translations.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2014-11-18 12:58:38 +11:00
..
base.c
context.c cxl: Driver code for powernv PCIe based cards for userspace access 2014-10-08 20:15:57 +11:00
cxl.h cxl: Return error to PSL if IRQ demultiplexing fails & print clearer warning 2014-11-18 12:58:38 +11:00
debugfs.c cxl: Driver code for powernv PCIe based cards for userspace access 2014-10-08 20:15:57 +11:00
fault.c cxl: Fix PSL error due to duplicate segment table entries 2014-10-28 19:52:52 +11:00
file.c cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking 2014-10-09 11:29:57 +11:00
irq.c cxl: Return error to PSL if IRQ demultiplexing fails & print clearer warning 2014-11-18 12:58:38 +11:00
Kconfig cxl: Add driver to Kbuild and Makefiles 2014-10-08 20:15:58 +11:00
main.c cxl: Driver code for powernv PCIe based cards for userspace access 2014-10-08 20:15:57 +11:00
Makefile cxl: Add driver to Kbuild and Makefiles 2014-10-08 20:15:58 +11:00
native.c cxl: Return error to PSL if IRQ demultiplexing fails & print clearer warning 2014-11-18 12:58:38 +11:00
pci.c cxl: Driver code for powernv PCIe based cards for userspace access 2014-10-08 20:15:57 +11:00
sysfs.c cxl: Driver code for powernv PCIe based cards for userspace access 2014-10-08 20:15:57 +11:00