~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to hw/scsi/virtio-scsi-dataplane.c

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
    }
50
50
}
51
51
 
52
 
static void virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
 
52
static bool virtio_scsi_data_plane_handle_cmd(VirtIODevice *vdev,
53
53
                                              VirtQueue *vq)
54
54
{
55
 
    VirtIOSCSI *s = (VirtIOSCSI *)vdev;
 
55
    bool progress;
 
56
    VirtIOSCSI *s = VIRTIO_SCSI(vdev);
56
57
 
 
58
    virtio_scsi_acquire(s);
57
59
    assert(s->ctx && s->dataplane_started);
58
 
    virtio_scsi_handle_cmd_vq(s, vq);
 
60
    progress = virtio_scsi_handle_cmd_vq(s, vq);
 
61
    virtio_scsi_release(s);
 
62
    return progress;
59
63
}
60
64
 
61
 
static void virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
 
65
static bool virtio_scsi_data_plane_handle_ctrl(VirtIODevice *vdev,
62
66
                                               VirtQueue *vq)
63
67
{
 
68
    bool progress;
64
69
    VirtIOSCSI *s = VIRTIO_SCSI(vdev);
65
70
 
 
71
    virtio_scsi_acquire(s);
66
72
    assert(s->ctx && s->dataplane_started);
67
 
    virtio_scsi_handle_ctrl_vq(s, vq);
 
73
    progress = virtio_scsi_handle_ctrl_vq(s, vq);
 
74
    virtio_scsi_release(s);
 
75
    return progress;
68
76
}
69
77
 
70
 
static void virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
 
78
static bool virtio_scsi_data_plane_handle_event(VirtIODevice *vdev,
71
79
                                                VirtQueue *vq)
72
80
{
 
81
    bool progress;
73
82
    VirtIOSCSI *s = VIRTIO_SCSI(vdev);
74
83
 
 
84
    virtio_scsi_acquire(s);
75
85
    assert(s->ctx && s->dataplane_started);
76
 
    virtio_scsi_handle_event_vq(s, vq);
 
86
    progress = virtio_scsi_handle_event_vq(s, vq);
 
87
    virtio_scsi_release(s);
 
88
    return progress;
77
89
}
78
90
 
79
91
static int virtio_scsi_vring_init(VirtIOSCSI *s, VirtQueue *vq, int n,
80
 
                                  void (*fn)(VirtIODevice *vdev, VirtQueue *vq))
 
92
                                  VirtIOHandleAIOOutput fn)
81
93
{
82
94
    BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(s)));
83
95
    int rc;