X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fnet%2Fcxgbe%2Fcxgbevf_main.c;h=5b3fb5399bc7da6955a81c539eb3e126ceacc8f4;hb=4ed05fcd441bc7720386950a95d0bd85a72a5cee;hp=f4d0f4de59c67f1f446c9cea85d1ba11576509ee;hpb=5e59e39a1db781e2f04f76f5b651b040e171e5ba;p=dpdk.git diff --git a/drivers/net/cxgbe/cxgbevf_main.c b/drivers/net/cxgbe/cxgbevf_main.c index f4d0f4de59..5b3fb5399b 100644 --- a/drivers/net/cxgbe/cxgbevf_main.c +++ b/drivers/net/cxgbe/cxgbevf_main.c @@ -74,6 +74,11 @@ static void size_nports_qsets(struct adapter *adapter) } } +void cxgbevf_stats_get(struct port_info *pi, struct port_stats *stats) +{ + t4vf_get_port_stats(pi->adapter, pi->pidx, stats); +} + static int adap_init0vf(struct adapter *adapter) { u32 param, val = 0; @@ -114,6 +119,19 @@ static int adap_init0vf(struct adapter *adapter) return err; } + err = t4vf_get_rss_glb_config(adapter); + if (err) { + dev_err(adapter->pdev_dev, "unable to retrieve adapter" + " RSS parameters: err=%d\n", err); + return err; + } + if (adapter->params.rss.mode != + FW_RSS_GLB_CONFIG_CMD_MODE_BASICVIRTUAL) { + dev_err(adapter->pdev_dev, "unable to operate with global RSS" + " mode %d\n", adapter->params.rss.mode); + return -EINVAL; + } + /* If we're running on newer firmware, let it know that we're * prepared to deal with encapsulated CPL messages. Older * firmware won't understand this and we'll just get @@ -249,6 +267,11 @@ allocate_mac: err = -ENOMEM; goto out_free; } + + if (i > 0) { + /* First port will be notified by upper layer */ + rte_eth_dev_probing_finish(eth_dev); + } } if (adapter->flags & FW_OK) { @@ -264,6 +287,9 @@ allocate_mac: print_adapter_info(adapter); print_port_info(adapter); + err = init_rss(adapter); + if (err) + goto out_free; return 0; out_free: