net/mlx4: separate Tx segment cases
[dpdk.git] / drivers / net / avp / avp_ethdev.c
index d729b26..9b342bf 100644 (file)
 #include <rte_ethdev_pci.h>
 #include <rte_memcpy.h>
 #include <rte_string_fns.h>
-#include <rte_memzone.h>
 #include <rte_malloc.h>
 #include <rte_atomic.h>
 #include <rte_branch_prediction.h>
 #include <rte_pci.h>
+#include <rte_bus_pci.h>
 #include <rte_ether.h>
 #include <rte_common.h>
 #include <rte_cycles.h>
@@ -70,7 +70,7 @@ static void avp_dev_stop(struct rte_eth_dev *dev);
 static void avp_dev_close(struct rte_eth_dev *dev);
 static void avp_dev_info_get(struct rte_eth_dev *dev,
                             struct rte_eth_dev_info *dev_info);
-static void avp_vlan_offload_set(struct rte_eth_dev *dev, int mask);
+static int avp_vlan_offload_set(struct rte_eth_dev *dev, int mask);
 static int avp_dev_link_update(struct rte_eth_dev *dev, int wait_to_complete);
 static void avp_dev_promiscuous_enable(struct rte_eth_dev *dev);
 static void avp_dev_promiscuous_disable(struct rte_eth_dev *dev);
@@ -387,7 +387,7 @@ avp_dev_translate_buffer(struct avp_dev *avp, void *host_mbuf_address)
 /* translate from host physical address to guest virtual address */
 static void *
 avp_dev_translate_address(struct rte_eth_dev *eth_dev,
-                         phys_addr_t host_phys_addr)
+                         rte_iova_t host_phys_addr)
 {
        struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
        struct rte_mem_resource *resource;
@@ -1359,7 +1359,7 @@ avp_dev_copy_from_buffers(struct avp_dev *avp,
        src_offset = 0;
 
        if (pkt_buf->ol_flags & RTE_AVP_RX_VLAN_PKT) {
-               ol_flags = PKT_RX_VLAN_PKT;
+               ol_flags = PKT_RX_VLAN;
                vlan_tci = pkt_buf->vlan_tci;
        } else {
                ol_flags = 0;
@@ -1617,7 +1617,7 @@ avp_recv_pkts(void *rx_queue,
                m->port = avp->port_id;
 
                if (pkt_buf->ol_flags & RTE_AVP_RX_VLAN_PKT) {
-                       m->ol_flags = PKT_RX_VLAN_PKT;
+                       m->ol_flags = PKT_RX_VLAN;
                        m->vlan_tci = pkt_buf->vlan_tci;
                }
 
@@ -2029,7 +2029,12 @@ avp_dev_configure(struct rte_eth_dev *eth_dev)
        mask = (ETH_VLAN_STRIP_MASK |
                ETH_VLAN_FILTER_MASK |
                ETH_VLAN_EXTEND_MASK);
-       avp_vlan_offload_set(eth_dev, mask);
+       ret = avp_vlan_offload_set(eth_dev, mask);
+       if (ret < 0) {
+               PMD_DRV_LOG(ERR, "VLAN offload set failed by host, ret=%d\n",
+                           ret);
+               goto unlock;
+       }
 
        /* update device config */
        memset(&config, 0, sizeof(config));
@@ -2212,7 +2217,7 @@ avp_dev_info_get(struct rte_eth_dev *eth_dev,
        }
 }
 
-static void
+static int
 avp_vlan_offload_set(struct rte_eth_dev *eth_dev, int mask)
 {
        struct avp_dev *avp = AVP_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
@@ -2237,6 +2242,8 @@ avp_vlan_offload_set(struct rte_eth_dev *eth_dev, int mask)
                if (eth_dev->data->dev_conf.rxmode.hw_vlan_extend)
                        PMD_DRV_LOG(ERR, "VLAN extend offload not supported\n");
        }
+
+       return 0;
 }
 
 static int