powerpc/pseries: Add support for IO event interrupts
authorTseng-Hui (Frank) Lin <thlin@linux.vnet.ibm.com>
Thu, 5 May 2011 12:32:48 +0000 (12:32 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 6 May 2011 03:19:01 +0000 (13:19 +1000)
commit77eafe101a65b609b0693ee4eda381f60a4a5bab
treec7a04f2b9517cb64122987a401c77d86de9f1d33
parent4cb4638079a487627232ffee5b48ca19c127aed8
powerpc/pseries: Add support for IO event interrupts

This patch adds support for handling IO Event interrupts which come
through at the /event-sources/ibm,io-events device tree node.

The interrupts come through ibm,io-events device tree node are generated
by the firmware to report IO events. The firmware uses the same interrupt
to report multiple types of events for multiple devices. Each device may
have its own event handler. This patch implements a plateform interrupt
handler that is triggered by the IO event interrupts come through
ibm,io-events device tree node, pull in the IO events from RTAS and call
device event handlers registered in the notifier list.

Device event handlers are expected to use atomic_notifier_chain_register()
and atomic_notifier_chain_unregister() to register/unregister their
event handler in pseries_ioei_notifier_list list with IO event interrupt.
Device event handlers are responsible to identify if the event belongs
to the device event handler. The device event handle should return NOTIFY_OK
after the event is handled if the event belongs to the device event handler,
or NOTIFY_DONE otherwise.

Signed-off-by: Tseng-Hui (Frank) Lin <thlin@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/io_event_irq.h [new file with mode: 0644]
arch/powerpc/platforms/pseries/Kconfig
arch/powerpc/platforms/pseries/Makefile
arch/powerpc/platforms/pseries/io_event_irq.c [new file with mode: 0644]