On Tue, 5 May 2020 14:27:43 +0200 Eric Farman <farman@xxxxxxxxxxxxx> wrote: > From: Farhan Ali <alifm@xxxxxxxxxxxxx> > > This region provides a mechanism to pass a Channel Report Word > that affect vfio-ccw devices, and needs to be passed to the guest > for its awareness and/or processing. > > The base driver (see crw_collect_info()) provides space for two > CRWs, as a subchannel event may have two CRWs chained together > (one for the ssid, one for the subchannel). As vfio-ccw will > deal with everything at the subchannel level, provide space > for a single CRW to be transferred in one shot. > > Signed-off-by: Farhan Ali <alifm@xxxxxxxxxxxxx> > Signed-off-by: Eric Farman <farman@xxxxxxxxxxxxx> > --- > > Notes: > v3->v4: > - Move crw_trigger and CRW_IRQ from later patch to here [EF] > - Cleanup descriptions of sizeof CRW region in doc, commentary, > and commit description [CH] > - Clear crw when finished [CH] > > v2->v3: > - Remove "if list-empty" check, since there's no list yet [EF] > - Reduce the CRW region to one fullword, instead of two [CH] > > v1->v2: > - Add new region info to Documentation/s390/vfio-ccw.rst [CH] > - Add a block comment to struct ccw_crw_region [CH] > > v0->v1: [EF] > - Clean up checkpatch (whitespace) errors > - Add ret=-ENOMEM in error path for new region > - Add io_mutex for region read (originally in last patch) > - Change crw1/crw2 to crw0/crw1 > - Reorder cleanup of regions > > Documentation/s390/vfio-ccw.rst | 19 ++++++++++ > drivers/s390/cio/vfio_ccw_chp.c | 55 +++++++++++++++++++++++++++++ > drivers/s390/cio/vfio_ccw_drv.c | 20 +++++++++++ > drivers/s390/cio/vfio_ccw_ops.c | 8 +++++ > drivers/s390/cio/vfio_ccw_private.h | 4 +++ > include/uapi/linux/vfio.h | 2 ++ > include/uapi/linux/vfio_ccw.h | 8 +++++ > 7 files changed, 116 insertions(+) > Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>