summaryrefslogtreecommitdiff
path: root/Documentation/s390/vfio-ccw.rst
diff options
context:
space:
mode:
authorCornelia Huck <cohuck@redhat.com>2020-04-07 14:16:05 +0300
committerCornelia Huck <cohuck@redhat.com>2020-06-02 14:14:08 +0300
commit430220b0bbcbaaaa03718111ff541ee8cd97c781 (patch)
tree4ee362bb1b66b3dcfa42f015b1701788b20ac81e /Documentation/s390/vfio-ccw.rst
parent725b94d74128cd208bfdd446ad6b5f4b38cf5395 (diff)
downloadlinux-430220b0bbcbaaaa03718111ff541ee8cd97c781.tar.xz
vfio-ccw: document possible errors
Interacting with the I/O and the async regions can yield a number of errors, which had been undocumented so far. These are part of the api, so remedy that. Signed-off-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Eric Farman <farman@linux.ibm.com> Message-Id: <20200407111605.1795-1-cohuck@redhat.com>
Diffstat (limited to 'Documentation/s390/vfio-ccw.rst')
-rw-r--r--Documentation/s390/vfio-ccw.rst56
1 files changed, 54 insertions, 2 deletions
diff --git a/Documentation/s390/vfio-ccw.rst b/Documentation/s390/vfio-ccw.rst
index 23e7d136f8b4..3a946fd45562 100644
--- a/Documentation/s390/vfio-ccw.rst
+++ b/Documentation/s390/vfio-ccw.rst
@@ -204,15 +204,44 @@ definition of the region is::
__u32 ret_code;
} __packed;
+This region is always available.
+
While starting an I/O request, orb_area should be filled with the
guest ORB, and scsw_area should be filled with the SCSW of the Virtual
Subchannel.
irb_area stores the I/O result.
-ret_code stores a return code for each access of the region.
+ret_code stores a return code for each access of the region. The following
+values may occur:
+
+``0``
+ The operation was successful.
+
+``-EOPNOTSUPP``
+ The orb specified transport mode or an unidentified IDAW format, or the
+ scsw specified a function other than the start function.
+
+``-EIO``
+ A request was issued while the device was not in a state ready to accept
+ requests, or an internal error occurred.
+
+``-EBUSY``
+ The subchannel was status pending or busy, or a request is already active.
+
+``-EAGAIN``
+ A request was being processed, and the caller should retry.
+
+``-EACCES``
+ The channel path(s) used for the I/O were found to be not operational.
+
+``-ENODEV``
+ The device was found to be not operational.
+
+``-EINVAL``
+ The orb specified a chain longer than 255 ccws, or an internal error
+ occurred.
-This region is always available.
vfio-ccw cmd region
-------------------
@@ -231,6 +260,29 @@ This region is exposed via region type VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD.
Currently, CLEAR SUBCHANNEL and HALT SUBCHANNEL use this region.
+command specifies the command to be issued; ret_code stores a return code
+for each access of the region. The following values may occur:
+
+``0``
+ The operation was successful.
+
+``-ENODEV``
+ The device was found to be not operational.
+
+``-EINVAL``
+ A command other than halt or clear was specified.
+
+``-EIO``
+ A request was issued while the device was not in a state ready to accept
+ requests.
+
+``-EAGAIN``
+ A request was being processed, and the caller should retry.
+
+``-EBUSY``
+ The subchannel was status pending or busy while processing a halt request.
+
+
vfio-ccw operation details
--------------------------