* [PATCH net 0/3] net: qed disable aRFS in NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-19 20:29 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov This patchset fixes some recent issues found by customers. Dmitry Bogdanov (3): net: qed: Disable aRFS for NPAR and 100G net: qede: Disable aRFS for NPAR and 100G qed: RDMA personality shouldn't fail VF load drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ include/linux/qed/qed_if.h | 1 + 7 files changed, 25 insertions(+), 7 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 net 0/3] net: qed disable aRFS in NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-31 9:43 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov This patchset fixes some recent issues found by customers. v2: correct hash in Fixes tag Dmitry Bogdanov (3): net: qed: Disable aRFS for NPAR and 100G net: qede: Disable aRFS for NPAR and 100G qed: RDMA personality shouldn't fail VF load drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ include/linux/qed/qed_if.h | 1 + 7 files changed, 25 insertions(+), 7 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2, net 0/3] net: qed disable aRFS in NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-21 11:51 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov This patchset fixes some recent issues found by customers. v2: correct hash in Fixes tag Dmitry Bogdanov (3): net: qed: Disable aRFS for NPAR and 100G net: qede: Disable aRFS for NPAR and 100G qed: RDMA personality shouldn't fail VF load drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ include/linux/qed/qed_if.h | 1 + 7 files changed, 25 insertions(+), 7 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH net 0/3] net: qed disable aRFS in NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-20 11:08 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov This patchset fixes some recent issues found by customers. v2: correct hash in Fixes tag Dmitry Bogdanov (3): net: qed: Disable aRFS for NPAR and 100G net: qede: Disable aRFS for NPAR and 100G qed: RDMA personality shouldn't fail VF load drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ include/linux/qed/qed_if.h | 1 + 7 files changed, 25 insertions(+), 7 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH net 1/3] net: qed: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-19 20:29 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In CMT and NPAR the PF is unknown when the GFS block processes the packet. Therefore cannot use searcher as it has a per PF database, and thus ARFS must be disabled. Fixes: d51e4af5c209 ("qed: aRFS infrastructure support") Signed-off-by: Manish Chopra <mchopra@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ include/linux/qed/qed_if.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index b3c9ebaf2280..c78a48ae9ea6 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -4253,7 +4253,8 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | BIT(QED_MF_LLH_PROTO_CLSS) | BIT(QED_MF_LL2_NON_UNICAST) | - BIT(QED_MF_INTER_PF_SWITCH); + BIT(QED_MF_INTER_PF_SWITCH) | + BIT(QED_MF_DISABLE_ARFS); break; case NVM_CFG1_GLOB_MF_MODE_DEFAULT: cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | @@ -4266,6 +4267,14 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", cdev->mf_bits); + + /* In CMT the PF is unknown when the GFS block processes the + * packet. Therefore cannot use searcher as it has a per PF + * database, and thus ARFS must be disabled. + * + */ + if (QED_IS_CMT(cdev)) + cdev->mf_bits |= BIT(QED_MF_DISABLE_ARFS); } DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index 4c6ac8862744..07824bf9d68d 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -1980,6 +1980,9 @@ void qed_arfs_mode_configure(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, struct qed_arfs_config_params *p_cfg_params) { + if (test_bit(QED_MF_DISABLE_ARFS, &p_hwfn->cdev->mf_bits)) + return; + if (p_cfg_params->mode != QED_FILTER_CONFIG_MODE_DISABLE) { qed_gft_config(p_hwfn, p_ptt, p_hwfn->rel_pf_id, p_cfg_params->tcp, diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index 2558cb680db3..309216ff7a84 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -444,6 +444,8 @@ int qed_fill_dev_info(struct qed_dev *cdev, dev_info->fw_eng = FW_ENGINEERING_VERSION; dev_info->b_inter_pf_switch = test_bit(QED_MF_INTER_PF_SWITCH, &cdev->mf_bits); + if (!test_bit(QED_MF_DISABLE_ARFS, &cdev->mf_bits)) + dev_info->b_arfs_capable = true; dev_info->tx_switching = true; if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h index cd6a5c7e56eb..cdd73afc4c46 100644 --- a/include/linux/qed/qed_if.h +++ b/include/linux/qed/qed_if.h @@ -623,6 +623,7 @@ struct qed_dev_info { #define QED_MFW_VERSION_3_OFFSET 24 u32 flash_size; + bool b_arfs_capable; bool b_inter_pf_switch; bool tx_switching; bool rdma_supported; -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2 net 1/3] net: qed: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-31 9:43 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In CMT and NPAR the PF is unknown when the GFS block processes the packet. Therefore cannot use searcher as it has a per PF database, and thus ARFS must be disabled. Fixes: d51e4af5c209 ("qed: aRFS infrastructure support") Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ include/linux/qed/qed_if.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index b3c9ebaf2280..c78a48ae9ea6 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -4253,7 +4253,8 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | BIT(QED_MF_LLH_PROTO_CLSS) | BIT(QED_MF_LL2_NON_UNICAST) | - BIT(QED_MF_INTER_PF_SWITCH); + BIT(QED_MF_INTER_PF_SWITCH) | + BIT(QED_MF_DISABLE_ARFS); break; case NVM_CFG1_GLOB_MF_MODE_DEFAULT: cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | @@ -4266,6 +4267,14 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", cdev->mf_bits); + + /* In CMT the PF is unknown when the GFS block processes the + * packet. Therefore cannot use searcher as it has a per PF + * database, and thus ARFS must be disabled. + * + */ + if (QED_IS_CMT(cdev)) + cdev->mf_bits |= BIT(QED_MF_DISABLE_ARFS); } DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index 4c6ac8862744..07824bf9d68d 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -1980,6 +1980,9 @@ void qed_arfs_mode_configure(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, struct qed_arfs_config_params *p_cfg_params) { + if (test_bit(QED_MF_DISABLE_ARFS, &p_hwfn->cdev->mf_bits)) + return; + if (p_cfg_params->mode != QED_FILTER_CONFIG_MODE_DISABLE) { qed_gft_config(p_hwfn, p_ptt, p_hwfn->rel_pf_id, p_cfg_params->tcp, diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index 2558cb680db3..309216ff7a84 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -444,6 +444,8 @@ int qed_fill_dev_info(struct qed_dev *cdev, dev_info->fw_eng = FW_ENGINEERING_VERSION; dev_info->b_inter_pf_switch = test_bit(QED_MF_INTER_PF_SWITCH, &cdev->mf_bits); + if (!test_bit(QED_MF_DISABLE_ARFS, &cdev->mf_bits)) + dev_info->b_arfs_capable = true; dev_info->tx_switching = true; if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h index cd6a5c7e56eb..cdd73afc4c46 100644 --- a/include/linux/qed/qed_if.h +++ b/include/linux/qed/qed_if.h @@ -623,6 +623,7 @@ struct qed_dev_info { #define QED_MFW_VERSION_3_OFFSET 24 u32 flash_size; + bool b_arfs_capable; bool b_inter_pf_switch; bool tx_switching; bool rdma_supported; -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2, net 1/3] net: qed: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-21 11:51 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In CMT and NPAR the PF is unknown when the GFS block processes the packet. Therefore cannot use searcher as it has a per PF database, and thus ARFS must be disabled. Fixes: d51e4af5c209 ("qed: aRFS infrastructure support") Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ include/linux/qed/qed_if.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index b3c9ebaf2280..c78a48ae9ea6 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -4253,7 +4253,8 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | BIT(QED_MF_LLH_PROTO_CLSS) | BIT(QED_MF_LL2_NON_UNICAST) | - BIT(QED_MF_INTER_PF_SWITCH); + BIT(QED_MF_INTER_PF_SWITCH) | + BIT(QED_MF_DISABLE_ARFS); break; case NVM_CFG1_GLOB_MF_MODE_DEFAULT: cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | @@ -4266,6 +4267,14 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", cdev->mf_bits); + + /* In CMT the PF is unknown when the GFS block processes the + * packet. Therefore cannot use searcher as it has a per PF + * database, and thus ARFS must be disabled. + * + */ + if (QED_IS_CMT(cdev)) + cdev->mf_bits |= BIT(QED_MF_DISABLE_ARFS); } DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index 4c6ac8862744..07824bf9d68d 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -1980,6 +1980,9 @@ void qed_arfs_mode_configure(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, struct qed_arfs_config_params *p_cfg_params) { + if (test_bit(QED_MF_DISABLE_ARFS, &p_hwfn->cdev->mf_bits)) + return; + if (p_cfg_params->mode != QED_FILTER_CONFIG_MODE_DISABLE) { qed_gft_config(p_hwfn, p_ptt, p_hwfn->rel_pf_id, p_cfg_params->tcp, diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index 2558cb680db3..309216ff7a84 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -444,6 +444,8 @@ int qed_fill_dev_info(struct qed_dev *cdev, dev_info->fw_eng = FW_ENGINEERING_VERSION; dev_info->b_inter_pf_switch = test_bit(QED_MF_INTER_PF_SWITCH, &cdev->mf_bits); + if (!test_bit(QED_MF_DISABLE_ARFS, &cdev->mf_bits)) + dev_info->b_arfs_capable = true; dev_info->tx_switching = true; if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h index cd6a5c7e56eb..cdd73afc4c46 100644 --- a/include/linux/qed/qed_if.h +++ b/include/linux/qed/qed_if.h @@ -623,6 +623,7 @@ struct qed_dev_info { #define QED_MFW_VERSION_3_OFFSET 24 u32 flash_size; + bool b_arfs_capable; bool b_inter_pf_switch; bool tx_switching; bool rdma_supported; -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH net 1/3] net: qed: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-20 11:08 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In CMT and NPAR the PF is unknown when the GFS block processes the packet. Therefore cannot use searcher as it has a per PF database, and thus ARFS must be disabled. Fixes: d51e4af5c209 ("qed: aRFS infrastructure support") Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ include/linux/qed/qed_if.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index b3c9ebaf2280..c78a48ae9ea6 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -4253,7 +4253,8 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | BIT(QED_MF_LLH_PROTO_CLSS) | BIT(QED_MF_LL2_NON_UNICAST) | - BIT(QED_MF_INTER_PF_SWITCH); + BIT(QED_MF_INTER_PF_SWITCH) | + BIT(QED_MF_DISABLE_ARFS); break; case NVM_CFG1_GLOB_MF_MODE_DEFAULT: cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | @@ -4266,6 +4267,14 @@ static int qed_hw_get_nvm_info(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", cdev->mf_bits); + + /* In CMT the PF is unknown when the GFS block processes the + * packet. Therefore cannot use searcher as it has a per PF + * database, and thus ARFS must be disabled. + * + */ + if (QED_IS_CMT(cdev)) + cdev->mf_bits |= BIT(QED_MF_DISABLE_ARFS); } DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index 4c6ac8862744..07824bf9d68d 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -1980,6 +1980,9 @@ void qed_arfs_mode_configure(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, struct qed_arfs_config_params *p_cfg_params) { + if (test_bit(QED_MF_DISABLE_ARFS, &p_hwfn->cdev->mf_bits)) + return; + if (p_cfg_params->mode != QED_FILTER_CONFIG_MODE_DISABLE) { qed_gft_config(p_hwfn, p_ptt, p_hwfn->rel_pf_id, p_cfg_params->tcp, diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index 2558cb680db3..309216ff7a84 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -444,6 +444,8 @@ int qed_fill_dev_info(struct qed_dev *cdev, dev_info->fw_eng = FW_ENGINEERING_VERSION; dev_info->b_inter_pf_switch = test_bit(QED_MF_INTER_PF_SWITCH, &cdev->mf_bits); + if (!test_bit(QED_MF_DISABLE_ARFS, &cdev->mf_bits)) + dev_info->b_arfs_capable = true; dev_info->tx_switching = true; if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h index cd6a5c7e56eb..cdd73afc4c46 100644 --- a/include/linux/qed/qed_if.h +++ b/include/linux/qed/qed_if.h @@ -623,6 +623,7 @@ struct qed_dev_info { #define QED_MFW_VERSION_3_OFFSET 24 u32 flash_size; + bool b_arfs_capable; bool b_inter_pf_switch; bool tx_switching; bool rdma_supported; -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v2 net 1/3] net: qed: Disable aRFS for NPAR and 100G 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov ` (2 preceding siblings ...) (?) @ 2020-09-01 15:29 ` Igor Russkikh -1 siblings, 0 replies; 19+ messages in thread From: Igor Russkikh @ 2020-09-01 15:29 UTC (permalink / raw) To: Dmitry Bogdanov, netdev, David S . Miller; +Cc: Manish Chopra, Michal Kalderon Hi David, Strangely I don't see this series from Dmitry on patchwork, but emails seems reached the list correctly: https://lore.kernel.org/netdev/20200831094326.0mIWCNw1jJrHOif9nW17zot9j5BvO_ZP0orBrhmv6KE@z/ Could you please help with that? Thanks, Igor On 31/08/2020 12:43 pm, Dmitry Bogdanov wrote: > In CMT and NPAR the PF is unknown when the GFS block processes the > packet. Therefore cannot use searcher as it has a per PF database, > and thus ARFS must be disabled. > > Fixes: d51e4af5c209 ("qed: aRFS infrastructure support") > Signed-off-by: Manish Chopra <manishc@marvell.com> > Signed-off-by: Igor Russkikh <irusskikh@marvell.com> > Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> > Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> > --- > drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- > drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ > drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ > include/linux/qed/qed_if.h | 1 + > 4 files changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c > b/drivers/net/ethernet/qlogic/qed/qed_dev.c > index b3c9ebaf2280..c78a48ae9ea6 100644 > --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c > +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c > @@ -4253,7 +4253,8 @@ static int qed_hw_get_nvm_info(struct qed_hwfn > *p_hwfn, struct qed_ptt *p_ptt) > cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | > BIT(QED_MF_LLH_PROTO_CLSS) | > BIT(QED_MF_LL2_NON_UNICAST) | > - BIT(QED_MF_INTER_PF_SWITCH); > + BIT(QED_MF_INTER_PF_SWITCH) | > + BIT(QED_MF_DISABLE_ARFS); > break; > case NVM_CFG1_GLOB_MF_MODE_DEFAULT: > cdev->mf_bits = BIT(QED_MF_LLH_MAC_CLSS) | > @@ -4266,6 +4267,14 @@ static int qed_hw_get_nvm_info(struct qed_hwfn > *p_hwfn, struct qed_ptt *p_ptt) > > DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", > cdev->mf_bits); > + > + /* In CMT the PF is unknown when the GFS block processes > the > + * packet. Therefore cannot use searcher as it has a per > PF > + * database, and thus ARFS must be disabled. > + * > + */ > + if (QED_IS_CMT(cdev)) > + cdev->mf_bits |= BIT(QED_MF_DISABLE_ARFS); > } > > DP_INFO(p_hwfn, "Multi function mode is 0x%lx\n", > diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c > b/drivers/net/ethernet/qlogic/qed/qed_l2.c > index 4c6ac8862744..07824bf9d68d 100644 > --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c > +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c > @@ -1980,6 +1980,9 @@ void qed_arfs_mode_configure(struct qed_hwfn > *p_hwfn, > struct qed_ptt *p_ptt, > struct qed_arfs_config_params *p_cfg_params) > { > + if (test_bit(QED_MF_DISABLE_ARFS, &p_hwfn->cdev->mf_bits)) > + return; > + > if (p_cfg_params->mode != QED_FILTER_CONFIG_MODE_DISABLE) { > qed_gft_config(p_hwfn, p_ptt, p_hwfn->rel_pf_id, > p_cfg_params->tcp, > diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c > b/drivers/net/ethernet/qlogic/qed/qed_main.c > index 2558cb680db3..309216ff7a84 100644 > --- a/drivers/net/ethernet/qlogic/qed/qed_main.c > +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c > @@ -444,6 +444,8 @@ int qed_fill_dev_info(struct qed_dev *cdev, > dev_info->fw_eng = FW_ENGINEERING_VERSION; > dev_info->b_inter_pf_switch = > test_bit(QED_MF_INTER_PF_SWITCH, > &cdev->mf_bits); > + if (!test_bit(QED_MF_DISABLE_ARFS, &cdev->mf_bits)) > + dev_info->b_arfs_capable = true; > dev_info->tx_switching = true; > > if (hw_info->b_wol_support == QED_WOL_SUPPORT_PME) > diff --git a/include/linux/qed/qed_if.h b/include/linux/qed/qed_if.h > index cd6a5c7e56eb..cdd73afc4c46 100644 > --- a/include/linux/qed/qed_if.h > +++ b/include/linux/qed/qed_if.h > @@ -623,6 +623,7 @@ struct qed_dev_info { > #define QED_MFW_VERSION_3_OFFSET 24 > > u32 flash_size; > + bool b_arfs_capable; > bool b_inter_pf_switch; > bool tx_switching; > bool rdma_supported; > ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH net 2/3] net: qede: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-19 20:29 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In some configurations ARFS cannot be used, so disable it if device is not capable. Fixes: e4917d46a65 ("qede: Add aRFS support") Signed-off-by: Manish Chopra <mchopra@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index f961f65d9372..c59b72c90293 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -311,6 +311,9 @@ int qede_alloc_arfs(struct qede_dev *edev) { int i; + if (!edev->dev_info.common.b_arfs_capable) + return -EINVAL; + edev->arfs = vzalloc(sizeof(*edev->arfs)); if (!edev->arfs) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 140a392a81bb..9e1f41ba766c 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -804,7 +804,7 @@ static void qede_init_ndev(struct qede_dev *edev) NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_TC; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) + if (edev->dev_info.common.b_arfs_capable) hw_features |= NETIF_F_NTUPLE; if (edev->dev_info.common.vxlan_enable || @@ -2274,7 +2274,7 @@ static void qede_unload(struct qede_dev *edev, enum qede_unload_mode mode, qede_vlan_mark_nonconfigured(edev); edev->ops->fastpath_stop(edev->cdev); - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { + if (edev->dev_info.common.b_arfs_capable) { qede_poll_for_freeing_arfs_filters(edev); qede_free_arfs(edev); } @@ -2341,10 +2341,9 @@ static int qede_load(struct qede_dev *edev, enum qede_load_mode mode, if (rc) goto err2; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { - rc = qede_alloc_arfs(edev); - if (rc) - DP_NOTICE(edev, "aRFS memory allocation failed\n"); + if (qede_alloc_arfs(edev)) { + edev->ndev->features &= ~NETIF_F_NTUPLE; + edev->dev_info.common.b_arfs_capable = false; } qede_napi_add_enable(edev); -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2 net 2/3] net: qede: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-31 9:43 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In some configurations ARFS cannot be used, so disable it if device is not capable. Fixes: e4917d46a653 ("qede: Add aRFS support") Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index f961f65d9372..c59b72c90293 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -311,6 +311,9 @@ int qede_alloc_arfs(struct qede_dev *edev) { int i; + if (!edev->dev_info.common.b_arfs_capable) + return -EINVAL; + edev->arfs = vzalloc(sizeof(*edev->arfs)); if (!edev->arfs) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 140a392a81bb..9e1f41ba766c 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -804,7 +804,7 @@ static void qede_init_ndev(struct qede_dev *edev) NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_TC; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) + if (edev->dev_info.common.b_arfs_capable) hw_features |= NETIF_F_NTUPLE; if (edev->dev_info.common.vxlan_enable || @@ -2274,7 +2274,7 @@ static void qede_unload(struct qede_dev *edev, enum qede_unload_mode mode, qede_vlan_mark_nonconfigured(edev); edev->ops->fastpath_stop(edev->cdev); - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { + if (edev->dev_info.common.b_arfs_capable) { qede_poll_for_freeing_arfs_filters(edev); qede_free_arfs(edev); } @@ -2341,10 +2341,9 @@ static int qede_load(struct qede_dev *edev, enum qede_load_mode mode, if (rc) goto err2; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { - rc = qede_alloc_arfs(edev); - if (rc) - DP_NOTICE(edev, "aRFS memory allocation failed\n"); + if (qede_alloc_arfs(edev)) { + edev->ndev->features &= ~NETIF_F_NTUPLE; + edev->dev_info.common.b_arfs_capable = false; } qede_napi_add_enable(edev); -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2, net 2/3] net: qede: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-21 11:51 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In some configurations ARFS cannot be used, so disable it if device is not capable. Fixes: e4917d46a653 ("qede: Add aRFS support") Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index f961f65d9372..c59b72c90293 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -311,6 +311,9 @@ int qede_alloc_arfs(struct qede_dev *edev) { int i; + if (!edev->dev_info.common.b_arfs_capable) + return -EINVAL; + edev->arfs = vzalloc(sizeof(*edev->arfs)); if (!edev->arfs) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 140a392a81bb..9e1f41ba766c 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -804,7 +804,7 @@ static void qede_init_ndev(struct qede_dev *edev) NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_TC; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) + if (edev->dev_info.common.b_arfs_capable) hw_features |= NETIF_F_NTUPLE; if (edev->dev_info.common.vxlan_enable || @@ -2274,7 +2274,7 @@ static void qede_unload(struct qede_dev *edev, enum qede_unload_mode mode, qede_vlan_mark_nonconfigured(edev); edev->ops->fastpath_stop(edev->cdev); - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { + if (edev->dev_info.common.b_arfs_capable) { qede_poll_for_freeing_arfs_filters(edev); qede_free_arfs(edev); } @@ -2341,10 +2341,9 @@ static int qede_load(struct qede_dev *edev, enum qede_load_mode mode, if (rc) goto err2; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { - rc = qede_alloc_arfs(edev); - if (rc) - DP_NOTICE(edev, "aRFS memory allocation failed\n"); + if (qede_alloc_arfs(edev)) { + edev->ndev->features &= ~NETIF_F_NTUPLE; + edev->dev_info.common.b_arfs_capable = false; } qede_napi_add_enable(edev); -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH net 2/3] net: qede: Disable aRFS for NPAR and 100G @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-20 11:08 UTC (permalink / raw) To: netdev, David S . Miller Cc: Dmitry Bogdanov, Manish Chopra, Igor Russkikh, Michal Kalderon In some configurations ARFS cannot be used, so disable it if device is not capable. Fixes: e4917d46a653 ("qede: Add aRFS support") Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index f961f65d9372..c59b72c90293 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -311,6 +311,9 @@ int qede_alloc_arfs(struct qede_dev *edev) { int i; + if (!edev->dev_info.common.b_arfs_capable) + return -EINVAL; + edev->arfs = vzalloc(sizeof(*edev->arfs)); if (!edev->arfs) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 140a392a81bb..9e1f41ba766c 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -804,7 +804,7 @@ static void qede_init_ndev(struct qede_dev *edev) NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_HW_TC; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) + if (edev->dev_info.common.b_arfs_capable) hw_features |= NETIF_F_NTUPLE; if (edev->dev_info.common.vxlan_enable || @@ -2274,7 +2274,7 @@ static void qede_unload(struct qede_dev *edev, enum qede_unload_mode mode, qede_vlan_mark_nonconfigured(edev); edev->ops->fastpath_stop(edev->cdev); - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { + if (edev->dev_info.common.b_arfs_capable) { qede_poll_for_freeing_arfs_filters(edev); qede_free_arfs(edev); } @@ -2341,10 +2341,9 @@ static int qede_load(struct qede_dev *edev, enum qede_load_mode mode, if (rc) goto err2; - if (!IS_VF(edev) && edev->dev_info.common.num_hwfns == 1) { - rc = qede_alloc_arfs(edev); - if (rc) - DP_NOTICE(edev, "aRFS memory allocation failed\n"); + if (qede_alloc_arfs(edev)) { + edev->ndev->features &= ~NETIF_F_NTUPLE; + edev->dev_info.common.b_arfs_capable = false; } qede_napi_add_enable(edev); -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH net 2/3] net: qede: Disable aRFS for NPAR and 100G 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov ` (2 preceding siblings ...) (?) @ 2020-08-19 22:49 ` David Miller -1 siblings, 0 replies; 19+ messages in thread From: David Miller @ 2020-08-19 22:49 UTC (permalink / raw) To: dbogdanov; +Cc: netdev, mchopra, irusskikh, michal.kalderon From: Dmitry Bogdanov <dbogdanov@marvell.com> Date: Wed, 19 Aug 2020 23:29:28 +0300 > Fixes: e4917d46a65 ("qede: Add aRFS support") This Fixes tag only has 11 digits of SHA1, when you should provide 12 like the other two patches in this series do. Thank you. ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH net 3/3] net: qed: RDMA personality shouldn't fail VF load @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-19 20:29 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov, Igor Russkikh, Michal Kalderon Fix the assert during VF driver installation when the personality is iWARP Fixes: 1fe614d10f45 ("qed: Relax VF firmware requirements") Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/qlogic/qed/qed_sriov.c b/drivers/net/ethernet/qlogic/qed/qed_sriov.c index f1f75b6d0421..b8dc5c4591ef 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -71,6 +71,7 @@ static int qed_sp_vf_start(struct qed_hwfn *p_hwfn, struct qed_vf_info *p_vf) p_ramrod->personality = PERSONALITY_ETH; break; case QED_PCI_ETH_ROCE: + case QED_PCI_ETH_IWARP: p_ramrod->personality = PERSONALITY_RDMA_AND_ETH; break; default: -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2 net 3/3] net: qed: RDMA personality shouldn't fail VF load @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-31 9:43 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov, Igor Russkikh, Michal Kalderon Fix the assert during VF driver installation when the personality is iWARP Fixes: 1fe614d10f45 ("qed: Relax VF firmware requirements") Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/qlogic/qed/qed_sriov.c b/drivers/net/ethernet/qlogic/qed/qed_sriov.c index f1f75b6d0421..b8dc5c4591ef 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -71,6 +71,7 @@ static int qed_sp_vf_start(struct qed_hwfn *p_hwfn, struct qed_vf_info *p_vf) p_ramrod->personality = PERSONALITY_ETH; break; case QED_PCI_ETH_ROCE: + case QED_PCI_ETH_IWARP: p_ramrod->personality = PERSONALITY_RDMA_AND_ETH; break; default: -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2, net 3/3] net: qed: RDMA personality shouldn't fail VF load @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-21 11:51 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov, Igor Russkikh, Michal Kalderon Fix the assert during VF driver installation when the personality is iWARP Fixes: 1fe614d10f45 ("qed: Relax VF firmware requirements") Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/qlogic/qed/qed_sriov.c b/drivers/net/ethernet/qlogic/qed/qed_sriov.c index f1f75b6d0421..b8dc5c4591ef 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -71,6 +71,7 @@ static int qed_sp_vf_start(struct qed_hwfn *p_hwfn, struct qed_vf_info *p_vf) p_ramrod->personality = PERSONALITY_ETH; break; case QED_PCI_ETH_ROCE: + case QED_PCI_ETH_IWARP: p_ramrod->personality = PERSONALITY_RDMA_AND_ETH; break; default: -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH net 3/3] net: qed: RDMA personality shouldn't fail VF load @ 2020-08-20 11:08 ` Dmitry Bogdanov 0 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-20 11:08 UTC (permalink / raw) To: netdev, David S . Miller; +Cc: Dmitry Bogdanov, Igor Russkikh, Michal Kalderon Fix the assert during VF driver installation when the personality is iWARP Fixes: 1fe614d10f45 ("qed: Relax VF firmware requirements") Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> --- drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/qlogic/qed/qed_sriov.c b/drivers/net/ethernet/qlogic/qed/qed_sriov.c index f1f75b6d0421..b8dc5c4591ef 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -71,6 +71,7 @@ static int qed_sp_vf_start(struct qed_hwfn *p_hwfn, struct qed_vf_info *p_vf) p_ramrod->personality = PERSONALITY_ETH; break; case QED_PCI_ETH_ROCE: + case QED_PCI_ETH_IWARP: p_ramrod->personality = PERSONALITY_RDMA_AND_ETH; break; default: -- 2.17.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* RE: [PATCH net 0/3] net: qed disable aRFS in NPAR and 100G 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov ` (5 preceding siblings ...) (?) @ 2020-08-21 11:45 ` Dmitry Bogdanov -1 siblings, 0 replies; 19+ messages in thread From: Dmitry Bogdanov @ 2020-08-21 11:45 UTC (permalink / raw) To: netdev@vger.kernel.org, David S . Miller Forgot to indicate "v2" in the subject, please ignore it then. Will resend with v2 in the subject. -----Original Message----- From: Dmitry Bogdanov <dbogdanov@marvell.com> Sent: Thursday, August 20, 2020 2:08 PM To: netdev@vger.kernel.org; David S . Miller <davem@davemloft.net> Cc: Dmitry Bogdanov <dbogdanov@marvell.com> Subject: [PATCH net 0/3] net: qed disable aRFS in NPAR and 100G This patchset fixes some recent issues found by customers. v2: correct hash in Fixes tag Dmitry Bogdanov (3): net: qed: Disable aRFS for NPAR and 100G net: qede: Disable aRFS for NPAR and 100G qed: RDMA personality shouldn't fail VF load drivers/net/ethernet/qlogic/qed/qed_dev.c | 11 ++++++++++- drivers/net/ethernet/qlogic/qed/qed_l2.c | 3 +++ drivers/net/ethernet/qlogic/qed/qed_main.c | 2 ++ drivers/net/ethernet/qlogic/qed/qed_sriov.c | 1 + drivers/net/ethernet/qlogic/qede/qede_filter.c | 3 +++ drivers/net/ethernet/qlogic/qede/qede_main.c | 11 +++++------ include/linux/qed/qed_if.h | 1 + 7 files changed, 25 insertions(+), 7 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2020-09-01 16:37 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-08-19 20:29 [PATCH net 0/3] net: qed disable aRFS in NPAR and 100G Dmitry Bogdanov 2020-08-31 9:43 ` [PATCH v2 " Dmitry Bogdanov 2020-08-21 11:51 ` [PATCH v2, " Dmitry Bogdanov 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov 2020-08-19 20:29 ` [PATCH net 1/3] net: qed: Disable aRFS for " Dmitry Bogdanov 2020-08-31 9:43 ` [PATCH v2 " Dmitry Bogdanov 2020-08-21 11:51 ` [PATCH v2, " Dmitry Bogdanov 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov 2020-09-01 15:29 ` [PATCH v2 " Igor Russkikh 2020-08-19 20:29 ` [PATCH net 2/3] net: qede: " Dmitry Bogdanov 2020-08-31 9:43 ` [PATCH v2 " Dmitry Bogdanov 2020-08-21 11:51 ` [PATCH v2, " Dmitry Bogdanov 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov 2020-08-19 22:49 ` David Miller 2020-08-19 20:29 ` [PATCH net 3/3] net: qed: RDMA personality shouldn't fail VF load Dmitry Bogdanov 2020-08-31 9:43 ` [PATCH v2 " Dmitry Bogdanov 2020-08-21 11:51 ` [PATCH v2, " Dmitry Bogdanov 2020-08-20 11:08 ` [PATCH " Dmitry Bogdanov 2020-08-21 11:45 ` [PATCH net 0/3] net: qed disable aRFS in NPAR and 100G Dmitry Bogdanov
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.