aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
diff options
context:
space:
mode:
authorSameeh Jubran <sameehj@amazon.com>2019-06-03 17:43:19 +0300
committerDavid S. Miller <davem@davemloft.net>2019-06-03 13:30:38 -0700
commit05d62ca218f8425c70389d0416c15bd0d455b416 (patch)
treed2da27a35202005d05f44ace04638fcc585ea0b9 /drivers/net/ethernet/amazon/ena/ena_admin_defs.h
parentnet: dsa: mv88e6xxx: make mv88e6xxx_g1_stats_wait static (diff)
downloadlinux-dev-05d62ca218f8425c70389d0416c15bd0d455b416.tar.xz
linux-dev-05d62ca218f8425c70389d0416c15bd0d455b416.zip
net: ena: add handling of llq max tx burst size
There is a maximum TX burst size that the ENA device can handle. It is exposed by the device to the driver and the driver needs to comply with it to avoid bugs. In this commit we: 1. Add ena_com_is_doorbell_needed(), which calculates the number of llq entries that will be used to hold a packet, and will return true if they exceed the number of allowed entries in a burst. If the function returns true, a doorbell needs to be invoked to send this packet in the next burst. 2. Follow the available entries in the current burst: - Every doorbell a new burst begins - With each write of an llq entry, the available entries in the current burst are decreased by 1. Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com> Signed-off-by: Sameeh Jubran <sameehj@amazon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amazon/ena/ena_admin_defs.h')
-rw-r--r--drivers/net/ethernet/amazon/ena/ena_admin_defs.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amazon/ena/ena_admin_defs.h b/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
index 9f80b73f90b1..82cff1e120f8 100644
--- a/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
+++ b/drivers/net/ethernet/amazon/ena/ena_admin_defs.h
@@ -524,6 +524,11 @@ struct ena_admin_feature_llq_desc {
/* the stride control the driver selected to use */
u16 descriptors_stride_ctrl_enabled;
+
+ /* Maximum size in bytes taken by llq entries in a single tx burst.
+ * Set to 0 when there is no such limit.
+ */
+ u32 max_tx_burst_size;
};
struct ena_admin_queue_feature_desc {