hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/net/ethernet/intel/e1000e/netdev.c
....@@ -5294,31 +5294,6 @@
52945294 ew32(TARC(0), tarc0);
52955295 }
52965296
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
-
53225297 /* enable transmits in the hardware, need to do this
53235298 * after setting TARC(0)
53245299 */
....@@ -7477,6 +7452,32 @@
74777452 NETIF_F_RXCSUM |
74787453 NETIF_F_HW_CSUM);
74797454
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
+
74807481 /* Set user-changeable features (subset of all device features) */
74817482 netdev->hw_features = netdev->features;
74827483 netdev->hw_features |= NETIF_F_RXFCS;