virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
authorViktor Prutyanov <viktor@daynix.com>
Thu, 13 Apr 2023 08:18:54 +0000 (11:18 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 21 Apr 2023 07:02:35 +0000 (03:02 -0400)
commitaf8ececda185078c096852edb4e1d7a2349e6856
tree2c27175bfdfe911223c936341a1e617d6db91531
parent3616bf377a5a8ef4f124dfde5f3522c4da335561
virtio: add VIRTIO_F_NOTIFICATION_DATA feature support

According to VirtIO spec v1.2, VIRTIO_F_NOTIFICATION_DATA feature
indicates that the driver passes extra data along with the queue
notifications.

In a split queue case, the extra data is 16-bit available index. In a
packed queue case, the extra data is 1-bit wrap counter and 15-bit
available index.

Add support for this feature for MMIO, channel I/O and modern PCI
transports.

Signed-off-by: Viktor Prutyanov <viktor@daynix.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Message-Id: <20230413081855.36643-2-alvaro.karsz@solid-run.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/s390/virtio/virtio_ccw.c
drivers/virtio/virtio_mmio.c
drivers/virtio/virtio_pci_modern.c
drivers/virtio/virtio_ring.c
include/linux/virtio_ring.h
include/uapi/linux/virtio_config.h