linux/drivers/s390
Cornelia Huck 690f6a1581 vfio-ccw: rework ssch state handling
The flow for processing ssch requests can be improved by splitting
the BUSY state:

- CP_PROCESSING: We reject any user space requests while we are in
  the process of translating a channel program and submitting it to
  the hardware. Use -EAGAIN to signal user space that it should
  retry the request.
- CP_PENDING: We have successfully submitted a request with ssch and
  are now expecting an interrupt. As we can't handle more than one
  channel program being processed, reject any further requests with
  -EBUSY. A final interrupt will move us out of this state.
  By making this a separate state, we make it possible to issue a
  halt or a clear while we're still waiting for the final interrupt
  for the ssch (in a follow-on patch).

It also makes a lot of sense not to preemptively filter out writes to
the io_region if we're in an incorrect state: the state machine will
handle this correctly.

Reviewed-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2019-04-24 14:18:51 +02:00
..
block s390/dasd: Fix capacity calculation for large volumes 2019-03-29 07:23:44 +01:00
char s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
cio vfio-ccw: rework ssch state handling 2019-04-24 14:18:51 +02:00
crypto s390: zcrypt: initialize variables before_use 2019-04-11 13:37:30 +02:00
net s390/qeth: be drop monitor friendly 2019-03-18 18:34:45 -07:00
scsi s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
virtio virtio-ccw: wire up ->bus_name callback 2019-03-06 11:19:56 -05:00
Makefile kbuild: rename built-in.o to built-in.a 2018-03-26 02:01:19 +09:00