aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/doc/opal-api/opal-write-oppanel-async-95.rst
diff options
context:
space:
mode:
Diffstat (limited to 'roms/skiboot/doc/opal-api/opal-write-oppanel-async-95.rst')
-rw-r--r--roms/skiboot/doc/opal-api/opal-write-oppanel-async-95.rst49
1 files changed, 49 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/opal-write-oppanel-async-95.rst b/roms/skiboot/doc/opal-api/opal-write-oppanel-async-95.rst
new file mode 100644
index 000000000..6a3d73886
--- /dev/null
+++ b/roms/skiboot/doc/opal-api/opal-write-oppanel-async-95.rst
@@ -0,0 +1,49 @@
+.. _OPAL_WRITE_OPPANEL_ASYNC:
+
+OPAL_WRITE_OPPANEL_ASYNC
+========================
+
+.. code-block:: c
+
+ #define OPAL_WRITE_OPPANEL_ASYNC 95
+
+ typedef struct oppanel_line {
+ __be64 line;
+ __be64 line_len;
+ } oppanel_line_t;
+
+ int64_t opal_write_oppanel_async(uint64_t async_token,
+ oppanel_line_t *lines,
+ uint64_t num_lines);
+
+Writes to a (possibly physical) Operator Panel. An Operator Panel contains
+a small LCD screen (or similar) displaying a small amount of ASCII text.
+It can be used to report on boot progress, failure, or witty messages from
+a systems administrator.
+
+A typical panel, as present on IBM FSP based machines, is two lines of 16
+characters each.
+
+See :ref:`device-tree/ibm,opal/oppanel` for how the panel is described in the
+device tree. Not all systems have an operator panel.
+
+Pass in an array of oppanel_line_t structs defining the ASCII characters
+to display on each line of the oppanel. If there are two lines on the
+physical panel, and you only want to write to the first line, you only
+need to pass in one line. If you only want to write to the second line,
+you need to pass in both lines, and set the line_len of the first line
+to zero.
+
+Returns
+-------
+:ref:`OPAL_SUCCESS`
+ Success! Typically this is async operation, so immediate success is
+ unlikely.
+:ref:`OPAL_ASYNC_COMPLETION`
+ Request submitted asynchronously.
+:ref:`OPAL_PARAMETER`
+ Invalid `lines` or `num_lines`
+:ref:`OPAL_NO_MEM`
+ Not enough free memory in OPAL to complete the request.
+:ref:`OPAL_INTERNAL_ERROR`
+ Other internal error.