net/txgbe: update link setup process of backplane NICs
[dpdk.git] / drivers / net / e1000 / em_rxtx.c
index 5925e49..db5d122 100644 (file)
@@ -32,7 +32,7 @@
 #include <rte_malloc.h>
 #include <rte_mbuf.h>
 #include <rte_ether.h>
-#include <rte_ethdev_driver.h>
+#include <ethdev_driver.h>
 #include <rte_prefetch.h>
 #include <rte_ip.h>
 #include <rte_udp.h>
@@ -1611,12 +1611,14 @@ em_dev_free_queues(struct rte_eth_dev *dev)
        for (i = 0; i < dev->data->nb_rx_queues; i++) {
                eth_em_rx_queue_release(dev->data->rx_queues[i]);
                dev->data->rx_queues[i] = NULL;
+               rte_eth_dma_zone_free(dev, "rx_ring", i);
        }
        dev->data->nb_rx_queues = 0;
 
        for (i = 0; i < dev->data->nb_tx_queues; i++) {
                eth_em_tx_queue_release(dev->data->tx_queues[i]);
                dev->data->tx_queues[i] = NULL;
+               rte_eth_dma_zone_free(dev, "tx_ring", i);
        }
        dev->data->nb_tx_queues = 0;
 }
@@ -2049,13 +2051,12 @@ e1000_flush_tx_ring(struct rte_eth_dev *dev)
                tx_desc->lower.data = rte_cpu_to_le_32(txd_lower | size);
                tx_desc->upper.data = 0;
 
-               rte_wmb();
+               rte_io_wmb();
                txq->tx_tail++;
                if (txq->tx_tail == txq->nb_tx_desc)
                        txq->tx_tail = 0;
-               rte_io_wmb();
                tdt_reg_addr = E1000_PCI_REG_ADDR(hw, E1000_TDT(i));
-               E1000_PCI_REG_WRITE_RELAXED(tdt_reg_addr, txq->tx_tail);
+               E1000_PCI_REG_WRITE(tdt_reg_addr, txq->tx_tail);
                usec_delay(250);
        }
 }