X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fsfc%2Fsfc.c;h=141c767f091f3d001dc76fe051ca7b3c80c48ac5;hb=4b701523742e3753d58949846ac4eeebc6d5a78f;hp=dee468f89efeb31632dc5bc4ed662201f6c0522d;hpb=9906cb2959e41b5922314cfbb6e1dd542def9857;p=dpdk.git diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c index dee468f89e..141c767f09 100644 --- a/drivers/net/sfc/sfc.c +++ b/drivers/net/sfc/sfc.c @@ -148,7 +148,8 @@ sfc_check_conf(struct sfc_adapter *sa) rc = EINVAL; } - if (conf->intr_conf.rxq != 0) { + if (conf->intr_conf.rxq != 0 && + (sa->priv.dp_rx->features & SFC_DP_RX_FEAT_INTR) == 0) { sfc_err(sa, "Receive queue interrupt not supported"); rc = EINVAL; } @@ -744,12 +745,21 @@ sfc_attach(struct sfc_adapter *sa) sa->priv.shared->tunnel_encaps = encp->enc_tunnel_encapsulations_supported; - if (sa->priv.dp_tx->features & SFC_DP_TX_FEAT_TSO) { + if (sfc_dp_tx_offload_capa(sa->priv.dp_tx) & DEV_TX_OFFLOAD_TCP_TSO) { sa->tso = encp->enc_fw_assisted_tso_v2_enabled; if (!sa->tso) sfc_info(sa, "TSO support isn't available on this adapter"); } + if (sa->tso && + (sfc_dp_tx_offload_capa(sa->priv.dp_tx) & + (DEV_TX_OFFLOAD_VXLAN_TNL_TSO | + DEV_TX_OFFLOAD_GENEVE_TNL_TSO)) != 0) { + sa->tso_encap = encp->enc_fw_assisted_tso_v2_encap_enabled; + if (!sa->tso_encap) + sfc_info(sa, "Encapsulated TSO support isn't available on this adapter"); + } + sfc_log_init(sa, "estimate resource limits"); rc = sfc_estimate_resource_limits(sa); if (rc != 0)