diff options
author | Ariel Elior <ariele@broadcom.com> | 2013-09-09 07:51:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-09 17:06:14 -0400 |
commit | c19d65c95c6d472d69829fea7d473228493d5245 (patch) | |
tree | 636aa9bc177d1ab96e06b4854e1a377af706e66a /drivers/net/ethernet | |
parent | 300893b08f3bc7057a7a5f84074090ba66c8b5ca (diff) |
bnx2x: Fix configuration of doorbell block
As part of VF RSS feature doorbell block was configured not to use dpm, but
a small part of configuration was left out, preventing the driver from sending
tx messages to the device. This patch adds the missing configuration.
Reported-by: Eric Dumazet <eric.dumazet@gmil.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Tested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index 634a793c1c46..2f8dbbbd7a86 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | |||
@@ -7645,6 +7645,7 @@ static int bnx2x_init_hw_func(struct bnx2x *bp) | |||
7645 | 7645 | ||
7646 | bnx2x_init_block(bp, BLOCK_TM, init_phase); | 7646 | bnx2x_init_block(bp, BLOCK_TM, init_phase); |
7647 | bnx2x_init_block(bp, BLOCK_DORQ, init_phase); | 7647 | bnx2x_init_block(bp, BLOCK_DORQ, init_phase); |
7648 | REG_WR(bp, DORQ_REG_MODE_ACT, 1); /* no dpm */ | ||
7648 | 7649 | ||
7649 | bnx2x_iov_init_dq(bp); | 7650 | bnx2x_iov_init_dq(bp); |
7650 | 7651 | ||
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c index b26eb83069b6..2604b6204abe 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | |||
@@ -1756,9 +1756,6 @@ void bnx2x_iov_init_dq(struct bnx2x *bp) | |||
1756 | REG_WR(bp, DORQ_REG_VF_TYPE_MIN_MCID_0, 0); | 1756 | REG_WR(bp, DORQ_REG_VF_TYPE_MIN_MCID_0, 0); |
1757 | REG_WR(bp, DORQ_REG_VF_TYPE_MAX_MCID_0, 0x1ffff); | 1757 | REG_WR(bp, DORQ_REG_VF_TYPE_MAX_MCID_0, 0x1ffff); |
1758 | 1758 | ||
1759 | /* set the number of VF allowed doorbells to the full DQ range */ | ||
1760 | REG_WR(bp, DORQ_REG_VF_NORM_MAX_CID_COUNT, 0x20000); | ||
1761 | |||
1762 | /* set the VF doorbell threshold */ | 1759 | /* set the VF doorbell threshold */ |
1763 | REG_WR(bp, DORQ_REG_VF_USAGE_CT_LIMIT, 4); | 1760 | REG_WR(bp, DORQ_REG_VF_USAGE_CT_LIMIT, 4); |
1764 | } | 1761 | } |