From 9b1e45c8f1355592cb60c6aed9ac1f90b606a1a8 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Mon, 8 Oct 2012 08:45:30 -0600 Subject: vfio-pci: Remove setting of MSI qsize This was a misinterpretation of the spec, hardware doesn't get to specify how many were actually enabled through this field. Signed-off-by: Alex Williamson --- hw/vfio_pci.c | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'hw/vfio_pci.c') diff --git a/hw/vfio_pci.c b/hw/vfio_pci.c index 0ca77cf9d1..a554e7cc65 100644 --- a/hw/vfio_pci.c +++ b/hw/vfio_pci.c @@ -508,20 +508,6 @@ static MSIMessage msi_get_msg(PCIDevice *pdev, unsigned int vector) return msg; } -/* So should this */ -static void msi_set_qsize(PCIDevice *pdev, uint8_t size) -{ - uint8_t *config = pdev->config + pdev->msi_cap; - uint16_t flags; - - flags = pci_get_word(config + PCI_MSI_FLAGS); - flags = le16_to_cpu(flags); - flags &= ~PCI_MSI_FLAGS_QSIZE; - flags |= (size & 0x7) << 4; - flags = cpu_to_le16(flags); - pci_set_word(config + PCI_MSI_FLAGS, flags); -} - static void vfio_enable_msix(VFIODevice *vdev) { vfio_disable_interrupts(vdev); @@ -609,8 +595,6 @@ retry: return; } - msi_set_qsize(&vdev->pdev, vdev->nr_vectors); - vdev->interrupt = VFIO_INT_MSI; DPRINTF("%s(%04x:%02x:%02x.%x) Enabled %d MSI vectors\n", __func__, @@ -671,8 +655,6 @@ static void vfio_disable_msi(VFIODevice *vdev) vfio_disable_msi_common(vdev); - msi_set_qsize(&vdev->pdev, 0); /* Actually still means 1 vector */ - DPRINTF("%s(%04x:%02x:%02x.%x)\n", __func__, vdev->host.domain, vdev->host.bus, vdev->host.slot, vdev->host.function); } -- cgit v1.2.3