net/sfc: make TSO a datapath-dependent feature

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
This commit is contained in:
Andrew Rybchenko 2017-03-20 10:15:16 +00:00 committed by Ferruh Yigit
parent 45cbb96c06
commit 7a4d44a639
2 changed files with 6 additions and 1 deletions

View File

@ -118,6 +118,7 @@ struct sfc_dp_tx {
unsigned int features;
#define SFC_DP_TX_FEAT_VLAN_INSERT 0x1
#define SFC_DP_TX_FEAT_TSO 0x2
sfc_dp_tx_qcreate_t *qcreate;
sfc_dp_tx_qdestroy_t *qdestroy;
sfc_dp_tx_qstart_t *qstart;

View File

@ -293,6 +293,9 @@ sfc_tx_init(struct sfc_adapter *sa)
goto fail_tx_dma_desc_boundary;
}
if (~sa->dp_tx->features & SFC_DP_TX_FEAT_TSO)
sa->tso = B_FALSE;
rc = sfc_tx_check_mode(sa, &dev_conf->txmode);
if (rc != 0)
goto fail_check_mode;
@ -929,7 +932,8 @@ struct sfc_dp_tx sfc_efx_tx = {
.type = SFC_DP_TX,
.hw_fw_caps = 0,
},
.features = SFC_DP_TX_FEAT_VLAN_INSERT,
.features = SFC_DP_TX_FEAT_VLAN_INSERT |
SFC_DP_TX_FEAT_TSO,
.qcreate = sfc_efx_tx_qcreate,
.qdestroy = sfc_efx_tx_qdestroy,
.qstart = sfc_efx_tx_qstart,