Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 215206
b: refs/heads/master
c: 030f335
h: refs/heads/master
v: v3
  • Loading branch information
Dmitry Kravkov authored and David S. Miller committed Oct 18, 2010
1 parent 89cd3ca commit e56a18c
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 50 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: c8e4f48a8eb236eb672c6da0731ee01a633844f0
refs/heads/master: 030f3356b64a129a1ab34175491a8175bef98e6e
13 changes: 4 additions & 9 deletions trunk/drivers/net/bnx2x/bnx2x.h
Original file line number Diff line number Diff line change
Expand Up @@ -1180,15 +1180,10 @@ struct bnx2x {
TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY

/* func init flags */
#define FUNC_FLG_RSS 0x0001
#define FUNC_FLG_STATS 0x0002
/* removed FUNC_FLG_UNMATCHED 0x0004 */
#define FUNC_FLG_TPA 0x0008
#define FUNC_FLG_SPQ 0x0010
#define FUNC_FLG_LEADING 0x0020 /* PF only */

#define FUNC_CONFIG(flgs) ((flgs) & (FUNC_FLG_RSS | FUNC_FLG_TPA | \
FUNC_FLG_LEADING))
#define FUNC_FLG_STATS 0x0001
#define FUNC_FLG_TPA 0x0002
#define FUNC_FLG_SPQ 0x0004
#define FUNC_FLG_LEADING 0x0008 /* PF only */

struct rxq_pause_params {
u16 bd_th_lo;
Expand Down
70 changes: 30 additions & 40 deletions trunk/drivers/net/bnx2x/bnx2x_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2284,35 +2284,31 @@ void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters)

void bnx2x_func_init(struct bnx2x *bp, struct bnx2x_func_init_params *p)
{
if (FUNC_CONFIG(p->func_flgs)) {
struct tstorm_eth_function_common_config tcfg = {0};

/* tpa */
if (p->func_flgs & FUNC_FLG_TPA)
tcfg.config_flags |=
TSTORM_ETH_FUNCTION_COMMON_CONFIG_ENABLE_TPA;

/* set rss flags */
if (p->func_flgs & FUNC_FLG_RSS) {
u16 rss_flgs = (p->rss->mode <<
TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_MODE_SHIFT);

if (p->rss->cap & RSS_IPV4_CAP)
rss_flgs |= RSS_IPV4_CAP_MASK;
if (p->rss->cap & RSS_IPV4_TCP_CAP)
rss_flgs |= RSS_IPV4_TCP_CAP_MASK;
if (p->rss->cap & RSS_IPV6_CAP)
rss_flgs |= RSS_IPV6_CAP_MASK;
if (p->rss->cap & RSS_IPV6_TCP_CAP)
rss_flgs |= RSS_IPV6_TCP_CAP_MASK;

tcfg.config_flags |= rss_flgs;
tcfg.rss_result_mask = p->rss->result_mask;
struct tstorm_eth_function_common_config tcfg = {0};
u16 rss_flgs;

}
/* tpa */
if (p->func_flgs & FUNC_FLG_TPA)
tcfg.config_flags |=
TSTORM_ETH_FUNCTION_COMMON_CONFIG_ENABLE_TPA;

storm_memset_func_cfg(bp, &tcfg, p->func_id);
}
/* set rss flags */
rss_flgs = (p->rss->mode <<
TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_MODE_SHIFT);

if (p->rss->cap & RSS_IPV4_CAP)
rss_flgs |= RSS_IPV4_CAP_MASK;
if (p->rss->cap & RSS_IPV4_TCP_CAP)
rss_flgs |= RSS_IPV4_TCP_CAP_MASK;
if (p->rss->cap & RSS_IPV6_CAP)
rss_flgs |= RSS_IPV6_CAP_MASK;
if (p->rss->cap & RSS_IPV6_TCP_CAP)
rss_flgs |= RSS_IPV6_TCP_CAP_MASK;

tcfg.config_flags |= rss_flgs;
tcfg.rss_result_mask = p->rss->result_mask;

storm_memset_func_cfg(bp, &tcfg, p->func_id);

/* Enable the function in the FW */
storm_memset_vf_to_pf(bp, p->func_id, p->pf_id);
Expand Down Expand Up @@ -2479,23 +2475,17 @@ void bnx2x_pf_init(struct bnx2x *bp)
else
flags |= FUNC_FLG_TPA;

/* function setup */

/**
* Although RSS is meaningless when there is a single HW queue we
* still need it enabled in order to have HW Rx hash generated.
*
* if (is_eth_multi(bp))
* flags |= FUNC_FLG_RSS;
*/
flags |= FUNC_FLG_RSS;

/* function setup */
if (flags & FUNC_FLG_RSS) {
rss.cap = (RSS_IPV4_CAP | RSS_IPV4_TCP_CAP |
RSS_IPV6_CAP | RSS_IPV6_TCP_CAP);
rss.mode = bp->multi_mode;
rss.result_mask = MULTI_MASK;
func_init.rss = &rss;
}
rss.cap = (RSS_IPV4_CAP | RSS_IPV4_TCP_CAP |
RSS_IPV6_CAP | RSS_IPV6_TCP_CAP);
rss.mode = bp->multi_mode;
rss.result_mask = MULTI_MASK;
func_init.rss = &rss;

func_init.func_flgs = flags;
func_init.pf_id = BP_FUNC(bp);
Expand Down

0 comments on commit e56a18c

Please sign in to comment.