Skip to content

Commit 6ed0e08

Browse files
hkallweitdavem330
authored andcommitted
r8169: remove jumbo_tx_csum from chip config struct
According to the chip configuration entries only RTL8169 (ver <= 06) supports tx checksumming for jumbo packets. By the way: constant JUMBO_1K is a little misleading because it refers to the standard packet size and not to a jumbo packet size. By implementing this rule we can get rid of configuring tx checksumming support per chip type. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent c8d48d9 commit 6ed0e08

File tree

1 file changed

+54
-79
lines changed
  • drivers/net/ethernet/realtek

1 file changed

+54
-79
lines changed

drivers/net/ethernet/realtek/r8169.c

Lines changed: 54 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -171,148 +171,123 @@ enum rtl_tx_desc_version {
171171
#define JUMBO_7K (7*1024 - ETH_HLEN - 2)
172172
#define JUMBO_9K (9*1024 - ETH_HLEN - 2)
173173

174-
#define _R(NAME,TD,FW,SZ,B) { \
174+
#define _R(NAME,TD,FW,SZ) { \
175175
.name = NAME, \
176176
.txd_version = TD, \
177177
.fw_name = FW, \
178178
.jumbo_max = SZ, \
179-
.jumbo_tx_csum = B \
180179
}
181180

