aboutsummaryrefslogtreecommitdiff
path: root/hw/bt.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-02-03 20:51:59 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-03-03 09:40:40 +1100
commita2940770ca6da2c58081f8207aded197e45f6cd6 (patch)
treef51be7c9dbe321fa6a270d88b502bf70269c6f9d /hw/bt.c
parent95c59d192376a4360278393da5df53e21ae3fc72 (diff)
downloadskiboot-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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/bt.c b/hw/bt.c
index 2ecc7d3..10990e9 100644
--- a/hw/bt.c
+++ b/hw/bt.c
@@ -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();