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

[Xen-devel] [PATCH 04/13] Removed MSI capability in the pci-back driver.



Currently the tree does not have the Xen MSI capability. Will re-introduce
when the capability exists.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
---
 drivers/xen/pciback/Makefile                    |    1 -
 drivers/xen/pciback/conf_space_capability_msi.c |   79 -----------------------
 drivers/xen/pciback/pci_stub.c                  |   18 -----
 drivers/xen/pciback/pciback.h                   |   14 ----
 drivers/xen/pciback/pciback_ops.c               |   14 ----
 5 files changed, 0 insertions(+), 126 deletions(-)
 delete mode 100644 drivers/xen/pciback/conf_space_capability_msi.c

diff --git a/drivers/xen/pciback/Makefile b/drivers/xen/pciback/Makefile
index 106dae7..a99bdaa 100644
--- a/drivers/xen/pciback/Makefile
+++ b/drivers/xen/pciback/Makefile
@@ -6,7 +6,6 @@ pciback-y += conf_space.o conf_space_header.o \
             conf_space_capability_vpd.o \
             conf_space_capability_pm.o \
              conf_space_quirks.o
-pciback-$(CONFIG_PCI_MSI) += conf_space_capability_msi.o
 pciback-$(CONFIG_XEN_PCIDEV_BACKEND_VPCI) += vpci.o
 pciback-$(CONFIG_XEN_PCIDEV_BACKEND_SLOT) += slot.o
 pciback-$(CONFIG_XEN_PCIDEV_BACKEND_PASS) += passthrough.o
diff --git a/drivers/xen/pciback/conf_space_capability_msi.c 
b/drivers/xen/pciback/conf_space_capability_msi.c
deleted file mode 100644
index 762e396..0000000
--- a/drivers/xen/pciback/conf_space_capability_msi.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * PCI Backend -- Configuration overlay for MSI capability
- */
-#include <linux/pci.h>
-#include <linux/slab.h>
-#include "conf_space.h"
-#include "conf_space_capability.h"
-#include <xen/interface/io/pciif.h>
-#include "pciback.h"
-
-int pciback_enable_msi(struct pciback_device *pdev,
-               struct pci_dev *dev, struct xen_pci_op *op)
-{
-       int otherend = pdev->xdev->otherend_id;
-       int status;
-
-       status = pci_enable_msi(dev);
-
-       if (status) {
-               printk("error enable msi for guest %x status %x\n", otherend, 
status);
-               op->value = 0;
-               return XEN_PCI_ERR_op_failed;
-       }
-
-       op->value = dev->irq;
-       return 0;
-}
-
-int pciback_disable_msi(struct pciback_device *pdev,
-               struct pci_dev *dev, struct xen_pci_op *op)
-{
-       pci_disable_msi(dev);
-
-       op->value = dev->irq;
-       return 0;
-}
-
-int pciback_enable_msix(struct pciback_device *pdev,
-               struct pci_dev *dev, struct xen_pci_op *op)
-{
-       int i, result;
-       struct msix_entry *entries;
-
-       if (op->value > SH_INFO_MAX_VEC)
-               return -EINVAL;
-
-       entries = kmalloc(op->value * sizeof(*entries), GFP_KERNEL);
-       if (entries == NULL)
-               return -ENOMEM;
-
-       for (i = 0; i < op->value; i++) {
-               entries[i].entry = op->msix_entries[i].entry;
-               entries[i].vector = op->msix_entries[i].vector;
-       }
-
-       result = pci_enable_msix(dev, entries, op->value);
-
-       for (i = 0; i < op->value; i++) {
-               op->msix_entries[i].entry = entries[i].entry;
-               op->msix_entries[i].vector = entries[i].vector;
-       }
-
-       kfree(entries);
-
-       op->value = result;
-
-       return result;
-}
-
-int pciback_disable_msix(struct pciback_device *pdev,
-               struct pci_dev *dev, struct xen_pci_op *op)
-{
-
-       pci_disable_msix(dev);
-
-       op->value = dev->irq;
-       return 0;
-}
-
diff --git a/drivers/xen/pciback/pci_stub.c b/drivers/xen/pciback/pci_stub.c
index c02f21f..036d7bb 100644
--- a/drivers/xen/pciback/pci_stub.c
+++ b/drivers/xen/pciback/pci_stub.c
@@ -1173,21 +1173,6 @@ static ssize_t permissive_show(struct device_driver 
*drv, char *buf)
 
 DRIVER_ATTR(permissive, S_IRUSR | S_IWUSR, permissive_show, permissive_add);
 
