mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 23:45:31 +08:00
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: Dmitry Kravkov <dmitry@broadcom.com> 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
c8e4f48a8e
commit
030f3356b6
@ -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;
|
||||
|
@ -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};
|
||||
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;
|
||||
/* 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);
|
||||
/* 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;
|
||||
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;
|
||||
tcfg.config_flags |= rss_flgs;
|
||||
tcfg.rss_result_mask = p->rss->result_mask;
|
||||
|
||||
}
|
||||
|
||||
storm_memset_func_cfg(bp, &tcfg, p->func_id);
|
||||
}
|
||||
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);
|
||||
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user