[dpdk-dev] [PATCH 4/4] pci: fix ioport support for uio_pci_generic on x86
David Marchand
david.marchand at 6wind.com
Tue Mar 15 07:29:13 CET 2016
uio_pci_generic does not offer the same sysfs helpers as igb_uio.
In this case, ioport number can only be retrieved by parsing /proc/ioports.
Fixes: 756ce64b1ecd ("eal: introduce PCI ioport API")
Reported-by: Mauricio Vásquez <mauricio.vasquezbernal at studenti.polito.it>
Signed-off-by: David Marchand <david.marchand at 6wind.com>
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c
index 74c6919..dbf12a8 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci.c
+++ b/lib/librte_eal/linuxapp/eal/eal_pci.c
@@ -620,7 +620,11 @@ rte_eal_pci_ioport_map(struct rte_pci_device *dev, int bar,
ret = pci_uio_ioport_map(dev, bar, p);
break;
case RTE_KDRV_UIO_GENERIC:
+#if defined(RTE_ARCH_X86)
+ ret = pci_ioport_map(dev, bar, p);
+#else
ret = pci_uio_ioport_map(dev, bar, p);
+#endif
break;
case RTE_KDRV_NONE:
#if defined(RTE_ARCH_X86)
@@ -705,7 +709,11 @@ rte_eal_pci_ioport_unmap(struct rte_pci_ioport *p)
ret = pci_uio_ioport_unmap(p);
break;
case RTE_KDRV_UIO_GENERIC:
+#if defined(RTE_ARCH_X86)
+ ret = 0;
+#else
ret = pci_uio_ioport_unmap(p);
+#endif
break;
case RTE_KDRV_NONE:
#if defined(RTE_ARCH_X86)
--
1.9.1
More information about the dev
mailing list