eal/bsd: fix ioport write operation
authorTiwei Bie <tiwei.bie@intel.com>
Sun, 7 May 2017 13:33:33 +0000 (13:33 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 10 May 2017 13:57:17 +0000 (15:57 +0200)
The first param of out*() on FreeBSD is port, and the second one
is data. But they are reversed in DPDK. This patch fixes it.

Fixes: 756ce64b1ecd ("eal: introduce PCI ioport API")
Cc: stable@dpdk.org
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_eal/bsdapp/eal/eal_pci.c

index 6294b7e..59ceb76 100644 (file)
@@ -618,13 +618,13 @@ pci_uio_ioport_write(struct rte_pci_ioport *p,
        for (s = data; len > 0; s += size, reg += size, len -= size) {
                if (len >= 4) {
                        size = 4;
-                       outl(*(const uint32_t *)s, reg);
+                       outl(reg, *(const uint32_t *)s);
                } else if (len >= 2) {
                        size = 2;
-                       outw(*(const uint16_t *)s, reg);
+                       outw(reg, *(const uint16_t *)s);
                } else {
                        size = 1;
-                       outb(*s, reg);
+                       outb(reg, *s);
                }
        }
 #else