diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-11-01 16:59:44 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-11-10 15:23:49 +1100 |
commit | 0e9340792355a7b9905df71c706055194f36647c (patch) | |
tree | 87c60725d02f1167a4b8b96b09cd0fcbad481b2a | |
parent | 6c9cf5455de43137e449e39efc710539e5454e5b (diff) | |
download | skiboot-0e9340792355a7b9905df71c706055194f36647c.zip skiboot-0e9340792355a7b9905df71c706055194f36647c.tar.gz skiboot-0e9340792355a7b9905df71c706055194f36647c.tar.bz2 |
xive: Fix ability to clear some EQ flags
We could never clear "unconditional notify" and "escalate"
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
(cherry picked from commit 7c2a76705674a6594462b859d1ac5affcde96593)
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | hw/xive.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4013,10 +4013,14 @@ static int64_t opal_xive_set_queue_info(uint64_t vp, uint32_t prio, /* Always notify flag */ if (qflags & OPAL_XIVE_EQ_ALWAYS_NOTIFY) eq.w0 |= EQ_W0_UCOND_NOTIFY; + else + eq.w0 &= ~EQ_W0_UCOND_NOTIFY; /* Escalation flag */ if (qflags & OPAL_XIVE_EQ_ESCALATE) eq.w0 |= EQ_W0_ESCALATE_CTL; + else + eq.w0 &= ~EQ_W0_ESCALATE_CTL; /* Unconditionally clear the current queue pointer, set * generation to 1 and disable escalation interrupts. |