diff options
author | Matthew Rosato <mjrosato@linux.ibm.com> | 2022-06-06 16:33:23 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@linux.ibm.com> | 2022-07-11 09:54:37 +0200 |
commit | ba6090ff8ae01b41288be87ed9f6bed3d8cf5961 (patch) | |
tree | b88f7940b9e36f7127b4ca91ce89bf5cedad349c /drivers/vfio/pci/vfio_pci_zdev.c | |
parent | faf3bfcb895037ae2a8b89d1048090c9e1291cae (diff) | |
download | linux-stable-ba6090ff8ae01b41288be87ed9f6bed3d8cf5961.tar.gz linux-stable-ba6090ff8ae01b41288be87ed9f6bed3d8cf5961.tar.bz2 linux-stable-ba6090ff8ae01b41288be87ed9f6bed3d8cf5961.zip |
vfio-pci/zdev: different maxstbl for interpreted devices
When doing load/store interpretation, the maximum store block length is
determined by the underlying firmware, not the host kernel API. Reflect
that in the associated Query PCI Function Group clp capability and let
userspace decide which is appropriate to present to the guest.
Reviewed-by: Pierre Morel <pmorel@linux.ibm.com>
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Link: https://lore.kernel.org/r/20220606203325.110625-20-mjrosato@linux.ibm.com
Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Diffstat (limited to 'drivers/vfio/pci/vfio_pci_zdev.c')
-rw-r--r-- | drivers/vfio/pci/vfio_pci_zdev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/vfio/pci/vfio_pci_zdev.c b/drivers/vfio/pci/vfio_pci_zdev.c index 4f28cdd7ecd1..e163aa9f6144 100644 --- a/drivers/vfio/pci/vfio_pci_zdev.c +++ b/drivers/vfio/pci/vfio_pci_zdev.c @@ -45,14 +45,16 @@ static int zpci_group_cap(struct zpci_dev *zdev, struct vfio_info_cap *caps) { struct vfio_device_info_cap_zpci_group cap = { .header.id = VFIO_DEVICE_INFO_CAP_ZPCI_GROUP, - .header.version = 1, + .header.version = 2, .dasm = zdev->dma_mask, .msi_addr = zdev->msi_addr, .flags = VFIO_DEVICE_INFO_ZPCI_FLAG_REFRESH, .mui = zdev->fmb_update, .noi = zdev->max_msi, .maxstbl = ZPCI_MAX_WRITE_SIZE, - .version = zdev->version + .version = zdev->version, + .reserved = 0, + .imaxstbl = zdev->maxstbl }; return vfio_info_add_capability(caps, &cap.header, sizeof(cap)); |