| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /**************************************************************************** |
|---|
| 2 | 3 | * Driver for Solarflare network controllers and boards |
|---|
| 3 | 4 | * Copyright 2005-2006 Fen Systems Ltd. |
|---|
| 4 | 5 | * 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. |
|---|
| 9 | 6 | */ |
|---|
| 10 | 7 | |
|---|
| 11 | 8 | #ifndef EFX_BITFIELD_H |
|---|
| .. | .. |
|---|
| 285 | 282 | field7, value7, \ |
|---|
| 286 | 283 | field8, value8, \ |
|---|
| 287 | 284 | field9, value9, \ |
|---|
| 288 | | - field10, value10) \ |
|---|
| 285 | + field10, value10, \ |
|---|
| 286 | + field11, value11, \ |
|---|
| 287 | + field12, value12, \ |
|---|
| 288 | + field13, value13) \ |
|---|
| 289 | 289 | (EFX_INSERT_FIELD_NATIVE((min), (max), field1, (value1)) | \ |
|---|
| 290 | 290 | EFX_INSERT_FIELD_NATIVE((min), (max), field2, (value2)) | \ |
|---|
| 291 | 291 | EFX_INSERT_FIELD_NATIVE((min), (max), field3, (value3)) | \ |
|---|
| .. | .. |
|---|
| 295 | 295 | EFX_INSERT_FIELD_NATIVE((min), (max), field7, (value7)) | \ |
|---|
| 296 | 296 | EFX_INSERT_FIELD_NATIVE((min), (max), field8, (value8)) | \ |
|---|
| 297 | 297 | 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))) |
|---|
| 299 | 302 | |
|---|
| 300 | 303 | #define EFX_INSERT_FIELDS64(...) \ |
|---|
| 301 | 304 | cpu_to_le64(EFX_INSERT_FIELDS_NATIVE(__VA_ARGS__)) |
|---|
| .. | .. |
|---|
| 337 | 340 | #endif |
|---|
| 338 | 341 | |
|---|
| 339 | 342 | /* 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__) |
|---|
| 341 | 350 | #define EFX_POPULATE_OWORD_9(oword, ...) \ |
|---|
| 342 | 351 | EFX_POPULATE_OWORD_10(oword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) |
|---|
| 343 | 352 | #define EFX_POPULATE_OWORD_8(oword, ...) \ |
|---|
| .. | .. |
|---|
| 366 | 375 | EFX_DWORD_3, 0xffffffff) |
|---|
| 367 | 376 | |
|---|
| 368 | 377 | /* 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__) |
|---|
| 370 | 385 | #define EFX_POPULATE_QWORD_9(qword, ...) \ |
|---|
| 371 | 386 | EFX_POPULATE_QWORD_10(qword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) |
|---|
| 372 | 387 | #define EFX_POPULATE_QWORD_8(qword, ...) \ |
|---|
| .. | .. |
|---|
| 393 | 408 | EFX_DWORD_1, 0xffffffff) |
|---|
| 394 | 409 | |
|---|
| 395 | 410 | /* 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__) |
|---|
| 397 | 418 | #define EFX_POPULATE_DWORD_9(dword, ...) \ |
|---|
| 398 | 419 | EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) |
|---|
| 399 | 420 | #define EFX_POPULATE_DWORD_8(dword, ...) \ |
|---|