• Thomas Petazzoni's avatar
    net: mvpp2: add and use accessors for TX/RX descriptors · ac3dd277
    Thomas Petazzoni authored
    The PPv2.2 IP has a different TX and RX descriptor layout compared to
    PPv2.1. In order to prepare for the introduction of PPv2.2 support in
    mvpp2, this commit adds accessors for the different fields of the TX
    and RX descriptors, and changes the code to use them.
    
    For now, the mvpp2_port argument passed to the accessors is not used,
    but it will be used in follow-up to update the descriptor according to
    the version of the IP being used.
    
    Apart from the mechanical changes to use the newly introduced
    accessors, a few other changes, needed to use the accessors, are made:
    
     - The mvpp2_txq_inc_put() function now takes a mvpp2_port as first
       argument, as it is needed to use the accessors.
    
     - Similarly, the mvpp2_bm_cookie_build() gains a mvpp2_port first
       argument, for the same reason.
    
     - In mvpp2_rx_error(), instead of accessing the RX descriptor in each
       case of the switch, we introduce a local variable to store the
       packet size.
    
     - In mvpp2_tx_frag_process() and mvpp2_tx() instead of accessing the
       packet size from the TX descriptor, we use the actual value
       available in the function, which is used to set the TX descriptor
       packet size a few lines before.
    Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ac3dd277
mvpp2.c 180 KB