• Sergei Shtylyov's avatar
    ravb: minimize TX data copying · 2f45d190
    Sergei Shtylyov authored
    Renesas Ethernet AVB controller requires that all data are aligned on 4-byte
    boundary.  While it's  easily achievable for  the RX  data with  the help of
    skb_reserve() (we even align on 128-byte boundary as recommended by the manual),
    we  can't  do the same with the TX data, and it always comes  unaligned from
    the networking core. Originally we solved it an easy way, copying all packet
    to  a  preallocated  aligned buffer; however, it's enough to copy only up to
    3 first bytes from each packet, doing the transfer using 2 TX descriptors
    instead of just 1. Here's an implementation of the new  TX algorithm that
    significantly reduces the driver's memory requirements.
    Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2f45d190
ravb_main.c 46.4 KB