diff options
author | Merav Sicron <meravs@broadcom.com> | 2012-06-19 03:48:25 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-19 17:34:34 -0400 |
commit | a052997ea32164b2466daff8db5f783131184dae (patch) | |
tree | e6bc18edeb5d7e74d2552f738dbdadbbc57158a8 /drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | |
parent | 5d317c6a9597267643b6ce6593c4d1785eb1b8df (diff) |
bnx2x: Allow more than 64 L2 CIDs
With increased number of RSS queues, each multiplied by the number of traffic-
classes, we may have up to 64*3=192 CIDs. The current driver scheme with regard
to context allocation supports only 64 CIDs. The new scheme enables scatter-
gatehr list of pages for the context.
Signed-off-by: Merav Sicron <meravs@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x.h')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h index 8ee4bfc1b0bb..c0c539fd2490 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | |||
@@ -978,8 +978,8 @@ union cdu_context { | |||
978 | }; | 978 | }; |
979 | 979 | ||
980 | /* CDU host DB constants */ | 980 | /* CDU host DB constants */ |
981 | #define CDU_ILT_PAGE_SZ_HW 3 | 981 | #define CDU_ILT_PAGE_SZ_HW 2 |
982 | #define CDU_ILT_PAGE_SZ (8192 << CDU_ILT_PAGE_SZ_HW) /* 64K */ | 982 | #define CDU_ILT_PAGE_SZ (8192 << CDU_ILT_PAGE_SZ_HW) /* 32K */ |
983 | #define ILT_PAGE_CIDS (CDU_ILT_PAGE_SZ / sizeof(union cdu_context)) | 983 | #define ILT_PAGE_CIDS (CDU_ILT_PAGE_SZ / sizeof(union cdu_context)) |
984 | 984 | ||
985 | #ifdef BCM_CNIC | 985 | #ifdef BCM_CNIC |
@@ -1420,7 +1420,11 @@ struct bnx2x { | |||
1420 | dma_addr_t fw_stats_data_mapping; | 1420 | dma_addr_t fw_stats_data_mapping; |
1421 | int fw_stats_data_sz; | 1421 | int fw_stats_data_sz; |
1422 | 1422 | ||
1423 | struct hw_context context; | 1423 | /* For max 196 cids (64*3 + non-eth), 32KB ILT page size and 1KB |
1424 | * context size we need 8 ILT entries. | ||
1425 | */ | ||
1426 | #define ILT_MAX_L2_LINES 8 | ||
1427 | struct hw_context context[ILT_MAX_L2_LINES]; | ||
1424 | 1428 | ||
1425 | struct bnx2x_ilt *ilt; | 1429 | struct bnx2x_ilt *ilt; |
1426 | #define BP_ILT(bp) ((bp)->ilt) | 1430 | #define BP_ILT(bp) ((bp)->ilt) |