Unverified Commit 7e7ec9c2 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14305 RDMA/hns: Some patches are integrated into OLK-5.10

Merge Pull Request from: @ci-robot 
 
PR sync from: Chengchang Tang <tangchengchang@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/J4MTQUGIYOTSEO22FKVOCVK3AZE3EABA/ 
From: Xinghai Cen <cenxinghai@h-partners.com>

RDMA/hns: Some patches are integrated into OLK-5.10

Junxian Huang (2):
  RDMA/hns: Fix bonding failure due to wrong reset_state
  RDMA/hns: Don't query *except on hip10*

wenglianfa (1):
  RDMA/hns: Fix creating GSI QP in non-extended SGE QP bank


-- 
2.33.0
 
https://gitee.com/openeuler/kernel/issues/IBD4ID 
 
Link:https://gitee.com/openeuler/kernel/pulls/14305

 

Reviewed-by: default avatarChengchang Tang <tangchengchang@huawei.com>
Reviewed-by: default avatarLi Nan <linan122@huawei.com>
Signed-off-by: default avatarLi Nan <linan122@huawei.com>
parents 4848f81e 7ba5dd0e
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -543,6 +543,7 @@ static void hns_roce_do_bond(struct hns_roce_bond_group *bond_grp)


bool is_bond_slave_in_reset(struct hns_roce_bond_group *bond_grp)
bool is_bond_slave_in_reset(struct hns_roce_bond_group *bond_grp)
{
{
	const struct hnae3_ae_ops *ops;
	struct hnae3_handle *handle;
	struct hnae3_handle *handle;
	struct net_device *net_dev;
	struct net_device *net_dev;
	int i;
	int i;
@@ -550,9 +551,11 @@ bool is_bond_slave_in_reset(struct hns_roce_bond_group *bond_grp)
	for (i = 0; i < ROCE_BOND_FUNC_MAX; i++) {
	for (i = 0; i < ROCE_BOND_FUNC_MAX; i++) {
		net_dev = bond_grp->bond_func_info[i].net_dev;
		net_dev = bond_grp->bond_func_info[i].net_dev;
		handle = bond_grp->bond_func_info[i].handle;
		handle = bond_grp->bond_func_info[i].handle;
		if (net_dev && handle &&
		if (!net_dev || !handle)
		    handle->rinfo.reset_state != HNS_ROCE_STATE_NON_RST &&
			continue;
		    handle->rinfo.reset_state != HNS_ROCE_STATE_RST_INITED)
		ops = handle->ae_algo->ops;
		if (ops->ae_dev_resetting(handle) ||
		    ops->get_hw_reset_stat(handle))
			return true;
			return true;
	}
	}


+1 −1
Original line number Original line Diff line number Diff line
@@ -115,7 +115,7 @@
#define VALID_CQ_BANK_MASK_DEFAULT 0xF
#define VALID_CQ_BANK_MASK_DEFAULT 0xF
#define VALID_CQ_BANK_MASK_LIMIT 0x9
#define VALID_CQ_BANK_MASK_LIMIT 0x9


#define VALID_EXT_SGE_QP_BANK_MASK_LIMIT 0x41
#define VALID_EXT_SGE_QP_BANK_MASK_LIMIT 0x42


#define HNS_ROCE_MAX_CQ_COUNT 0xFFFF
#define HNS_ROCE_MAX_CQ_COUNT 0xFFFF
#define HNS_ROCE_MAX_CQ_PERIOD 0xFFFF
#define HNS_ROCE_MAX_CQ_PERIOD 0xFFFF
+6 −10
Original line number Original line Diff line number Diff line
@@ -1451,8 +1451,6 @@ static int __hns_roce_cmq_send(struct hns_roce_dev *hr_dev,
			if (likely(desc_ret == CMD_EXEC_SUCCESS))
			if (likely(desc_ret == CMD_EXEC_SUCCESS))
				continue;
				continue;


			if (desc->opcode != cpu_to_le16(HNS_ROCE_OPC_QUERY_HW_ID) &&
			    desc_ret != CMD_NOT_EXIST)
			dev_err_ratelimited(hr_dev->dev,
			dev_err_ratelimited(hr_dev->dev,
					    "Cmdq IO error, opcode = 0x%x, return = 0x%x.\n",
					    "Cmdq IO error, opcode = 0x%x, return = 0x%x.\n",
					    desc->opcode, desc_ret);
					    desc->opcode, desc_ret);
@@ -1593,16 +1591,14 @@ static void hns_roce_cmq_query_hw_id(struct hns_roce_dev *hr_dev)
	struct hns_roce_cmq_desc desc;
	struct hns_roce_cmq_desc desc;
	int ret;
	int ret;


	if (hr_dev->is_vf)
	if (hr_dev->is_vf || hr_dev->pci_dev->revision <= PCI_REVISION_ID_HIP09)
		goto invalid_val;
		goto invalid_val;


	hns_roce_cmq_setup_basic_desc(&desc, HNS_ROCE_OPC_QUERY_HW_ID, true);
	hns_roce_cmq_setup_basic_desc(&desc, HNS_ROCE_OPC_QUERY_HW_ID, true);
	ret = hns_roce_cmq_send(hr_dev, &desc, 1);
	ret = hns_roce_cmq_send(hr_dev, &desc, 1);
	if (ret) {
	if (ret) {
		if (desc.retval != cpu_to_le16(CMD_NOT_EXIST))
		ibdev_warn(&hr_dev->ib_dev,
		ibdev_warn(&hr_dev->ib_dev,
			   "failed to query hw id, ret = %d.\n", ret);
			   "failed to query hw id, ret = %d.\n", ret);

		goto invalid_val;
		goto invalid_val;
	}
	}