• Michael Chan's avatar
    bnxt_en: Improve ring allocation logic. · 9899bb59
    Michael Chan authored
    Currently, the driver code makes some assumptions about the group index
    and the map index of rings.  This makes the code more difficult to
    understand and less flexible.
    
    Improve it by adding the grp_idx and map_idx fields explicitly to the
    bnxt_ring_struct as a union.  The grp_idx is initialized for each tx ring
    and rx agg ring during init. time.  We do the same for the map_idx for
    each cmpl ring.
    
    The grp_idx ties the tx ring to the ring group.  The map_idx is the
    doorbell index of the ring.  With this new infrastructure, we can change
    the ring index mapping scheme easily in the future.
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9899bb59
bnxt.c 230 KB