X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Ffm10k%2Ffm10k_ethdev.c;h=fd927923da728fb73ec2e60b8092fbf53030d23b;hb=25ae7f1a5d9d127a46f8d62d1d689f77a78138fd;hp=dc8bc75456bf1dd03b0e6f74f43d5f963756e807;hpb=8a5741a915a53fd64f5c65ed892b36c66787b8a7;p=dpdk.git diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index dc8bc75456..fd927923da 100644 --- a/drivers/net/fm10k/fm10k_ethdev.c +++ b/drivers/net/fm10k/fm10k_ethdev.c @@ -40,9 +40,6 @@ #define GLORT_FD_MASK GLORT_PF_MASK #define GLORT_FD_INDEX GLORT_FD_Q_BASE -int fm10k_logtype_init; -int fm10k_logtype_driver; - static void fm10k_close_mbx_service(struct fm10k_hw *hw); static int fm10k_dev_promiscuous_enable(struct rte_eth_dev *dev); static int fm10k_dev_promiscuous_disable(struct rte_eth_dev *dev); @@ -451,6 +448,9 @@ fm10k_dev_configure(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); + if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) + dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH; + /* multipe queue mode checking */ ret = fm10k_check_mq_mode(dev); if (ret != 0) { @@ -1562,28 +1562,9 @@ fm10k_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on) } static int -fm10k_vlan_offload_set(struct rte_eth_dev *dev, int mask) +fm10k_vlan_offload_set(struct rte_eth_dev *dev __rte_unused, + int mask __rte_unused) { - if (mask & ETH_VLAN_STRIP_MASK) { - if (!(dev->data->dev_conf.rxmode.offloads & - DEV_RX_OFFLOAD_VLAN_STRIP)) - PMD_INIT_LOG(ERR, "VLAN stripping is " - "always on in fm10k"); - } - - if (mask & ETH_VLAN_EXTEND_MASK) { - if (dev->data->dev_conf.rxmode.offloads & - DEV_RX_OFFLOAD_VLAN_EXTEND) - PMD_INIT_LOG(ERR, "VLAN QinQ is not " - "supported in fm10k"); - } - - if (mask & ETH_VLAN_FILTER_MASK) { - if (!(dev->data->dev_conf.rxmode.offloads & - DEV_RX_OFFLOAD_VLAN_FILTER)) - PMD_INIT_LOG(ERR, "VLAN filter is always on in fm10k"); - } - return 0; } @@ -1795,7 +1776,8 @@ static uint64_t fm10k_get_rx_port_offloads_capa(struct rte_eth_dev *dev) DEV_RX_OFFLOAD_UDP_CKSUM | DEV_RX_OFFLOAD_TCP_CKSUM | DEV_RX_OFFLOAD_JUMBO_FRAME | - DEV_RX_OFFLOAD_HEADER_SPLIT); + DEV_RX_OFFLOAD_HEADER_SPLIT | + DEV_RX_OFFLOAD_RSS_HASH); } static int @@ -2944,7 +2926,7 @@ fm10k_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts, return nb_tx; } -static void __attribute__((cold)) +static void __rte_cold fm10k_set_tx_function(struct rte_eth_dev *dev) { struct fm10k_tx_queue *txq; @@ -2993,7 +2975,7 @@ fm10k_set_tx_function(struct rte_eth_dev *dev) } } -static void __attribute__((cold)) +static void __rte_cold fm10k_set_rx_function(struct rte_eth_dev *dev) { struct fm10k_dev_info *dev_info = @@ -3101,7 +3083,7 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev) hw->hw_addr = (void *)pdev->mem_resource[0].addr; if (hw->hw_addr == NULL) { PMD_INIT_LOG(ERR, "Bad mem resource." - " Try to blacklist unused devices."); + " Try to refuse unused devices."); return -EIO; } @@ -3196,19 +3178,19 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev) /* Make sure Switch Manager is ready before going forward. */ if (hw->mac.type == fm10k_mac_pf) { - int switch_ready = 0; + bool switch_ready = false; for (i = 0; i < MAX_QUERY_SWITCH_STATE_TIMES; i++) { fm10k_mbx_lock(hw); hw->mac.ops.get_host_state(hw, &switch_ready); fm10k_mbx_unlock(hw); - if (switch_ready) + if (switch_ready == true) break; /* Delay some time to acquire async LPORT_MAP info. */ rte_delay_us(WAIT_SWITCH_MSG_US); } - if (switch_ready == 0) { + if (switch_ready == false) { PMD_INIT_LOG(ERR, "switch is not ready"); return -1; } @@ -3304,13 +3286,14 @@ static struct rte_pci_driver rte_pmd_fm10k = { RTE_PMD_REGISTER_PCI(net_fm10k, rte_pmd_fm10k); RTE_PMD_REGISTER_PCI_TABLE(net_fm10k, pci_id_fm10k_map); RTE_PMD_REGISTER_KMOD_DEP(net_fm10k, "* igb_uio | uio_pci_generic | vfio-pci"); - -RTE_INIT(fm10k_init_log) -{ - fm10k_logtype_init = rte_log_register("pmd.net.fm10k.init"); - if (fm10k_logtype_init >= 0) - rte_log_set_level(fm10k_logtype_init, RTE_LOG_NOTICE); - fm10k_logtype_driver = rte_log_register("pmd.net.fm10k.driver"); - if (fm10k_logtype_driver >= 0) - rte_log_set_level(fm10k_logtype_driver, RTE_LOG_NOTICE); -} +RTE_LOG_REGISTER(fm10k_logtype_init, pmd.net.fm10k.init, NOTICE); +RTE_LOG_REGISTER(fm10k_logtype_driver, pmd.net.fm10k.driver, NOTICE); +#ifdef RTE_LIBRTE_FM10K_DEBUG_RX +RTE_LOG_REGISTER(fm10k_logtype_rx, pmd.net.fm10k.rx, DEBUG); +#endif +#ifdef RTE_LIBRTE_FM10K_DEBUG_TX +RTE_LOG_REGISTER(fm10k_logtype_tx, pmd.net.fm10k.tx, DEBUG); +#endif +#ifdef RTE_LIBRTE_FM10K_DEBUG_TX_FREE +RTE_LOG_REGISTER(fm10k_logtype_tx_free, pmd.net.fm10k.tx_free, DEBUG); +#endif