pci: align ioport unmap error handling to ioport map
[dpdk.git] / lib / librte_eal / linuxapp / eal / eal_pci.c
index 4346973..77d70d9 100644 (file)
@@ -362,7 +362,7 @@ pci_scan_one(const char *dirname, uint16_t domain, uint8_t bus,
                else
                        dev->kdrv = RTE_KDRV_UNKNOWN;
        } else
-               dev->kdrv = RTE_KDRV_UNKNOWN;
+               dev->kdrv = RTE_KDRV_NONE;
 
        /* device is valid, add in list (sorted) */
        if (TAILQ_EMPTY(&pci_device_list)) {
@@ -482,92 +482,14 @@ error:
 }
 
 #ifdef RTE_PCI_CONFIG
-static int
-pci_config_extended_tag(struct rte_pci_device *dev)
-{
-       struct rte_pci_addr *loc = &dev->addr;
-       char filename[PATH_MAX];
-       char buf[BUFSIZ];
-       FILE *f;
-
-       /* not configured, let it as is */
-       if (strncmp(RTE_PCI_EXTENDED_TAG, "on", 2) != 0 &&
-               strncmp(RTE_PCI_EXTENDED_TAG, "off", 3) != 0)
-               return 0;
-
-       snprintf(filename, sizeof(filename),
-               SYSFS_PCI_DEVICES "/" PCI_PRI_FMT "/" "extended_tag",
-               loc->domain, loc->bus, loc->devid, loc->function);
-       f = fopen(filename, "rw+");
-       if (!f)
-               return -1;
-
-       fgets(buf, sizeof(buf), f);
-       if (strncmp(RTE_PCI_EXTENDED_TAG, "on", 2) == 0) {
-               /* enable Extended Tag*/
-               if (strncmp(buf, "on", 2) != 0) {
-                       fseek(f, 0, SEEK_SET);
-                       fputs("on", f);
-               }
-       } else {
-               /* disable Extended Tag */
-               if (strncmp(buf, "off", 3) != 0) {
-                       fseek(f, 0, SEEK_SET);
-                       fputs("off", f);
-               }
-       }
-       fclose(f);
-
-       return 0;
-}
-
-static int
-pci_config_max_read_request_size(struct rte_pci_device *dev)
-{
-       struct rte_pci_addr *loc = &dev->addr;
-       char filename[PATH_MAX];
-       char buf[BUFSIZ], param[BUFSIZ];
-       FILE *f;
-       /* size can be 128, 256, 512, 1024, 2048, 4096 */
-       uint32_t max_size = RTE_PCI_MAX_READ_REQUEST_SIZE;
-
-       /* not configured, let it as is */
-       if (!max_size)
-               return 0;
-
-       snprintf(filename, sizeof(filename),
-               SYSFS_PCI_DEVICES "/" PCI_PRI_FMT "/" "max_read_request_size",
-                       loc->domain, loc->bus, loc->devid, loc->function);
-       f = fopen(filename, "rw+");
-       if (!f)
-               return -1;
-
-       fgets(buf, sizeof(buf), f);
-       snprintf(param, sizeof(param), "%d", max_size);
-
-       /* check if the size to be set is the same as current */
-       if (strcmp(buf, param) == 0) {
-               fclose(f);
-               return 0;
-       }
-       fseek(f, 0, SEEK_SET);
-       fputs(param, f);
-       fclose(f);
-
-       return 0;
-}
-
+/*
+ * It is deprecated, all its configurations have been moved into
+ * each PMD respectively.
+ */
 void
-pci_config_space_set(struct rte_pci_device *dev)
+pci_config_space_set(__rte_unused struct rte_pci_device *dev)
 {
-       if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-               return;
-
-       /* configure extended tag */
-       pci_config_extended_tag(dev);
-
-       /* configure max read request size */
-       pci_config_max_read_request_size(dev);
+       RTE_LOG(DEBUG, EAL, "Nothing here, as it is deprecated\n");
 }
 #endif
 
@@ -621,7 +543,7 @@ int rte_eal_pci_write_config(const struct rte_pci_device *device,
        }
 }
 
-#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
+#if defined(RTE_ARCH_X86)
 static int
 pci_ioport_map(struct rte_pci_device *dev, int bar __rte_unused,
               struct rte_pci_ioport *p)
@@ -685,12 +607,11 @@ int
 rte_eal_pci_ioport_map(struct rte_pci_device *dev, int bar,
                       struct rte_pci_ioport *p)
 {
-       int ret;
+       int ret = -1;
 
        switch (dev->kdrv) {
 #ifdef VFIO_PRESENT
        case RTE_KDRV_VFIO:
-               ret = -1;
                if (pci_vfio_is_enabled())
                        ret = pci_vfio_ioport_map(dev, bar, p);
                break;
@@ -699,14 +620,13 @@ rte_eal_pci_ioport_map(struct rte_pci_device *dev, int bar,
        case RTE_KDRV_UIO_GENERIC:
                ret = pci_uio_ioport_map(dev, bar, p);
                break;
-       default:
-#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
-               /* special case for x86 ... */
+       case RTE_KDRV_NONE:
+#if defined(RTE_ARCH_X86)
                ret = pci_ioport_map(dev, bar, p);
-#else
-               ret = -1;
 #endif
                break;
+       default:
+               break;
        }
 
        if (!ret)
@@ -730,7 +650,7 @@ rte_eal_pci_ioport_read(struct rte_pci_ioport *p,
                pci_uio_ioport_read(p, data, len, offset);
                break;
        default:
-#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
+#if defined(RTE_ARCH_X86)
                /* special case for x86 ... */
                pci_uio_ioport_read(p, data, len, offset);
 #endif
@@ -753,7 +673,7 @@ rte_eal_pci_ioport_write(struct rte_pci_ioport *p,
                pci_uio_ioport_write(p, data, len, offset);
                break;
        default:
-#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
+#if defined(RTE_ARCH_X86)
                /* special case for x86 ... */
                pci_uio_ioport_write(p, data, len, offset);
 #endif
@@ -764,12 +684,11 @@ rte_eal_pci_ioport_write(struct rte_pci_ioport *p,
 int
 rte_eal_pci_ioport_unmap(struct rte_pci_ioport *p)
 {
-       int ret;
+       int ret = -1;
 
        switch (p->dev->kdrv) {
 #ifdef VFIO_PRESENT
        case RTE_KDRV_VFIO:
-               ret = -1;
                if (pci_vfio_is_enabled())
                        ret = pci_vfio_ioport_unmap(p);
                break;
@@ -779,11 +698,9 @@ rte_eal_pci_ioport_unmap(struct rte_pci_ioport *p)
                ret = pci_uio_ioport_unmap(p);
                break;
        default:
-#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
+#if defined(RTE_ARCH_X86)
                /* special case for x86 ... nothing to do */
                ret = 0;
-#else
-               ret = -1;
 #endif
                break;
        }