Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 265733
b: refs/heads/master
c: 761fab3
h: refs/heads/master
i:
  265731: b566633
v: v3
  • Loading branch information
Rasesh Mody authored and David S. Miller committed Sep 15, 2011
1 parent cb72e95 commit b68d256
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a2122d95be5bab420741167913a9f39af673d11c
refs/heads/master: 761fab374e5b8efa6f7a8650ff546905578a482d
29 changes: 22 additions & 7 deletions trunk/drivers/net/ethernet/brocade/bna/bna_enet.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,13 +167,14 @@ bna_bfi_attr_get_rsp(struct bna_ioceth *ioceth,
* Store only if not set earlier, since BNAD can override the HW
* attributes
*/
if (!ioceth->attr.num_txq)
if (!ioceth->attr.fw_query_complete) {
ioceth->attr.num_txq = ntohl(rsp->max_cfg);
if (!ioceth->attr.num_rxp)
ioceth->attr.num_rxp = ntohl(rsp->max_cfg);
ioceth->attr.num_ucmac = ntohl(rsp->max_ucmac);
ioceth->attr.num_mcmac = BFI_ENET_MAX_MCAM;
ioceth->attr.max_rit_size = ntohl(rsp->rit_size);
ioceth->attr.num_ucmac = ntohl(rsp->max_ucmac);
ioceth->attr.num_mcmac = BFI_ENET_MAX_MCAM;
ioceth->attr.max_rit_size = ntohl(rsp->rit_size);
ioceth->attr.fw_query_complete = true;
}

bfa_fsm_send_event(ioceth, IOCETH_E_ENET_ATTR_RESP);
}
Expand Down Expand Up @@ -1693,6 +1694,16 @@ static struct bfa_ioc_cbfn bna_ioceth_cbfn = {
bna_cb_ioceth_reset
};

static void bna_attr_init(struct bna_ioceth *ioceth)
{
ioceth->attr.num_txq = BFI_ENET_DEF_TXQ;
ioceth->attr.num_rxp = BFI_ENET_DEF_RXP;
ioceth->attr.num_ucmac = BFI_ENET_DEF_UCAM;
ioceth->attr.num_mcmac = BFI_ENET_MAX_MCAM;
ioceth->attr.max_rit_size = BFI_ENET_DEF_RITSZ;
ioceth->attr.fw_query_complete = false;
}

static void
bna_ioceth_init(struct bna_ioceth *ioceth, struct bna *bna,
struct bna_res_info *res_info)
Expand Down Expand Up @@ -1738,6 +1749,8 @@ bna_ioceth_init(struct bna_ioceth *ioceth, struct bna *bna,
ioceth->stop_cbfn = NULL;
ioceth->stop_cbarg = NULL;

bna_attr_init(ioceth);

bfa_fsm_set_state(ioceth, bna_ioceth_sm_stopped);
}

Expand Down Expand Up @@ -2036,7 +2049,8 @@ bna_uninit(struct bna *bna)
int
bna_num_txq_set(struct bna *bna, int num_txq)
{
if (num_txq > 0 && (num_txq <= bna->ioceth.attr.num_txq)) {
if (bna->ioceth.attr.fw_query_complete &&
(num_txq <= bna->ioceth.attr.num_txq)) {
bna->ioceth.attr.num_txq = num_txq;
return BNA_CB_SUCCESS;
}
Expand All @@ -2047,7 +2061,8 @@ bna_num_txq_set(struct bna *bna, int num_txq)
int
bna_num_rxp_set(struct bna *bna, int num_rxp)
{
if (num_rxp > 0 && (num_rxp <= bna->ioceth.attr.num_rxp)) {
if (bna->ioceth.attr.fw_query_complete &&
(num_rxp <= bna->ioceth.attr.num_rxp)) {
bna->ioceth.attr.num_rxp = num_rxp;
return BNA_CB_SUCCESS;
}
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/net/ethernet/brocade/bna/bna_hw_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@
* SW imposed limits
*
*/
#define BFI_ENET_DEF_TXQ 1
#define BFI_ENET_DEF_RXP 1
#define BFI_ENET_DEF_UCAM 1
#define BFI_ENET_DEF_RITSZ 1

#define BFI_ENET_MAX_MCAM 256

Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/ethernet/brocade/bna/bna_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,7 @@ struct bna_qpt {
};

struct bna_attr {
bool fw_query_complete;
int num_txq;
int num_rxp;
int num_ucmac;
Expand Down

0 comments on commit b68d256

Please sign in to comment.