diff options
author | Michael Chan <mchan@broadcom.com> | 2016-01-02 23:45:01 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-01-04 15:54:39 -0500 |
commit | b81a90d3028af92da61a61e2efd231a585180044 (patch) | |
tree | f8bb3c743a435fa16dcbe68cba15103d0195c6cb /drivers/net/ethernet/broadcom/bnxt/bnxt.h | |
parent | 3b2b7d9db74adb95aa0bd029298a741333eb847e (diff) | |
download | lwn-b81a90d3028af92da61a61e2efd231a585180044.tar.gz lwn-b81a90d3028af92da61a61e2efd231a585180044.zip |
bnxt_en: Re-structure ring indexing and mapping.
In order to support dedicated or shared completion rings, the ring
indexing and mapping are re-structured as below:
1. bp->grp_info[] array index is 1:1 with bp->bnapi[] array index and
completion ring index.
2. rx rings 0 to n will be mapped to completion rings 0 to n.
3. If tx and rx rings share completion rings, then tx rings 0 to m will
be mapped to completion rings 0 to m.
4. If tx and rx rings use dedicated completion rings, then tx rings 0 to
m will be mapped to completion rings n + 1 to n + m.
5. Each tx or rx ring will use the corresponding completion ring index
for doorbell mapping and MSIX mapping.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index ea2fd927442b..ec3edcc3d2b6 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -918,6 +918,8 @@ struct bnxt { int cp_nr_rings; int num_stat_ctxs; + + /* grp_info indexed by completion ring index */ struct bnxt_ring_grp_info *grp_info; struct bnxt_vnic_info *vnic_info; int nr_vnics; |