X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcxgbe%2Fcxgbevf_main.c;h=5b3fb5399bc7da6955a81c539eb3e126ceacc8f4;hb=4ed05fcd441bc7720386950a95d0bd85a72a5cee;hp=0624267c7b42c87e378b6296e86f1a4c88d5e42f;hpb=5e80364a0389f76e4c8c20cdbe40a4db36b49f58;p=dpdk.git diff --git a/drivers/net/cxgbe/cxgbevf_main.c b/drivers/net/cxgbe/cxgbevf_main.c index 0624267c7b..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; @@ -108,6 +113,24 @@ static int adap_init0vf(struct adapter *adapter) } adapter->pf = t4vf_get_pf_from_vf(adapter); + err = t4vf_sge_init(adapter); + if (err) { + dev_err(adapter->pdev_dev, "error in sge init\n"); + 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 @@ -244,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) { @@ -259,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: