bnx2x: Fix configuration of doorbell block
authorAriel Elior <ariele@broadcom.com>
Mon, 9 Sep 2013 11:51:27 +0000 (14:51 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Sep 2013 21:06:14 +0000 (17:06 -0400)
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>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c

index 634a793..2f8dbbb 100644 (file)
@@ -7645,6 +7645,7 @@ static int bnx2x_init_hw_func(struct bnx2x *bp)
 
        bnx2x_init_block(bp, BLOCK_TM, init_phase);
        bnx2x_init_block(bp, BLOCK_DORQ, init_phase);
+       REG_WR(bp, DORQ_REG_MODE_ACT, 1); /* no dpm */
 
        bnx2x_iov_init_dq(bp);
 
index b26eb83..2604b62 100644 (file)
@@ -1756,9 +1756,6 @@ void bnx2x_iov_init_dq(struct bnx2x *bp)
        REG_WR(bp, DORQ_REG_VF_TYPE_MIN_MCID_0, 0);
        REG_WR(bp, DORQ_REG_VF_TYPE_MAX_MCID_0, 0x1ffff);
 
-       /* set the number of VF allowed doorbells to the full DQ range */
-       REG_WR(bp, DORQ_REG_VF_NORM_MAX_CID_COUNT, 0x20000);
-
        /* set the VF doorbell threshold */
        REG_WR(bp, DORQ_REG_VF_USAGE_CT_LIMIT, 4);
 }