Commit cf34f533 authored by Cornelia Huck's avatar Cornelia Huck Committed by Michael S. Tsirkin
Browse files

virtio: move VIRTIO_F_NOTIFY_ON_EMPTY into core



Nearly all transports have been offering VIRTIO_F_NOTIFY_ON_EMPTY,
s390-virtio being the exception. There's no reason why it shouldn't
offer it as well, though (handling is done in core anyway), so let's
move it to the common virtio features.

While we're changing it anyway, fix the indentation for the
DEFINE_VIRTIO_COMMON_FEATURES macro.

Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 13644819
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -1382,12 +1382,9 @@ static void virtio_ccw_device_plugged(DeviceState *d)
{
    VirtioCcwDevice *dev = VIRTIO_CCW_DEVICE(d);
    SubchDev *sch = dev->sch;
    VirtIODevice *vdev = virtio_ccw_get_vdev(sch);

    sch->id.cu_model = virtio_bus_get_vdev_id(&dev->bus);

    virtio_add_feature(&vdev->host_features, VIRTIO_F_NOTIFY_ON_EMPTY);

    css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid,
                          d->hotplugged, 1);
}
+0 −10
Original line number Diff line number Diff line
@@ -336,15 +336,6 @@ static void virtio_mmio_reset(DeviceState *d)

/* virtio-mmio device */

/* This is called by virtio-bus just after the device is plugged. */
static void virtio_mmio_device_plugged(DeviceState *opaque)
{
    VirtIOMMIOProxy *proxy = VIRTIO_MMIO(opaque);
    VirtIODevice *vdev = virtio_bus_get_device(&proxy->bus);

    virtio_add_feature(&vdev->host_features, VIRTIO_F_NOTIFY_ON_EMPTY);
}

static void virtio_mmio_realizefn(DeviceState *d, Error **errp)
{
    VirtIOMMIOProxy *proxy = VIRTIO_MMIO(d);
@@ -384,7 +375,6 @@ static void virtio_mmio_bus_class_init(ObjectClass *klass, void *data)
    k->notify = virtio_mmio_update_irq;
    k->save_config = virtio_mmio_save_config;
    k->load_config = virtio_mmio_load_config;
    k->device_plugged = virtio_mmio_device_plugged;
    k->has_variable_vring_alignment = true;
    bus_class->max_dev = 1;
}
+0 −1
Original line number Diff line number Diff line
@@ -953,7 +953,6 @@ static void virtio_pci_device_plugged(DeviceState *d)
        proxy->flags &= ~VIRTIO_PCI_FLAG_USE_IOEVENTFD;
    }

    virtio_add_feature(&vdev->host_features, VIRTIO_F_NOTIFY_ON_EMPTY);
    virtio_add_feature(&vdev->host_features, VIRTIO_F_BAD_FEATURE);
}

+6 −4
Original line number Diff line number Diff line
@@ -197,7 +197,9 @@ typedef struct VirtIORNGConf VirtIORNGConf;
    DEFINE_PROP_BIT("indirect_desc", _state, _field,    \
                    VIRTIO_RING_F_INDIRECT_DESC, true), \
    DEFINE_PROP_BIT("event_idx", _state, _field,        \
			VIRTIO_RING_F_EVENT_IDX, true)
                    VIRTIO_RING_F_EVENT_IDX, true),     \
    DEFINE_PROP_BIT("notify_on_empty", _state, _field,  \
                    VIRTIO_F_NOTIFY_ON_EMPTY, true)

hwaddr virtio_queue_get_desc_addr(VirtIODevice *vdev, int n);
hwaddr virtio_queue_get_avail_addr(VirtIODevice *vdev, int n);