mirror of
https://github.com/adulau/aha.git
synced 2025-01-02 14:13:18 +00:00
bnx2x: Using DMAE to initialize the chip
There was a bug, which occasionally caused failure in PRAM initialization after the cold boot. Also incremented version number to 1.45.27. Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6dc7d8c843
commit
db434ac6bf
2 changed files with 13 additions and 17 deletions
|
@ -150,7 +150,6 @@ static void bnx2x_init_ind_wr(struct bnx2x *bp, u32 addr, const u32 *data,
|
||||||
|
|
||||||
static void bnx2x_write_big_buf(struct bnx2x *bp, u32 addr, u32 len)
|
static void bnx2x_write_big_buf(struct bnx2x *bp, u32 addr, u32 len)
|
||||||
{
|
{
|
||||||
#ifdef USE_DMAE
|
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
|
|
||||||
if (bp->dmae_ready) {
|
if (bp->dmae_ready) {
|
||||||
|
@ -164,9 +163,6 @@ static void bnx2x_write_big_buf(struct bnx2x *bp, u32 addr, u32 len)
|
||||||
addr + offset, len);
|
addr + offset, len);
|
||||||
} else
|
} else
|
||||||
bnx2x_init_str_wr(bp, addr, bp->gunzip_buf, len);
|
bnx2x_init_str_wr(bp, addr, bp->gunzip_buf, len);
|
||||||
#else
|
|
||||||
bnx2x_init_str_wr(bp, addr, bp->gunzip_buf, len);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bnx2x_init_fill(struct bnx2x *bp, u32 addr, int fill, u32 len)
|
static void bnx2x_init_fill(struct bnx2x *bp, u32 addr, int fill, u32 len)
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
#include "bnx2x.h"
|
#include "bnx2x.h"
|
||||||
#include "bnx2x_init.h"
|
#include "bnx2x_init.h"
|
||||||
|
|
||||||
#define DRV_MODULE_VERSION "1.45.26"
|
#define DRV_MODULE_VERSION "1.45.27"
|
||||||
#define DRV_MODULE_RELDATE "2009/01/26"
|
#define DRV_MODULE_RELDATE "2009/01/26"
|
||||||
#define BNX2X_BC_VER 0x040200
|
#define BNX2X_BC_VER 0x040200
|
||||||
|
|
||||||
|
@ -4035,10 +4035,10 @@ static void bnx2x_zero_sb(struct bnx2x *bp, int sb_id)
|
||||||
{
|
{
|
||||||
int port = BP_PORT(bp);
|
int port = BP_PORT(bp);
|
||||||
|
|
||||||
bnx2x_init_fill(bp, BAR_USTRORM_INTMEM +
|
bnx2x_init_fill(bp, USTORM_INTMEM_ADDR +
|
||||||
USTORM_SB_HOST_STATUS_BLOCK_OFFSET(port, sb_id), 0,
|
USTORM_SB_HOST_STATUS_BLOCK_OFFSET(port, sb_id), 0,
|
||||||
sizeof(struct ustorm_status_block)/4);
|
sizeof(struct ustorm_status_block)/4);
|
||||||
bnx2x_init_fill(bp, BAR_CSTRORM_INTMEM +
|
bnx2x_init_fill(bp, CSTORM_INTMEM_ADDR +
|
||||||
CSTORM_SB_HOST_STATUS_BLOCK_OFFSET(port, sb_id), 0,
|
CSTORM_SB_HOST_STATUS_BLOCK_OFFSET(port, sb_id), 0,
|
||||||
sizeof(struct cstorm_status_block)/4);
|
sizeof(struct cstorm_status_block)/4);
|
||||||
}
|
}
|
||||||
|
@ -4092,18 +4092,18 @@ static void bnx2x_zero_def_sb(struct bnx2x *bp)
|
||||||
{
|
{
|
||||||
int func = BP_FUNC(bp);
|
int func = BP_FUNC(bp);
|
||||||
|
|
||||||
bnx2x_init_fill(bp, BAR_USTRORM_INTMEM +
|
bnx2x_init_fill(bp, TSTORM_INTMEM_ADDR +
|
||||||
USTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
|
||||||
sizeof(struct ustorm_def_status_block)/4);
|
|
||||||
bnx2x_init_fill(bp, BAR_CSTRORM_INTMEM +
|
|
||||||
CSTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
|
||||||
sizeof(struct cstorm_def_status_block)/4);
|
|
||||||
bnx2x_init_fill(bp, BAR_XSTRORM_INTMEM +
|
|
||||||
XSTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
|
||||||
sizeof(struct xstorm_def_status_block)/4);
|
|
||||||
bnx2x_init_fill(bp, BAR_TSTRORM_INTMEM +
|
|
||||||
TSTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
TSTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
||||||
sizeof(struct tstorm_def_status_block)/4);
|
sizeof(struct tstorm_def_status_block)/4);
|
||||||
|
bnx2x_init_fill(bp, USTORM_INTMEM_ADDR +
|
||||||
|
USTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
||||||
|
sizeof(struct ustorm_def_status_block)/4);
|
||||||
|
bnx2x_init_fill(bp, CSTORM_INTMEM_ADDR +
|
||||||
|
CSTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
||||||
|
sizeof(struct cstorm_def_status_block)/4);
|
||||||
|
bnx2x_init_fill(bp, XSTORM_INTMEM_ADDR +
|
||||||
|
XSTORM_DEF_SB_HOST_STATUS_BLOCK_OFFSET(func), 0,
|
||||||
|
sizeof(struct xstorm_def_status_block)/4);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bnx2x_init_def_sb(struct bnx2x *bp,
|
static void bnx2x_init_def_sb(struct bnx2x *bp,
|
||||||
|
|
Loading…
Reference in a new issue