[Skiboot] [PATCH 105/110] doc: Document OPAL_WRITE_OPPANEL_ASYNC

Stewart Smith stewart at linux.ibm.com
Fri May 31 16:13:46 AEST 2019

Signed-off-by: Stewart Smith <stewart at linux.ibm.com>
 doc/device-tree/ibm,opal/oppanel.rst         |  2 +
 doc/opal-api/opal-write-oppanel-async-95.rst | 49 ++++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 doc/opal-api/opal-write-oppanel-async-95.rst

diff --git a/doc/device-tree/ibm,opal/oppanel.rst b/doc/device-tree/ibm,opal/oppanel.rst
index fd02e9bb722b..c13949f823aa 100644
--- a/doc/device-tree/ibm,opal/oppanel.rst
+++ b/doc/device-tree/ibm,opal/oppanel.rst
@@ -1,3 +1,5 @@
+.. _device-tree/ibm,opal/oppanel:
 Operator Panel (oppanel)
diff --git a/doc/opal-api/opal-write-oppanel-async-95.rst b/doc/opal-api/opal-write-oppanel-async-95.rst
new file mode 100644
index 000000000000..6a3d738861e3
--- /dev/null
+++ b/doc/opal-api/opal-write-oppanel-async-95.rst
@@ -0,0 +1,49 @@
+.. code-block:: c
+   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.
+     Success! Typically this is async operation, so immediate success is
+     unlikely.
+     Request submitted asynchronously.
+     Invalid `lines` or `num_lines`
+     Not enough free memory in OPAL to complete the request.
+     Other internal error.

More information about the Skiboot mailing list