X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcxgbe%2Fcxgbevf_main.c;h=f639612ae45ad3c45600fd2ebca822ed2073f7ac;hb=31d7c6f7d424c533b0a4dd9b4408b814ac7852f1;hp=82f40f3580966859c3839ea95704f4957fc6a69f;hpb=63a97e588b1f7a9d9533153058276af6e9abd2be;p=dpdk.git diff --git a/drivers/net/cxgbe/cxgbevf_main.c b/drivers/net/cxgbe/cxgbevf_main.c index 82f40f3580..f639612ae4 100644 --- a/drivers/net/cxgbe/cxgbevf_main.c +++ b/drivers/net/cxgbe/cxgbevf_main.c @@ -3,14 +3,15 @@ * All rights reserved. */ -#include -#include +#include +#include #include #include "base/common.h" #include "base/t4_regs.h" #include "base/t4_msg.h" #include "cxgbe.h" +#include "cxgbe_pfvf.h" #include "mps_tcam.h" /* @@ -122,11 +123,18 @@ static int adap_init0vf(struct adapter *adapter) * firmware won't understand this and we'll just get * unencapsulated messages ... */ - param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_PFVF) | - V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_PFVF_CPLFW4MSG_ENCAP); + param = CXGBE_FW_PARAM_PFVF(CPLFW4MSG_ENCAP); val = 1; t4vf_set_params(adapter, 1, ¶m, &val); + /* Query for max number of packets that can be coalesced for Tx */ + param = CXGBE_FW_PARAM_PFVF(MAX_PKTS_PER_ETH_TX_PKTS_WR); + err = t4vf_query_params(adapter, 1, ¶m, &val); + if (!err && val > 0) + adapter->params.max_tx_coalesce_num = val; + else + adapter->params.max_tx_coalesce_num = ETH_COALESCE_VF_PKT_NUM; + /* * Grab our Virtual Interface resource allocation, extract the * features that we're interested in and do a bit of sanity testing on @@ -268,7 +276,10 @@ allocate_mac: } } - cxgbe_cfg_queues(adapter->eth_dev); + err = cxgbe_cfg_queues(adapter->eth_dev); + if (err) + goto out_free; + cxgbe_print_adapter_info(adapter); cxgbe_print_port_info(adapter); @@ -283,6 +294,8 @@ allocate_mac: return 0; out_free: + cxgbe_cfg_queues_free(adapter); + for_each_port(adapter, i) { pi = adap2pinfo(adapter, i); if (pi->viid != 0)