hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/net/ethernet/sfc/bitfield.h
....@@ -1,11 +1,8 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /****************************************************************************
23 * Driver for Solarflare network controllers and boards
34 * Copyright 2005-2006 Fen Systems Ltd.
45 * Copyright 2006-2013 Solarflare Communications Inc.
5
- *
6
- * This program is free software; you can redistribute it and/or modify it
7
- * under the terms of the GNU General Public License version 2 as published
8
- * by the Free Software Foundation, incorporated herein by reference.
96 */
107
118 #ifndef EFX_BITFIELD_H
....@@ -285,7 +282,10 @@
285282 field7, value7, \
286283 field8, value8, \
287284 field9, value9, \
288
- field10, value10) \
285
+ field10, value10, \
286
+ field11, value11, \
287
+ field12, value12, \
288
+ field13, value13) \
289289 (EFX_INSERT_FIELD_NATIVE((min), (max), field1, (value1)) | \
290290 EFX_INSERT_FIELD_NATIVE((min), (max), field2, (value2)) | \
291291 EFX_INSERT_FIELD_NATIVE((min), (max), field3, (value3)) | \
....@@ -295,7 +295,10 @@
295295 EFX_INSERT_FIELD_NATIVE((min), (max), field7, (value7)) | \
296296 EFX_INSERT_FIELD_NATIVE((min), (max), field8, (value8)) | \
297297 EFX_INSERT_FIELD_NATIVE((min), (max), field9, (value9)) | \
298
- EFX_INSERT_FIELD_NATIVE((min), (max), field10, (value10)))
298
+ EFX_INSERT_FIELD_NATIVE((min), (max), field10, (value10)) | \
299
+ EFX_INSERT_FIELD_NATIVE((min), (max), field11, (value11)) | \
300
+ EFX_INSERT_FIELD_NATIVE((min), (max), field12, (value12)) | \
301
+ EFX_INSERT_FIELD_NATIVE((min), (max), field13, (value13)))
299302
300303 #define EFX_INSERT_FIELDS64(...) \
301304 cpu_to_le64(EFX_INSERT_FIELDS_NATIVE(__VA_ARGS__))
....@@ -337,7 +340,13 @@
337340 #endif
338341
339342 /* Populate an octword field with various numbers of arguments */
340
-#define EFX_POPULATE_OWORD_10 EFX_POPULATE_OWORD
343
+#define EFX_POPULATE_OWORD_13 EFX_POPULATE_OWORD
344
+#define EFX_POPULATE_OWORD_12(oword, ...) \
345
+ EFX_POPULATE_OWORD_13(oword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
346
+#define EFX_POPULATE_OWORD_11(oword, ...) \
347
+ EFX_POPULATE_OWORD_12(oword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
348
+#define EFX_POPULATE_OWORD_10(oword, ...) \
349
+ EFX_POPULATE_OWORD_11(oword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
341350 #define EFX_POPULATE_OWORD_9(oword, ...) \
342351 EFX_POPULATE_OWORD_10(oword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
343352 #define EFX_POPULATE_OWORD_8(oword, ...) \
....@@ -366,7 +375,13 @@
366375 EFX_DWORD_3, 0xffffffff)
367376
368377 /* Populate a quadword field with various numbers of arguments */
369
-#define EFX_POPULATE_QWORD_10 EFX_POPULATE_QWORD
378
+#define EFX_POPULATE_QWORD_13 EFX_POPULATE_QWORD
379
+#define EFX_POPULATE_QWORD_12(qword, ...) \
380
+ EFX_POPULATE_QWORD_13(qword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
381
+#define EFX_POPULATE_QWORD_11(qword, ...) \
382
+ EFX_POPULATE_QWORD_12(qword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
383
+#define EFX_POPULATE_QWORD_10(qword, ...) \
384
+ EFX_POPULATE_QWORD_11(qword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
370385 #define EFX_POPULATE_QWORD_9(qword, ...) \
371386 EFX_POPULATE_QWORD_10(qword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
372387 #define EFX_POPULATE_QWORD_8(qword, ...) \
....@@ -393,7 +408,13 @@
393408 EFX_DWORD_1, 0xffffffff)
394409
395410 /* Populate a dword field with various numbers of arguments */
396
-#define EFX_POPULATE_DWORD_10 EFX_POPULATE_DWORD
411
+#define EFX_POPULATE_DWORD_13 EFX_POPULATE_DWORD
412
+#define EFX_POPULATE_DWORD_12(dword, ...) \
413
+ EFX_POPULATE_DWORD_13(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
414
+#define EFX_POPULATE_DWORD_11(dword, ...) \
415
+ EFX_POPULATE_DWORD_12(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
416
+#define EFX_POPULATE_DWORD_10(dword, ...) \
417
+ EFX_POPULATE_DWORD_11(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
397418 #define EFX_POPULATE_DWORD_9(dword, ...) \
398419 EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__)
399420 #define EFX_POPULATE_DWORD_8(dword, ...) \