• Shannon Nelson's avatar
    ionic: simplify TSO descriptor mapping · 5b039241
    Shannon Nelson authored
    One issue with the original TSO code was that it was working too
    hard to deal with skb layouts that were never going to show up,
    such as an skb->data that was longer than a single descriptor's
    length.  The other issue was trying to arrange the fragment dma
    mapping at the same time as figuring out the descriptors needed.
    There was just too much going on at the same time.
    
    Now we do the dma mapping first, which sets up the buffers with
    skb->data in buf[0] and the remaining frags in buf[1..n-1].
    Next we spread the bufs across the descriptors needed, where
    each descriptor gets up to mss number of bytes.
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5b039241
ionic_txrx.c 29 KB