net: add rte prefix to ether structures
[dpdk.git] / drivers / net / fm10k / fm10k_ethdev.c
index d2930bc..e4f9f93 100644 (file)
@@ -72,7 +72,7 @@ struct fm10k_xstats_name_off {
        unsigned offset;
 };
 
-struct fm10k_xstats_name_off fm10k_hw_stats_strings[] = {
+static const struct fm10k_xstats_name_off fm10k_hw_stats_strings[] = {
        {"completion_timeout_count", offsetof(struct fm10k_hw_stats, timeout)},
        {"unsupported_requests_count", offsetof(struct fm10k_hw_stats, ur)},
        {"completer_abort_count", offsetof(struct fm10k_hw_stats, ca)},
@@ -87,7 +87,7 @@ struct fm10k_xstats_name_off fm10k_hw_stats_strings[] = {
 #define FM10K_NB_HW_XSTATS (sizeof(fm10k_hw_stats_strings) / \
                sizeof(fm10k_hw_stats_strings[0]))
 
-struct fm10k_xstats_name_off fm10k_hw_stats_rx_q_strings[] = {
+static const struct fm10k_xstats_name_off fm10k_hw_stats_rx_q_strings[] = {
        {"packets", offsetof(struct fm10k_hw_stats_q, rx_packets)},
        {"bytes", offsetof(struct fm10k_hw_stats_q, rx_bytes)},
        {"dropped", offsetof(struct fm10k_hw_stats_q, rx_drops)},
@@ -96,7 +96,7 @@ struct fm10k_xstats_name_off fm10k_hw_stats_rx_q_strings[] = {
 #define FM10K_NB_RX_Q_XSTATS (sizeof(fm10k_hw_stats_rx_q_strings) / \
                sizeof(fm10k_hw_stats_rx_q_strings[0]))
 
-struct fm10k_xstats_name_off fm10k_hw_stats_tx_q_strings[] = {
+static const struct fm10k_xstats_name_off fm10k_hw_stats_tx_q_strings[] = {
        {"packets", offsetof(struct fm10k_hw_stats_q, tx_packets)},
        {"bytes", offsetof(struct fm10k_hw_stats_q, tx_bytes)},
 };
@@ -464,11 +464,6 @@ fm10k_dev_configure(struct rte_eth_dev *dev)
        return 0;
 }
 
-/* fls = find last set bit = 32 minus the number of leading zeros */
-#ifndef fls
-#define fls(x) (((x) == 0) ? 0 : (32 - __builtin_clz((x))))
-#endif
-
 static void
 fm10k_dev_vmdq_rx_configure(struct rte_eth_dev *dev)
 {
@@ -619,7 +614,7 @@ fm10k_dev_mq_rx_configure(struct rte_eth_dev *dev)
        /* reset MAC/VLAN as it's based on VMDQ or PF main VSI */
        memset(dev->data->mac_addrs, 0,
                ETHER_ADDR_LEN * FM10K_MAX_MACADDR_NUM);
-       ether_addr_copy((const struct ether_addr *)hw->mac.addr,
+       ether_addr_copy((const struct rte_ether_addr *)hw->mac.addr,
                &dev->data->mac_addrs[0]);
        memset(macvlan, 0, sizeof(*macvlan));
        macvlan->nb_queue_pools = nb_queue_pools;
@@ -1030,8 +1025,8 @@ fm10k_dev_dglort_map_configure(struct rte_eth_dev *dev)
 
        macvlan = FM10K_DEV_PRIVATE_TO_MACVLAN(dev->data->dev_private);
        nb_queue_pools = macvlan->nb_queue_pools;
-       pool_len = nb_queue_pools ? fls(nb_queue_pools - 1) : 0;
-       rss_len = fls(dev->data->nb_rx_queues - 1) - pool_len;
+       pool_len = nb_queue_pools ? rte_fls_u32(nb_queue_pools - 1) : 0;
+       rss_len = rte_fls_u32(dev->data->nb_rx_queues - 1) - pool_len;
 
        /* GLORT 0x0-0x3F are used by PF and VMDQ,  0x40-0x7F used by FD */
        dglortdec = (rss_len << FM10K_DGLORTDEC_RSSLENGTH_SHIFT) | pool_len;
@@ -1042,7 +1037,7 @@ fm10k_dev_dglort_map_configure(struct rte_eth_dev *dev)
        FM10K_WRITE_REG(hw, FM10K_DGLORTDEC(0), dglortdec);
 
        /* Flow Director configurations, only queue number is valid. */
-       dglortdec = fls(dev->data->nb_rx_queues - 1);
+       dglortdec = rte_fls_u32(dev->data->nb_rx_queues - 1);
        dglortmask = (GLORT_FD_MASK << FM10K_DGLORTMAP_MASK_SHIFT) |
                        (hw->mac.dglort_map + GLORT_FD_Q_BASE);
        FM10K_WRITE_REG(hw, FM10K_DGLORTMAP(1), dglortmask);
@@ -1394,6 +1389,15 @@ fm10k_dev_infos_get(struct rte_eth_dev *dev,
 
        dev_info->hash_key_size = FM10K_RSSRK_SIZE * sizeof(uint32_t);
        dev_info->reta_size = FM10K_MAX_RSS_INDICES;
+       dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 |
+                                       ETH_RSS_IPV6 |
+                                       ETH_RSS_IPV6_EX |
+                                       ETH_RSS_NONFRAG_IPV4_TCP |
+                                       ETH_RSS_NONFRAG_IPV6_TCP |
+                                       ETH_RSS_IPV6_TCP_EX |
+                                       ETH_RSS_NONFRAG_IPV4_UDP |
+                                       ETH_RSS_NONFRAG_IPV6_UDP |
+                                       ETH_RSS_IPV6_UDP_EX;
 
        dev_info->default_rxconf = (struct rte_eth_rxconf) {
                .rx_thresh = {
@@ -1669,7 +1673,7 @@ static void fm10k_MAC_filter_set(struct rte_eth_dev *dev,
 /* Add a MAC address, and update filters */
 static int
 fm10k_macaddr_add(struct rte_eth_dev *dev,
-               struct ether_addr *mac_addr,
+               struct rte_ether_addr *mac_addr,
                uint32_t index,
                uint32_t pool)
 {
@@ -2824,6 +2828,7 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
        .rx_queue_release       = fm10k_rx_queue_release,
        .tx_queue_setup         = fm10k_tx_queue_setup,
        .tx_queue_release       = fm10k_tx_queue_release,
+       .rx_queue_count         = fm10k_dev_rx_queue_count,
        .rx_descriptor_done     = fm10k_dev_rx_descriptor_done,
        .rx_descriptor_status = fm10k_dev_rx_descriptor_status,
        .tx_descriptor_status = fm10k_dev_tx_descriptor_status,
@@ -3008,6 +3013,7 @@ fm10k_params_init(struct rte_eth_dev *dev)
        hw->bus.payload = fm10k_bus_payload_256;
 
        info->rx_vec_allowed = true;
+       info->sm_down = false;
 }
 
 static int
@@ -3084,7 +3090,7 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 
        diag = fm10k_read_mac_addr(hw);
 
-       ether_addr_copy((const struct ether_addr *)hw->mac.addr,
+       ether_addr_copy((const struct rte_ether_addr *)hw->mac.addr,
                        &dev->data->mac_addrs[0]);
 
        if (diag != FM10K_SUCCESS ||
@@ -3093,7 +3099,7 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
                /* Generate a random addr */
                eth_random_addr(hw->mac.addr);
                memcpy(hw->mac.perm_addr, hw->mac.addr, ETH_ALEN);
-               ether_addr_copy((const struct ether_addr *)hw->mac.addr,
+               ether_addr_copy((const struct rte_ether_addr *)hw->mac.addr,
                &dev->data->mac_addrs[0]);
        }