.. | .. |
---|
5294 | 5294 | ew32(TARC(0), tarc0); |
---|
5295 | 5295 | } |
---|
5296 | 5296 | |
---|
5297 | | - /* disable TSO for pcie and 10/100 speeds, to avoid |
---|
5298 | | - * some hardware issues |
---|
5299 | | - */ |
---|
5300 | | - if (!(adapter->flags & FLAG_TSO_FORCE)) { |
---|
5301 | | - switch (adapter->link_speed) { |
---|
5302 | | - case SPEED_10: |
---|
5303 | | - case SPEED_100: |
---|
5304 | | - e_info("10/100 speed: disabling TSO\n"); |
---|
5305 | | - netdev->features &= ~NETIF_F_TSO; |
---|
5306 | | - netdev->features &= ~NETIF_F_TSO6; |
---|
5307 | | - break; |
---|
5308 | | - case SPEED_1000: |
---|
5309 | | - netdev->features |= NETIF_F_TSO; |
---|
5310 | | - netdev->features |= NETIF_F_TSO6; |
---|
5311 | | - break; |
---|
5312 | | - default: |
---|
5313 | | - /* oops */ |
---|
5314 | | - break; |
---|
5315 | | - } |
---|
5316 | | - if (hw->mac.type == e1000_pch_spt) { |
---|
5317 | | - netdev->features &= ~NETIF_F_TSO; |
---|
5318 | | - netdev->features &= ~NETIF_F_TSO6; |
---|
5319 | | - } |
---|
5320 | | - } |
---|
5321 | | - |
---|
5322 | 5297 | /* enable transmits in the hardware, need to do this |
---|
5323 | 5298 | * after setting TARC(0) |
---|
5324 | 5299 | */ |
---|
.. | .. |
---|
7477 | 7452 | NETIF_F_RXCSUM | |
---|
7478 | 7453 | NETIF_F_HW_CSUM); |
---|
7479 | 7454 | |
---|
| 7455 | + /* disable TSO for pcie and 10/100 speeds to avoid |
---|
| 7456 | + * some hardware issues and for i219 to fix transfer |
---|
| 7457 | + * speed being capped at 60% |
---|
| 7458 | + */ |
---|
| 7459 | + if (!(adapter->flags & FLAG_TSO_FORCE)) { |
---|
| 7460 | + switch (adapter->link_speed) { |
---|
| 7461 | + case SPEED_10: |
---|
| 7462 | + case SPEED_100: |
---|
| 7463 | + e_info("10/100 speed: disabling TSO\n"); |
---|
| 7464 | + netdev->features &= ~NETIF_F_TSO; |
---|
| 7465 | + netdev->features &= ~NETIF_F_TSO6; |
---|
| 7466 | + break; |
---|
| 7467 | + case SPEED_1000: |
---|
| 7468 | + netdev->features |= NETIF_F_TSO; |
---|
| 7469 | + netdev->features |= NETIF_F_TSO6; |
---|
| 7470 | + break; |
---|
| 7471 | + default: |
---|
| 7472 | + /* oops */ |
---|
| 7473 | + break; |
---|
| 7474 | + } |
---|
| 7475 | + if (hw->mac.type == e1000_pch_spt) { |
---|
| 7476 | + netdev->features &= ~NETIF_F_TSO; |
---|
| 7477 | + netdev->features &= ~NETIF_F_TSO6; |
---|
| 7478 | + } |
---|
| 7479 | + } |
---|
| 7480 | + |
---|
7480 | 7481 | /* Set user-changeable features (subset of all device features) */ |
---|
7481 | 7482 | netdev->hw_features = netdev->features; |
---|
7482 | 7483 | netdev->hw_features |= NETIF_F_RXFCS; |
---|