diff options
author | Arthur Kiyanovski <akiyano@amazon.com> | 2020-07-21 16:38:11 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-21 15:59:04 -0700 |
commit | 0e3a3f6dacf01cbad9ecc26149ffe8cda3137540 (patch) | |
tree | bc85c254b30af9da6b6438e87ed33e2bf1f11183 /drivers/net/ethernet/amazon/ena/ena_netdev.h | |
parent | c29efeae37077f4bcb2ecd710fc66ca72c43ec79 (diff) | |
download | linux-0e3a3f6dacf01cbad9ecc26149ffe8cda3137540.tar.gz linux-0e3a3f6dacf01cbad9ecc26149ffe8cda3137540.tar.bz2 linux-0e3a3f6dacf01cbad9ecc26149ffe8cda3137540.zip |
net: ena: support new LLQ acceleration mode
New devices add a new hardware acceleration engine, which adds some
restrictions to the driver.
Metadata descriptor must be present for each packet and the maximum
burst size between two doorbells is now limited to a number
advertised by the device.
This patch adds:
1. A handshake protocol between the driver and the device, so the
device will enable the accelerated queues only when both sides
support it.
2. The driver support for the new acceleration engine:
2.1. Send metadata descriptor for each Tx packet.
2.2. Limit the number of packets sent between doorbells.(*)
(*) A previous driver implementation of this feature was comitted in
commit 05d62ca218f8 ("net: ena: add handling of llq max tx burst size")
however the design of the interface between the driver and device
changed since then. This change is reflected in this commit.
Signed-off-by: Netanel Belgazal <netanel@amazon.com>
Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amazon/ena/ena_netdev.h')
-rw-r--r-- | drivers/net/ethernet/amazon/ena/ena_netdev.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.h b/drivers/net/ethernet/amazon/ena/ena_netdev.h index 89304b403995..0c8504006247 100644 --- a/drivers/net/ethernet/amazon/ena/ena_netdev.h +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.h @@ -298,6 +298,7 @@ struct ena_ring { u8 tx_max_header_size; bool first_interrupt; + bool disable_meta_caching; u16 no_interrupt_event_cnt; /* cpu for TPH */ @@ -399,6 +400,7 @@ struct ena_adapter { bool wd_state; bool dev_up_before_reset; + bool disable_meta_caching; unsigned long last_keep_alive_jiffies; struct u64_stats_sync syncp; |