• Michael Chan's avatar
    bnxt_en: Refactor rx SKB function. · 6bb19474
    Michael Chan authored
    Minor refactoring of bnxt_rx_skb() so that it can easily be replaced by
    a new function that handles packets in a single page.  Also, use a
    function pointer bp->rx_skb_func() to switch to a new function when
    we add the new mode in the next patch.
    
    Add a new field data_ptr that points to the packet data in the
    bnxt_sw_rx_bd structure.  The original data field is changed to void
    pointer so that it can either hold the kmalloc'ed data or a page
    pointer.
    
    The last parameter of bnxt_rx_skb() which was the length parameter is
    changed to include the payload offset of the packet in the upper 16 bit.
    The offset is needed to support the rx page mode and is not used in
    this existing function.
    
    v3: Added a new data_ptr parameter to bp->rx_skb_func().  The caller
    has the option to modify the starting address of the packet.  This
    will be needed when XDP with headroom support is added.
    
    v2: Changed the name of the last parameter to offset_and_len to make the
    code more clear.
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6bb19474
bnxt.c 191 KB