提交 030f3356 编写于 作者: D Dmitry Kravkov 提交者: David S. Miller

bnx2x: remove unnecessary FUNC_FLG_RSS flag and related

As suggested by: Joe Perches <joe@perches.com>

Although RSS is meaningless when there is a single HW queue we
still need it enabled in order to have HW Rx hash generated.
Signed-off-by: NDmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: NVladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: NEilon Greenstein <eilong@broadcom.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 c8e4f48a
...@@ -1180,15 +1180,10 @@ struct bnx2x { ...@@ -1180,15 +1180,10 @@ struct bnx2x {
TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_TCP_CAPABILITY
/* func init flags */ /* func init flags */
#define FUNC_FLG_RSS 0x0001 #define FUNC_FLG_STATS 0x0001
#define FUNC_FLG_STATS 0x0002 #define FUNC_FLG_TPA 0x0002
/* removed FUNC_FLG_UNMATCHED 0x0004 */ #define FUNC_FLG_SPQ 0x0004
#define FUNC_FLG_TPA 0x0008 #define FUNC_FLG_LEADING 0x0008 /* PF only */
#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))
struct rxq_pause_params { struct rxq_pause_params {
u16 bd_th_lo; u16 bd_th_lo;
......
...@@ -2284,35 +2284,31 @@ void bnx2x_rxq_set_mac_filters(struct bnx2x *bp, u16 cl_id, u32 filters) ...@@ -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) 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};
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;
/* 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;
} /* 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 */ /* Enable the function in the FW */
storm_memset_vf_to_pf(bp, p->func_id, p->pf_id); storm_memset_vf_to_pf(bp, p->func_id, p->pf_id);
...@@ -2479,23 +2475,17 @@ void bnx2x_pf_init(struct bnx2x *bp) ...@@ -2479,23 +2475,17 @@ void bnx2x_pf_init(struct bnx2x *bp)
else else
flags |= FUNC_FLG_TPA; flags |= FUNC_FLG_TPA;
/* function setup */
/** /**
* Although RSS is meaningless when there is a single HW queue we * Although RSS is meaningless when there is a single HW queue we
* still need it enabled in order to have HW Rx hash generated. * 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; rss.cap = (RSS_IPV4_CAP | RSS_IPV4_TCP_CAP |
RSS_IPV6_CAP | RSS_IPV6_TCP_CAP);
/* function setup */ rss.mode = bp->multi_mode;
if (flags & FUNC_FLG_RSS) { rss.result_mask = MULTI_MASK;
rss.cap = (RSS_IPV4_CAP | RSS_IPV4_TCP_CAP | func_init.rss = &rss;
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.func_flgs = flags;
func_init.pf_id = BP_FUNC(bp); func_init.pf_id = BP_FUNC(bp);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册