-#ifdef CONFIG_PCI_MSI
-
-int pciback_get_owner(struct pci_dev *dev)
-{
-       struct pcistub_device *psdev;
-
-       psdev = pcistub_device_find(pci_domain_nr(dev->bus), dev->bus->number,
-                       PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
-
-       if (!psdev || !psdev->pdev)
-               return -1;
-
-       return psdev->pdev->xdev->otherend_id;
-}
-#endif
 
 static void pcistub_exit(void)
 {
@@ -1199,7 +1184,6 @@ static void pcistub_exit(void)
        driver_remove_file(&pciback_pci_driver.driver, &driver_attr_permissive);
 
        pci_unregister_driver(&pciback_pci_driver);
-       WARN_ON(unregister_msi_get_owner(pciback_get_owner));
 }
 
 static int __init pcistub_init(void)
@@ -1257,8 +1241,6 @@ static int __init pcistub_init(void)
                err = driver_create_file(&pciback_pci_driver.driver,
                                         &driver_attr_permissive);
 
-       if (!err)
-               err = register_msi_get_owner(pciback_get_owner);
        if (err)
                pcistub_exit();
 
diff --git a/drivers/xen/pciback/pciback.h b/drivers/xen/pciback/pciback.h
index 6744f45..27d0b2f 100644
--- a/drivers/xen/pciback/pciback.h
+++ b/drivers/xen/pciback/pciback.h
@@ -105,20 +105,6 @@ void pciback_do_op(void *data);
 int pciback_xenbus_register(void);
 void pciback_xenbus_unregister(void);
 
-#ifdef CONFIG_PCI_MSI
-int pciback_enable_msi(struct pciback_device *pdev,
-                       struct pci_dev *dev, struct xen_pci_op *op);
-
-int pciback_disable_msi(struct pciback_device *pdev,
-                         struct pci_dev *dev, struct xen_pci_op *op);
-
-
-int pciback_enable_msix(struct pciback_device *pdev,
-                        struct pci_dev *dev, struct xen_pci_op *op);
-
-int pciback_disable_msix(struct pciback_device *pdev,
-                        struct pci_dev *dev, struct xen_pci_op *op);
-#endif
 extern int verbose_request;
 
 void test_and_schedule_op(struct pciback_device *pdev);
diff --git a/drivers/xen/pciback/pciback_ops.c 
b/drivers/xen/pciback/pciback_ops.c
index 58d09eb..a937564 100644
--- a/drivers/xen/pciback/pciback_ops.c
+++ b/drivers/xen/pciback/pciback_ops.c
@@ -89,20 +89,6 @@ void pciback_do_op(void *data)
                                op->err = pciback_config_write(dev,
                                          op->offset, op->size, op->value);
                                break;
-#ifdef CONFIG_PCI_MSI
-                       case XEN_PCI_OP_enable_msi:
-                               op->err = pciback_enable_msi(pdev, dev, op);
-                               break;
-                       case XEN_PCI_OP_disable_msi:
-                               op->err = pciback_disable_msi(pdev, dev, op);
-                               break;
-                       case XEN_PCI_OP_enable_msix:
-                               op->err = pciback_enable_msix(pdev, dev, op);
-                               break;
-                       case XEN_PCI_OP_disable_msix:
-                               op->err = pciback_disable_msix(pdev, dev, op);
-                               break;
-#endif
                        default:
                                op->err = XEN_PCI_ERR_not_implemented;
                                break;
-- 
1.6.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.