182181
static const struct {
183182
const char *name;
184183
enum rtl_tx_desc_version txd_version;
185184
const char *fw_name;
186185
u16 jumbo_max;
187-
bool jumbo_tx_csum;
188186
} rtl_chip_infos[] = {
189187
/* PCI devices. */
190188
[RTL_GIGA_MAC_VER_01] =
191-
_R("RTL8169", RTL_TD_0, NULL, JUMBO_7K, true),
189+
_R("RTL8169", RTL_TD_0, NULL, JUMBO_7K),
192190
[RTL_GIGA_MAC_VER_02] =
193-
_R("RTL8169s", RTL_TD_0, NULL, JUMBO_7K, true),
191+
_R("RTL8169s", RTL_TD_0, NULL, JUMBO_7K),
194192
[RTL_GIGA_MAC_VER_03] =
195-
_R("RTL8110s", RTL_TD_0, NULL, JUMBO_7K, true),
193+
_R("RTL8110s", RTL_TD_0, NULL, JUMBO_7K),
196194
[RTL_GIGA_MAC_VER_04] =
197-
_R("RTL8169sb/8110sb", RTL_TD_0, NULL, JUMBO_7K, true),
195+
_R("RTL8169sb/8110sb", RTL_TD_0, NULL, JUMBO_7K),
198196
[RTL_GIGA_MAC_VER_05] =
199-
_R("RTL8169sc/8110sc", RTL_TD_0, NULL, JUMBO_7K, true),
197+
_R("RTL8169sc/8110sc", RTL_TD_0, NULL, JUMBO_7K),
200198
[RTL_GIGA_MAC_VER_06] =
201-
_R("RTL8169sc/8110sc", RTL_TD_0, NULL, JUMBO_7K, true),
199+
_R("RTL8169sc/8110sc", RTL_TD_0, NULL, JUMBO_7K),
202200
/* PCI-E devices. */
203201
[RTL_GIGA_MAC_VER_07] =
204-
_R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K, true),
202+
_R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K),
205203
[RTL_GIGA_MAC_VER_08] =
206-
_R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K, true),
204+
_R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K),
207205
[RTL_GIGA_MAC_VER_09] =
208-
_R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K, true),
206+
_R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K),
209207
[RTL_GIGA_MAC_VER_10] =
210-
_R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K, true),
208+
_R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K),
211209
[RTL_GIGA_MAC_VER_11] =
212-
_R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K, false),
210+
_R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K),
213211
[RTL_GIGA_MAC_VER_12] =
214-
_R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K, false),
212+
_R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K),
215213
[RTL_GIGA_MAC_VER_13] =
216-
_R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K, true),
214+
_R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K),
217215
[RTL_GIGA_MAC_VER_14] =
218-
_R("RTL8100e", RTL_TD_0, NULL, JUMBO_1K, true),
216+
_R("RTL8100e", RTL_TD_0, NULL, JUMBO_1K),
219217
[RTL_GIGA_MAC_VER_15] =
220-
_R("RTL8100e", RTL_TD_0, NULL, JUMBO_1K, true),
218+
_R("RTL8100e", RTL_TD_0, NULL, JUMBO_1K),
221219
[RTL_GIGA_MAC_VER_16] =
222-
_R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K, true),
220+
_R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K),
223221
[RTL_GIGA_MAC_VER_17] =
224-
_R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K, false),
222+
_R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K),
225223
[RTL_GIGA_MAC_VER_18] =
226-
_R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K, false),
224+
_R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K),
227225
[RTL_GIGA_MAC_VER_19] =
228-
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false),
226+
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K),
229227
[RTL_GIGA_MAC_VER_20] =
230-
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false),
228+
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K),
231229
[RTL_GIGA_MAC_VER_21] =
232-
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false),
230+
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K),
233231
[RTL_GIGA_MAC_VER_22] =
234-
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false),
232+
_R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K),
235233
[RTL_GIGA_MAC_VER_23] =
236-
_R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K, false),
234+
_R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K),
237235
[RTL_GIGA_MAC_VER_24] =
238-
_R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K, false),
236+
_R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K),
239237
[RTL_GIGA_MAC_VER_25] =
240-
_R("RTL8168d/8111d", RTL_TD_1, FIRMWARE_8168D_1,
241-
JUMBO_9K, false),
238+
_R("RTL8168d/8111d", RTL_TD_1, FIRMWARE_8168D_1, JUMBO_9K),
242239
[RTL_GIGA_MAC_VER_26] =
243-
_R("RTL8168d/8111d", RTL_TD_1, FIRMWARE_8168D_2,
244-
JUMBO_9K, false),
240+
_R("RTL8168d/8111d", RTL_TD_1, FIRMWARE_8168D_2, JUMBO_9K),
245241
[RTL_GIGA_MAC_VER_27] =
246-
_R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K, false),
242+
_R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K),
247243
[RTL_GIGA_MAC_VER_28] =
248-
_R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K, false),
244+
_R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K),
249245
[RTL_GIGA_MAC_VER_29] =
250-
_R("RTL8105e", RTL_TD_1, FIRMWARE_8105E_1,
251-
JUMBO_1K, true),
246+
_R("RTL8105e", RTL_TD_1, FIRMWARE_8105E_1, JUMBO_1K),
252247
[RTL_GIGA_MAC_VER_30] =
253-
_R("RTL8105e", RTL_TD_1, FIRMWARE_8105E_1,
254-
JUMBO_1K, true),
248+
_R("RTL8105e", RTL_TD_1, FIRMWARE_8105E_1, JUMBO_1K),
255249
[RTL_GIGA_MAC_VER_31] =
256-
_R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K, false),
250+
_R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K),
257251
[RTL_GIGA_MAC_VER_32] =
258-
_R("RTL8168e/8111e", RTL_TD_1, FIRMWARE_8168E_1,
259-
JUMBO_9K, false),
252+
_R("RTL8168e/8111e", RTL_TD_1, FIRMWARE_8168E_1, JUMBO_9K),
260253
[RTL_GIGA_MAC_VER_33] =
261-
_R("RTL8168e/8111e", RTL_TD_1, FIRMWARE_8168E_2,
262-
JUMBO_9K, false),
254+
_R("RTL8168e/8111e", RTL_TD_1, FIRMWARE_8168E_2, JUMBO_9K),
263255
[RTL_GIGA_MAC_VER_34] =
264-
_R("RTL8168evl/8111evl",RTL_TD_1, FIRMWARE_8168E_3,
265-
JUMBO_9K, false),
256+
_R("RTL8168evl/8111evl",RTL_TD_1, FIRMWARE_8168E_3, JUMBO_9K),
266257
[RTL_GIGA_MAC_VER_35] =
267-
_R("RTL8168f/8111f", RTL_TD_1, FIRMWARE_8168F_1,
268-
JUMBO_9K, false),
258+
_R("RTL8168f/8111f", RTL_TD_1, FIRMWARE_8168F_1, JUMBO_9K),
269259
[RTL_GIGA_MAC_VER_36] =
270-
_R("RTL8168f/8111f", RTL_TD_1, FIRMWARE_8168F_2,
271-
JUMBO_9K, false),
260+
_R("RTL8168f/8111f", RTL_TD_1, FIRMWARE_8168F_2, JUMBO_9K),
272261
[RTL_GIGA_MAC_VER_37] =
273-
_R("RTL8402", RTL_TD_1, FIRMWARE_8402_1,
274-
JUMBO_1K, true),
262+
_R("RTL8402", RTL_TD_1, FIRMWARE_8402_1, JUMBO_1K),
275263
[RTL_GIGA_MAC_VER_38] =
276-
_R("RTL8411", RTL_TD_1, FIRMWARE_8411_1,
277-
JUMBO_9K, false),
264+
_R("RTL8411", RTL_TD_1, FIRMWARE_8411_1, JUMBO_9K),
278265
[RTL_GIGA_MAC_VER_39] =
279-
_R("RTL8106e", RTL_TD_1, FIRMWARE_8106E_1,
280-
JUMBO_1K, true),
266+
_R("RTL8106e", RTL_TD_1, FIRMWARE_8106E_1, JUMBO_1K),
281267
[RTL_GIGA_MAC_VER_40] =
282-
_R("RTL8168g/8111g", RTL_TD_1, FIRMWARE_8168G_2,
283-
JUMBO_9K, false),
268+
_R("RTL8168g/8111g", RTL_TD_1, FIRMWARE_8168G_2, JUMBO_9K),
284269
[RTL_GIGA_MAC_VER_41] =
285-
_R("RTL8168g/8111g", RTL_TD_1, NULL, JUMBO_9K, false),
270+
_R("RTL8168g/8111g", RTL_TD_1, NULL, JUMBO_9K),
286271
[RTL_GIGA_MAC_VER_42] =
287-
_R("RTL8168g/8111g", RTL_TD_1, FIRMWARE_8168G_3,
288-
JUMBO_9K, false),
272+
_R("RTL8168g/8111g", RTL_TD_1, FIRMWARE_8168G_3, JUMBO_9K),
289273
[RTL_GIGA_MAC_VER_43] =
290-
_R("RTL8106e", RTL_TD_1, FIRMWARE_8106E_2,
291-
JUMBO_1K, true),
274+
_R("RTL8106e", RTL_TD_1, FIRMWARE_8106E_2, JUMBO_1K),
292275
[RTL_GIGA_MAC_VER_44] =
293-
_R("RTL8411", RTL_TD_1, FIRMWARE_8411_2,
294-
JUMBO_9K, false),
276+
_R("RTL8411", RTL_TD_1, FIRMWARE_8411_2, JUMBO_9K),
295277
[RTL_GIGA_MAC_VER_45] =
296-
_R("RTL8168h/8111h", RTL_TD_1, FIRMWARE_8168H_1,
297-
JUMBO_9K, false),
278+
_R("RTL8168h/8111h", RTL_TD_1, FIRMWARE_8168H_1, JUMBO_9K),
298279
[RTL_GIGA_MAC_VER_46] =
299-
_R("RTL8168h/8111h", RTL_TD_1, FIRMWARE_8168H_2,
300-
JUMBO_9K, false),
280+
_R("RTL8168h/8111h", RTL_TD_1, FIRMWARE_8168H_2, JUMBO_9K),
301281
[RTL_GIGA_MAC_VER_47] =
302-
_R("RTL8107e", RTL_TD_1, FIRMWARE_8107E_1,
303-
JUMBO_1K, false),
282+
_R("RTL8107e", RTL_TD_1, FIRMWARE_8107E_1, JUMBO_1K),
304283
[RTL_GIGA_MAC_VER_48] =
305-
_R("RTL8107e", RTL_TD_1, FIRMWARE_8107E_2,
306-
JUMBO_1K, false),
284+
_R("RTL8107e", RTL_TD_1, FIRMWARE_8107E_2, JUMBO_1K),
307285
[RTL_GIGA_MAC_VER_49] =
308-
_R("RTL8168ep/8111ep", RTL_TD_1, NULL,
309-
JUMBO_9K, false),
286+
_R("RTL8168ep/8111ep", RTL_TD_1, NULL, JUMBO_9K),
310287
[RTL_GIGA_MAC_VER_50] =
311-
_R("RTL8168ep/8111ep", RTL_TD_1, NULL,
312-
JUMBO_9K, false),
288+
_R("RTL8168ep/8111ep", RTL_TD_1, NULL, JUMBO_9K),
313289
[RTL_GIGA_MAC_VER_51] =
314-
_R("RTL8168ep/8111ep", RTL_TD_1, NULL,
315-
JUMBO_9K, false),
290+
_R("RTL8168ep/8111ep", RTL_TD_1, NULL, JUMBO_9K),
316291
};
317292
#undef _R
318293

@@ -1954,7 +1929,7 @@ static netdev_features_t rtl8169_fix_features(struct net_device *dev,
19541929
features &= ~NETIF_F_ALL_TSO;
19551930

19561931
if (dev->mtu > JUMBO_1K &&
1957-
!rtl_chip_infos[tp->mac_version].jumbo_tx_csum)
1932+
tp->mac_version > RTL_GIGA_MAC_VER_06)
19581933
features &= ~NETIF_F_IP_CSUM;
19591934

19601935
return features;
@@ -8338,7 +8313,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
83388313
netif_info(tp, probe, dev, "jumbo features [frames: %d bytes, "
83398314
"tx checksumming: %s]\n",
83408315
rtl_chip_infos[chipset].jumbo_max,
8341-
rtl_chip_infos[chipset].jumbo_tx_csum ? "ok" : "ko");
8316+
tp->mac_version <= RTL_GIGA_MAC_VER_06 ? "ok" : "ko");
83428317
}
83438318

83448319
if (r8168_check_dash(tp))

0 commit comments

Comments
 (0)