qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 09/11] vfio-pci: Remove setting of MSI qsize


From: Alex Williamson
Subject: [Qemu-devel] [PATCH 09/11] vfio-pci: Remove setting of MSI qsize
Date: Thu, 04 Oct 2012 16:18:31 -0600
User-agent: StGIT/0.14.3

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 <address@hidden>
---

 hw/vfio_pci.c |   18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/hw/vfio_pci.c b/hw/vfio_pci.c
index 0ca77cf..a554e7c 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);
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]