• Sunil Goutham's avatar
    net: thunderx: Fix transmit queue timeout issue · bd3ad7d3
    Sunil Goutham authored
    Transmit queue timeout issue is seen in two cases
    - Due to a race condition btw setting stop_queue at xmit()
      and checking for stopped_queue in NAPI poll routine, at times
      transmission from a SQ comes to a halt. This is fixed
      by using barriers and also added a check for SQ free descriptors,
      incase SQ is stopped and there are only CQE_RX i.e no CQE_TX.
    - Contrary to an assumption, a HW errata where HW doesn't stop transmission
      even though there are not enough CQEs available for a CQE_TX is
      not fixed in T88 pass 2.x. This results in a Qset error with
      'CQ_WR_FULL' stalling transmission. This is fixed by adjusting
      RXQ's  RED levels for CQ level such that there is always enough
      space left for CQE_TXs.
    Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bd3ad7d3
nicvf_queues.h 10.1 KB