Unverified Commit 0d79451b authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!6263 udma: fix a bug of jfr record_db

Merge Pull Request from: @zhaoweibo3 
 
driver inclusion
category: bugfix
bugzilla: https://gitee.com/open_euler/dashboard?issue_id=I8V1IQ


CVE: NA

This patch fixes errors related to jfr RECORD_DB.
Reduce the number of kernel logs.

Fixes: fc19a9b6 ("hns3 udma: support create and destroy jfr.")
Signed-off-by: default avatarJie Lei <leijie31@huawei.com>
Signed-off-by: default avatarJinyong An <anjinyong@huawei.com>
Signed-off-by: default avatarWeibo Zhao <zhaoweibo3@huawei.com>
 
Link:https://gitee.com/openeuler/kernel/pulls/6263

 

Reviewed-by: default avatarChunzhi Hu <huchunzhi@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents b74d64b8 5df20214
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -49,8 +49,7 @@ int udma_cmd_use_events(struct udma_dev *udma_dev)
	struct udma_cmdq *udma_cmd = &udma_dev->cmd;
	int i;

	udma_cmd->context = (struct udma_cmd_context *)
		kcalloc(udma_cmd->max_cmds, sizeof(*udma_cmd->context),
	udma_cmd->context = kcalloc(udma_cmd->max_cmds, sizeof(*udma_cmd->context),
				    GFP_KERNEL);
	if (!udma_cmd->context)
		return -ENOMEM;
@@ -266,7 +265,7 @@ void udma_cmq_setup_basic_desc(struct udma_cmq_desc *desc,
		desc->flag &= cpu_to_le16(~UDMA_CMD_FLAG_WR);
}

void dump_desc(struct udma_dev *dev,
static void dump_desc(struct udma_dev *dev,
		      struct udma_cmq_desc *desc)
{
	if (desc->opcode == UDMA_OPC_QUERY_MB_ST)
@@ -282,7 +281,7 @@ void dump_desc(struct udma_dev *dev,
			desc->data[1], desc->data[2],
			desc->data[3], desc->data[4], desc->data[5]);
	else
		dev_info(dev->dev,
		dev_info_ratelimited(dev->dev,
			"Send cmd opcode:0x%4x, data: %08x %08x %08x %08x %08x %08x\n",
			desc->opcode, desc->data[0],
			desc->data[1], desc->data[2],
@@ -429,8 +428,7 @@ static int __udma_post_mbox(struct udma_dev *dev, struct udma_cmq_desc *desc,
{
	struct udma_mbox *mb = (struct udma_mbox *)desc->data;

	mb->token_event_en = cpu_to_le32(vfid_event
					 << UDMA_MB_EVENT_EN_SHIFT | token);
	mb->token_event_en = cpu_to_le32(vfid_event << UDMA_MB_EVENT_EN_SHIFT | token);

	return udma_cmq_send(dev, desc, 1);
}
+0 −1
Original line number Diff line number Diff line
@@ -139,7 +139,6 @@ struct udma_mbox_status {
#define MB_ST_COMPLETE_SUCC 1
#define UDMA_MB_EVENT_EN_SHIFT 16

void dump_desc(struct udma_dev *dev, struct udma_cmq_desc *desc);
struct udma_cmd_mailbox *udma_alloc_cmd_mailbox(struct udma_dev *dev);
void udma_free_cmd_mailbox(struct udma_dev *dev,
			   struct udma_cmd_mailbox *mailbox);
+4 −6
Original line number Diff line number Diff line
@@ -389,7 +389,7 @@ int udma_register_dca_mem(struct udma_dev *dev, struct udma_ucontext *context,
	return -ENOMEM;
}

void unregister_dca_mem(struct udma_dev *dev, struct udma_dca_ctx *ctx,
static void unregister_dca_mem(struct udma_dev *dev, struct udma_dca_ctx *ctx,
			       struct dca_mem *mem)
{
	void *states, *pages;
@@ -419,14 +419,12 @@ void unregister_dca_mem(struct udma_dev *dev, struct udma_dca_ctx *ctx,
static uint32_t get_udca_max_qps(struct udma_dev *udma_dev,
				 struct udma_create_ctx_ucmd *ucmd)
{
	uint32_t qp_num;
	uint32_t qp_num = 0;

	if (ucmd->comp & UDMA_CONTEXT_MASK_DCA_PRIME_QPS) {
		qp_num = ucmd->dca_max_qps;
		if (!qp_num)
			qp_num = udma_dev->caps.num_qps;
	} else {
		qp_num = 0;
	}

	return qp_num;
@@ -685,7 +683,7 @@ static int dereg_dca_page_proc(struct dca_mem *mem, uint32_t index,
	}
}

int udma_deregister_dca_mem(struct udma_dev *dev,
int udma_unregister_dca_mem(struct udma_dev *dev,
			    struct udma_ucontext *context,
			    struct udma_dca_dereg_attr *attr, bool from_user)
{
+3 −5
Original line number Diff line number Diff line
@@ -190,9 +190,7 @@ void udma_modify_dca(struct udma_dev *dev, struct udma_qp *qp);

int udma_register_dca_mem(struct udma_dev *dev, struct udma_ucontext *context,
			  struct udma_dca_reg_attr *attr);
void unregister_dca_mem(struct udma_dev *dev, struct udma_dca_ctx *ctx,
			struct dca_mem *mem);
int udma_deregister_dca_mem(struct udma_dev *dev,
int udma_unregister_dca_mem(struct udma_dev *dev,
			    struct udma_ucontext *context,
			    struct udma_dca_dereg_attr *attr, bool from_user);

+4 −2
Original line number Diff line number Diff line
@@ -520,7 +520,9 @@ struct udma_priv {
};

struct udma_hem_table {
	/* HEM type: 0 = qpc, 1 = mtt, 2 = cqc, 3 = srq, 4 = other */
	/* HEM type: 0 = qpc, 1 = mtpt, 2 = cqc, 3 = srqc, 4 = sccc,
	 * 5 = qpc_timer, 6 = cqc_timer, 7 = gmv
	 */
	uint32_t		type;
	/* HEM array elment num */
	uint64_t		num_hem;
Loading