|
24 | 24 |
|
25 | 25 | #define FBNIC_CLOCK_FREQ (600 * (1000 * 1000))
|
26 | 26 |
|
| 27 | +/* Transmit Work Descriptor Format */ |
| 28 | +/* Length, Type, Offset Masks and Shifts */ |
| 29 | +#define FBNIC_TWD_L2_HLEN_MASK DESC_GENMASK(5, 0) |
| 30 | + |
| 31 | +#define FBNIC_TWD_L3_TYPE_MASK DESC_GENMASK(7, 6) |
| 32 | +enum { |
| 33 | + FBNIC_TWD_L3_TYPE_OTHER = 0, |
| 34 | + FBNIC_TWD_L3_TYPE_IPV4 = 1, |
| 35 | + FBNIC_TWD_L3_TYPE_IPV6 = 2, |
| 36 | + FBNIC_TWD_L3_TYPE_V6V6 = 3, |
| 37 | +}; |
| 38 | + |
| 39 | +#define FBNIC_TWD_L3_OHLEN_MASK DESC_GENMASK(15, 8) |
| 40 | +#define FBNIC_TWD_L3_IHLEN_MASK DESC_GENMASK(23, 16) |
| 41 | + |
| 42 | +enum { |
| 43 | + FBNIC_TWD_L4_TYPE_OTHER = 0, |
| 44 | + FBNIC_TWD_L4_TYPE_TCP = 1, |
| 45 | + FBNIC_TWD_L4_TYPE_UDP = 2, |
| 46 | +}; |
| 47 | + |
| 48 | +#define FBNIC_TWD_CSUM_OFFSET_MASK DESC_GENMASK(27, 24) |
| 49 | +#define FBNIC_TWD_L4_HLEN_MASK DESC_GENMASK(31, 28) |
| 50 | + |
| 51 | +/* Flags and Type */ |
| 52 | +#define FBNIC_TWD_L4_TYPE_MASK DESC_GENMASK(33, 32) |
| 53 | +#define FBNIC_TWD_FLAG_REQ_TS DESC_BIT(34) |
| 54 | +#define FBNIC_TWD_FLAG_REQ_LSO DESC_BIT(35) |
| 55 | +#define FBNIC_TWD_FLAG_REQ_CSO DESC_BIT(36) |
| 56 | +#define FBNIC_TWD_FLAG_REQ_COMPLETION DESC_BIT(37) |
| 57 | +#define FBNIC_TWD_FLAG_DEST_MAC DESC_BIT(43) |
| 58 | +#define FBNIC_TWD_FLAG_DEST_BMC DESC_BIT(44) |
| 59 | +#define FBNIC_TWD_FLAG_DEST_FW DESC_BIT(45) |
| 60 | +#define FBNIC_TWD_TYPE_MASK DESC_GENMASK(47, 46) |
| 61 | +enum { |
| 62 | + FBNIC_TWD_TYPE_META = 0, |
| 63 | + FBNIC_TWD_TYPE_OPT_META = 1, |
| 64 | + FBNIC_TWD_TYPE_AL = 2, |
| 65 | + FBNIC_TWD_TYPE_LAST_AL = 3, |
| 66 | +}; |
| 67 | + |
| 68 | +/* MSS and Completion Req */ |
| 69 | +#define FBNIC_TWD_MSS_MASK DESC_GENMASK(61, 48) |
| 70 | + |
| 71 | +#define FBNIC_TWD_TS_MASK DESC_GENMASK(39, 0) |
| 72 | +#define FBNIC_TWD_ADDR_MASK DESC_GENMASK(45, 0) |
| 73 | +#define FBNIC_TWD_LEN_MASK DESC_GENMASK(63, 48) |
| 74 | + |
| 75 | +/* Tx Completion Descriptor Format */ |
| 76 | +#define FBNIC_TCD_TYPE0_HEAD0_MASK DESC_GENMASK(15, 0) |
| 77 | +#define FBNIC_TCD_TYPE0_HEAD1_MASK DESC_GENMASK(31, 16) |
| 78 | + |
| 79 | +#define FBNIC_TCD_TYPE1_TS_MASK DESC_GENMASK(39, 0) |
| 80 | + |
| 81 | +#define FBNIC_TCD_STATUS_MASK DESC_GENMASK(59, 48) |
| 82 | +#define FBNIC_TCD_STATUS_TS_INVALID DESC_BIT(48) |
| 83 | +#define FBNIC_TCD_STATUS_ILLEGAL_TS_REQ DESC_BIT(49) |
| 84 | +#define FBNIC_TCD_TWQ1 DESC_BIT(60) |
| 85 | +#define FBNIC_TCD_TYPE_MASK DESC_GENMASK(62, 61) |
| 86 | +enum { |
| 87 | + FBNIC_TCD_TYPE_0 = 0, |
| 88 | + FBNIC_TCD_TYPE_1 = 1, |
| 89 | +}; |
| 90 | + |
| 91 | +#define FBNIC_TCD_DONE DESC_BIT(63) |
| 92 | + |
27 | 93 | /* Rx Buffer Descriptor Format
|
28 | 94 | *
|
29 | 95 | * The layout of this can vary depending on the page size of the system.
|
|
0 commit comments