tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 9cf5f60a8d57b2498fb9f9223825d6933b2d2fd5 commit: 656d579e9c4f700f9f7debda0c2541f34fc39a35 [2544/2544] drivers: initial support for rnpgbevf drivers from Mucse Technology config: x86_64-randconfig-123-20241205 (https://download.01.org/0day-ci/archive/20241206/202412062204.1rdIvvRJ-lkp@i...) compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241206/202412062204.1rdIvvRJ-lkp@i...)
If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202412062204.1rdIvvRJ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_mbx.c: note: in included file (through include/linux/string.h, include/linux/uuid.h, include/linux/mod_devicetable.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_mbx.c: note: in included file (through include/linux/kernel.h, include/asm-generic/bug.h, arch/x86/include/asm/bug.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_mbx.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/asm-generic/bug.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_mbx.c: note: in included file (through drivers/net/ethernet/mucse/rnpgbevf/vf.h, drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_mbx.h):
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:64:39: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:65:40: sparse: sparse: invalid bitfield specifier for type restricted __le16. -- drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_sysfs.c: note: in included file (through include/linux/kernel.h, include/linux/list.h, include/linux/module.h): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_sysfs.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/linux/list.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_sysfs.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_sysfs.c: note: in included file (through drivers/net/ethernet/mucse/rnpgbevf/vf.h, drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf.h):
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:64:39: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:65:40: sparse: sparse: invalid bitfield specifier for type restricted __le16. -- drivers/net/ethernet/mucse/rnpgbevf/vf.c: note: in included file (through include/linux/string.h, include/linux/uuid.h, include/linux/mod_devicetable.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/vf.c: note: in included file (through include/linux/kernel.h, include/asm-generic/bug.h, arch/x86/include/asm/bug.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/vf.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/asm-generic/bug.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/vf.c: note: in included file (through drivers/net/ethernet/mucse/rnpgbevf/vf.h):
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:64:39: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:65:40: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/vf.c:236:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpgbevf/vf.c:236:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/vf.c:236:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/vf.c:238:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/vf.c:238:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/vf.c:238:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/vf.c:239:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/vf.c:239:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/vf.c:239:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/vf.c:240:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/vf.c:240:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/vf.c:240:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/vf.c:241:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/vf.c:241:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/vf.c:241:9: sparse: void * -- drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_ethtool.c: note: in included file (through include/linux/kernel.h, include/linux/list.h, include/linux/module.h): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_ethtool.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/linux/list.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_ethtool.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_ethtool.c: note: in included file (through drivers/net/ethernet/mucse/rnpgbevf/vf.h, drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf.h):
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:64:39: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:65:40: sparse: sparse: invalid bitfield specifier for type restricted __le16. -- drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c: note: in included file (through include/linux/kernel.h, include/linux/list.h, include/linux/module.h): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c: note: in included file (through include/linux/printk.h, include/linux/kernel.h, include/linux/list.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c: note: in included file (through include/linux/string.h, include/linux/bitmap.h, include/linux/cpumask.h, ...): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c: note: in included file (through include/linux/filter.h, include/net/sock.h, include/linux/tcp.h): /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: Expected ) in function call /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:44: sparse: sparse: got < /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:43: sparse: sparse: not a function <noident> /opt/cross/clang-ab51eccf88/lib/clang/19/include/stdarg.h:22:22: sparse: sparse: bad constant expression type drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c: note: in included file (through drivers/net/ethernet/mucse/rnpgbevf/vf.h, drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf.h):
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:64:39: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h:65:40: sparse: sparse: invalid bitfield specifier for type restricted __le16.
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:111:9: sparse: sparse: incompatible types in conditional expression (different types):
drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:111:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:111:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:1969:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:1969:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:1969:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:2026:17: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:2026:17: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:2026:17: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3163:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3163:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3163:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3206:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3206:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3206:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3283:25: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3283:25: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3283:25: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3343:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3343:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3343:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3347:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3347:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3347:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3424:17: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3424:17: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3424:17: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3466:17: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3466:17: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:3466:17: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4031:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4031:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4031:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4035:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4035:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4035:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4133:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4133:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4133:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4137:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4137:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4137:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4277:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4277:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4277:9: sparse: void * drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4367:9: sparse: sparse: incompatible types in conditional expression (different types): drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4367:9: sparse: void drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_main.c:4367:9: sparse: void *
vim +64 drivers/net/ethernet/mucse/rnpgbevf/rnpgbevf_defines.h
51 52 /* Transmit Descriptor - Advanced */ 53 struct rnp_tx_desc { 54 union { 55 __le64 pkt_addr; /* Packet buffer address */ 56 struct { 57 __le32 adr_lo; 58 __le32 adr_hi; 59 }; 60 }; 61 __le16 blen; 62 union { 63 struct {
64 __le16 ip_len : 9;
65 __le16 mac_len : 7; 66 }; 67 __le16 mac_ip_len; /* used only in tso & csum */ 68 }; 69 __le16 vlan; 70 #define RNPGBE_TXD_FLAGS_VLAN_PRIO_MASK 0xe000 71 #define RNPGBE_TX_FLAGS_VLAN_PRIO_SHIFT 13 72 #define RNPGBE_TX_FLAGS_VLAN_CFI_SHIFT 12 73 74 __le16 cmd; 75 #define RNPGBE_TXD_VLAN_VALID (0x1 << 15) 76 #define RNPGBE_TXD_SVLAN_TYPE (0x1 << 9) 77 #define RNPGBE_TXD_VLAN_CTRL_NOP (0x00 << 13) 78 #define RNPGBE_TXD_VLAN_CTRL_RM_VLAN (0x01 << 13) 79 #define RNPGBE_TXD_VLAN_CTRL_INSERT_VLAN (0x02 << 13) 80 #define RNPGBE_TXD_L4_CSUM (0x1 << 12) 81 #define RNPGBE_TXD_IP_CSUM (0x1 << 11) 82 #define RNPGBE_TXD_TUNNEL_MASK (0x3000000) 83 #define RNPGBE_TXD_TUNNEL_VXLAN (0x01 << 8) 84 #define RNPGBE_TXD_TUNNEL_NVGRE (0x02 << 8) 85 #define RNPGBE_TXD_L4_TYPE_UDP (0x03 << 6) 86 #define RNPGBE_TXD_L4_TYPE_TCP (0x01 << 6) 87 #define RNPGBE_TXD_L4_TYPE_SCTP (0x02 << 6) 88 #define RNPGBE_TXD_FLAG_IPV4 (0x0 << 5) 89 #define RNPGBE_TXD_FLAG_IPV6 (0x1 << 5) 90 #define RNPGBE_TXD_FLAG_TSO (0x1 << 4) 91 #define RNPGBE_TXD_CMD_RS (0x1 << 2) 92 #define RNPGBE_TXD_STAT_DD (0x1 << 1) 93 #define RNPGBE_TXD_CMD_EOP (0x1 << 0) 94 } __packed; 95