summaryrefslogtreecommitdiffstats
path: root/drivers/net/vmxnet3/vmxnet3_int.h
diff options
context:
space:
mode:
authorRonak Doshi <doshir@vmware.com>2022-06-07 20:23:49 -0700
committerPaolo Abeni <pabeni@redhat.com>2022-06-09 12:42:01 +0200
commit2c5a5748105a6bb901579d365c6f93e79f282b69 (patch)
tree5fcfd8fb5e8d20181ad2531c10ac8a7883934862 /drivers/net/vmxnet3/vmxnet3_int.h
parent543fb67405410cc548a72d7a9a4087688d2f56ac (diff)
downloadlinux-2c5a5748105a6bb901579d365c6f93e79f282b69.tar.gz
linux-2c5a5748105a6bb901579d365c6f93e79f282b69.tar.bz2
linux-2c5a5748105a6bb901579d365c6f93e79f282b69.zip
vmxnet3: add support for out of order rx completion
Currently, vmxnet3 processes rx completions in-order i.e. no out of order completion descriptor is expected. With UPT, if hardware supports LRO, then hardware can report out of order rx completions. This patch enhances vmxnet3 to add this support. This supports gets effective only when the corresponding feature bit is set. Also, minor enhancements are done for performance. Signed-off-by: Ronak Doshi <doshir@vmware.com> Acked-by: Guolin Yang <gyang@vmware.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/vmxnet3/vmxnet3_int.h')
-rw-r--r--drivers/net/vmxnet3/vmxnet3_int.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/vmxnet3/vmxnet3_int.h b/drivers/net/vmxnet3/vmxnet3_int.h
index a4f832f0ad5b..5b495ef253e8 100644
--- a/drivers/net/vmxnet3/vmxnet3_int.h
+++ b/drivers/net/vmxnet3/vmxnet3_int.h
@@ -136,6 +136,7 @@ struct vmxnet3_cmd_ring {
u32 next2fill;
u32 next2comp;
u8 gen;
+ u8 isOutOfOrder;
dma_addr_t basePA;
};
@@ -260,9 +261,13 @@ enum vmxnet3_rx_buf_type {
VMXNET3_RX_BUF_PAGE = 2
};
+#define VMXNET3_RXD_COMP_PENDING 0
+#define VMXNET3_RXD_COMP_DONE 1
+
struct vmxnet3_rx_buf_info {
enum vmxnet3_rx_buf_type buf_type;
u16 len;
+ u8 comp_state;
union {
struct sk_buff *skb;
struct page *page;