• Sameeh Jubran's avatar
    net: ena: add handling of llq max tx burst size · 05d62ca2
    Sameeh Jubran authored
    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: default avatarArthur Kiyanovski <akiyano@amazon.com>
    Signed-off-by: default avatarSameeh Jubran <sameehj@amazon.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    05d62ca2
ena_netdev.c 97 KB