提交 26c8fa4d 编写于 作者: E Eilon Greenstein 提交者: David S. Miller

bnx2x: Indirection table initialization index

Wrong initialization of the multi-queue indirection table - it should
be using the function and not the port index
Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 f5ba6772
...@@ -4524,7 +4524,7 @@ static void bnx2x_init_context(struct bnx2x *bp) ...@@ -4524,7 +4524,7 @@ static void bnx2x_init_context(struct bnx2x *bp)
static void bnx2x_init_ind_table(struct bnx2x *bp) static void bnx2x_init_ind_table(struct bnx2x *bp)
{ {
int port = BP_PORT(bp); int func = BP_FUNC(bp);
int i; int i;
if (!is_multi(bp)) if (!is_multi(bp))
...@@ -4533,10 +4533,8 @@ static void bnx2x_init_ind_table(struct bnx2x *bp) ...@@ -4533,10 +4533,8 @@ static void bnx2x_init_ind_table(struct bnx2x *bp)
DP(NETIF_MSG_IFUP, "Initializing indirection table\n"); DP(NETIF_MSG_IFUP, "Initializing indirection table\n");
for (i = 0; i < TSTORM_INDIRECTION_TABLE_SIZE; i++) for (i = 0; i < TSTORM_INDIRECTION_TABLE_SIZE; i++)
REG_WR8(bp, BAR_TSTRORM_INTMEM + REG_WR8(bp, BAR_TSTRORM_INTMEM +
TSTORM_INDIRECTION_TABLE_OFFSET(port) + i, TSTORM_INDIRECTION_TABLE_OFFSET(func) + i,
i % bp->num_queues); BP_CL_ID(bp) + (i % bp->num_queues));
REG_WR(bp, PRS_REG_A_PRSU_20, 0xf);
} }
static void bnx2x_set_client_config(struct bnx2x *bp) static void bnx2x_set_client_config(struct bnx2x *bp)
...@@ -5240,6 +5238,7 @@ static int bnx2x_init_common(struct bnx2x *bp) ...@@ -5240,6 +5238,7 @@ static int bnx2x_init_common(struct bnx2x *bp)
} }
bnx2x_init_block(bp, PRS_COMMON_START, PRS_COMMON_END); bnx2x_init_block(bp, PRS_COMMON_START, PRS_COMMON_END);
REG_WR(bp, PRS_REG_A_PRSU_20, 0xf);
/* set NIC mode */ /* set NIC mode */
REG_WR(bp, PRS_REG_NIC_MODE, 1); REG_WR(bp, PRS_REG_NIC_MODE, 1);
if (CHIP_IS_E1H(bp)) if (CHIP_IS_E1H(bp))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册