summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-11-21 20:32:26 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-11-28 20:39:07 -0600
commitde82c2e0ece66b2c19d5d9cdc965c90c95fb9af3 (patch)
tree36884e7dfb6520febf52c3f3b822a52b5d105f59 /doc
parentddc35b93fcadf624e9c60c4b9fefd83330748613 (diff)
downloadblackbird-skiboot-de82c2e0ece66b2c19d5d9cdc965c90c95fb9af3.tar.gz
blackbird-skiboot-de82c2e0ece66b2c19d5d9cdc965c90c95fb9af3.zip
xive: Implement "single escalation" feature
This adds a new VP flag to control the new DD2.0 "single escalation" feature. This feature allows us to have a single escalation interrupt per VP instead of one per queue. It works by hijacking queue 7 (which is this no longer usable when that is enabled) and exploiting two new hardware bits that will: - Make the normal queues (0..6) escalate unconditionally thus ignoring the ESe bits. - Route the above escalations to queue 7 - Have queue 7 silently escalate without notification Thus the escalation of queue 7 becomes the one escalation interrupt for all the other queues. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/xive.rst29
1 files changed, 21 insertions, 8 deletions
diff --git a/doc/xive.rst b/doc/xive.rst
index c35db6ef..0997c722 100644
--- a/doc/xive.rst
+++ b/doc/xive.rst
@@ -657,17 +657,12 @@ This call returns information about a VP:
- OPAL_XIVE_VP_ENABLED
- This must be set for the VP to be usable and cleared before freeing it
+ Returns the enabled state of the VP
- OPAL_XIVE_VP_SINGLE_ESCALATION (if available)
- If this is set, the queues are configured such that all priorities
- turn into a single escalation interrupt. This results in the loss of
- priority 7 which can no longer be used. This this needs to be set
- before any interrupt is routed to that priority.
-
- This feature is available if the "single-escalation-property" is
- present in the xive device-tree node.
+ Returns whether single escalation mode is enabled for this VP
+ (see opal_xive_set_vp_info()).
* cam_value: This is the value to program into the thread management
area to dispatch that VP (ie, an encoding of the block + index).
@@ -696,6 +691,24 @@ This call configures a VP:
.. note:: This can be used to disable the boot time VPs though this
isn't recommended. This must be used to enable allocated VPs.
+ - OPAL_XIVE_VP_SINGLE_ESCALATION (if available)
+
+ If this is set, the queues are configured such that all priorities
+ turn into a single escalation interrupt. This results in the loss of
+ priority 7 which can no longer be used. This this needs to be set
+ before any interrupt is routed to that priority and queue 7 must not
+ have been already enabled.
+
+ This feature is available if the "single-escalation-property" is
+ present in the xive device-tree node.
+
+ .. warning:: When enabling single escalation, and pre-existing routing
+ and configuration of the individual queues escalation
+ is lost (except queue 7 which is the new merged escalation).
+ When further disabling it, the previous value is not
+ retrieved and the field cleared, escalation is disabled on
+ all the queues.
+
* report_cl_pair: This is the real address of the reporting cache line
pair for that VP or 0 to disable.
OpenPOWER on IntegriCloud