virtio-pci-modern: introduce vp_modern_generation()

This patch introduces vp_modern_generation() to get device generation.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20210104065503.199631-9-jasowang@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Jason Wang 2021-01-04 14:54:52 +08:00 committed by Michael S. Tsirkin
parent 0b0177089c
commit ed2a73dbab
1 changed files with 14 additions and 3 deletions

View File

@ -289,15 +289,26 @@ static void vp_set(struct virtio_device *vdev, unsigned offset,
}
}
static u32 vp_generation(struct virtio_device *vdev)
/*
* vp_modern_generation - get the device genreation
* @mdev: the modern virtio-pci device
*
* Returns the genreation read from device
*/
static u32 vp_modern_generation(struct virtio_pci_modern_device *mdev)
{
struct virtio_pci_device *vp_dev = to_vp_device(vdev);
struct virtio_pci_modern_device *mdev = &vp_dev->mdev;
struct virtio_pci_common_cfg __iomem *cfg = mdev->common;
return vp_ioread8(&cfg->config_generation);
}
static u32 vp_generation(struct virtio_device *vdev)
{
struct virtio_pci_device *vp_dev = to_vp_device(vdev);
return vp_modern_generation(&vp_dev->mdev);
}
/*
* vp_modern_get_status - get the device status
* @mdev: the modern virtio-pci device