• Arthur Kiyanovski's avatar
    net: ena: support new LLQ acceleration mode · 0e3a3f6d
    Arthur Kiyanovski authored
    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 05d62ca2 ("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: default avatarNetanel Belgazal <netanel@amazon.com>
    Signed-off-by: default avatarArthur Kiyanovski <akiyano@amazon.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0e3a3f6d
ena_netdev.c 124 KB