diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-02-03 20:51:59 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-03-03 09:40:40 +1100 |
commit | a2940770ca6da2c58081f8207aded197e45f6cd6 (patch) | |
tree | f51be7c9dbe321fa6a270d88b502bf70269c6f9d /hw/bt.c | |
parent | 95c59d192376a4360278393da5df53e21ae3fc72 (diff) | |
download | skiboot-a2940770ca6da2c58081f8207aded197e45f6cd6.zip skiboot-a2940770ca6da2c58081f8207aded197e45f6cd6.tar.gz skiboot-a2940770ca6da2c58081f8207aded197e45f6cd6.tar.bz2 |
lpc/uart: Support routing of selected LPC interrupts to Linux
Each LPC interrupt can be routed to one of 4 lines to the PSI
bridge which represent 4 different system interrupts. This
allows LPC clients to request as specific target (Linux or OPAL)
and makes the LPC core pick a route and configure it appropriately.
The UART is updated to properly forward interrupts to Linux
if necessary
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/bt.c')
-rw-r--r-- | hw/bt.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -27,6 +27,7 @@ #include <ipmi.h> #include <timebase.h> #include <chip.h> +#include <interrupts.h> /* BT registers */ #define BT_CTRL 0 @@ -669,7 +670,8 @@ void bt_init(void) irq = dt_prop_get_u32(n, "interrupts"); bt_lpc_client.interrupts = LPC_IRQ(irq); - lpc_register_client(dt_get_chip_id(n), &bt_lpc_client); + lpc_register_client(dt_get_chip_id(n), &bt_lpc_client, + IRQ_ATTR_TARGET_OPAL); /* Enqueue an IPMI message to ask the BMC about its BT capabilities */ get_bt_caps(); |