msm: eva: Use ratelimited kernel logging
In case of error recurring frequently. Change-Id: I5d8f9b3a65a3d1faa6646c38dbd2e96d3beeca1b Signed-off-by: George Shen <quic_sqiao@quicinc.com>
Este cometimento está contido em:
@@ -1917,7 +1917,7 @@ int cvp_release_arp_buffers(struct msm_cvp_inst *inst)
|
|||||||
__func__, rc);
|
__func__, rc);
|
||||||
mutex_lock(&inst->persistbufs.lock);
|
mutex_lock(&inst->persistbufs.lock);
|
||||||
} else {
|
} else {
|
||||||
dprintk(CVP_WARN, "Fail to send Rel prst buf\n");
|
dprintk_rl(CVP_WARN, "Fail to send Rel prst buf\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -182,7 +182,7 @@ void *msm_cvp_open(int core_id, int session_type, struct task_struct *task)
|
|||||||
goto err_invalid_core;
|
goto err_invalid_core;
|
||||||
}
|
}
|
||||||
|
|
||||||
pr_info(
|
pr_info_ratelimited(
|
||||||
CVP_DBG_TAG "%s opening cvp instance: %pK type %d cnt %d\n",
|
CVP_DBG_TAG "%s opening cvp instance: %pK type %d cnt %d\n",
|
||||||
"sess", task->comm, inst, session_type, instance_count);
|
"sess", task->comm, inst, session_type, instance_count);
|
||||||
mutex_init(&inst->sync_lock);
|
mutex_init(&inst->sync_lock);
|
||||||
@@ -356,7 +356,7 @@ wait_frame:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cvp_release_arp_buffers(inst))
|
if (cvp_release_arp_buffers(inst))
|
||||||
dprintk(CVP_ERR,
|
dprintk_rl(CVP_WARN,
|
||||||
"Failed to release persist buffers\n");
|
"Failed to release persist buffers\n");
|
||||||
|
|
||||||
if (inst->prop.type == HFI_SESSION_FD
|
if (inst->prop.type == HFI_SESSION_FD
|
||||||
@@ -412,7 +412,7 @@ int msm_cvp_destroy(struct msm_cvp_inst *inst)
|
|||||||
__deinit_fence_queue(inst);
|
__deinit_fence_queue(inst);
|
||||||
core->synx_ftbl->cvp_sess_deinit_synx(inst);
|
core->synx_ftbl->cvp_sess_deinit_synx(inst);
|
||||||
|
|
||||||
pr_info(
|
pr_info_ratelimited(
|
||||||
CVP_DBG_TAG
|
CVP_DBG_TAG
|
||||||
"closed cvp instance: %pK session_id = %d type %d %d\n",
|
"closed cvp instance: %pK session_id = %d type %d %d\n",
|
||||||
inst->proc_name, inst, hash32_ptr(inst->session),
|
inst->proc_name, inst, hash32_ptr(inst->session),
|
||||||
@@ -448,7 +448,7 @@ int msm_cvp_close(void *instance)
|
|||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
if (!inst || !inst->core) {
|
if (!inst || !inst->core) {
|
||||||
dprintk(CVP_ERR, "%s: invalid params\n", __func__);
|
dprintk_rl(CVP_ERR, "%s: invalid params\n", __func__);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -82,6 +82,18 @@ extern bool cvp_kernel_fence_enabled;
|
|||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
/* dprintk_rl is designed for printing frequent recurring errors */
|
||||||
|
#define dprintk_rl(__level, __fmt, arg...) \
|
||||||
|
do { \
|
||||||
|
if (msm_cvp_debug & __level) { \
|
||||||
|
if (msm_cvp_debug_out == CVP_OUT_PRINTK) { \
|
||||||
|
pr_info_ratelimited(CVP_DBG_TAG __fmt, \
|
||||||
|
get_debug_level_str(__level), \
|
||||||
|
## arg); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define MSM_CVP_ERROR(value) \
|
#define MSM_CVP_ERROR(value) \
|
||||||
do { if (value) \
|
do { if (value) \
|
||||||
dprintk(CVP_ERR, "BugOn"); \
|
dprintk(CVP_ERR, "BugOn"); \
|
||||||
|
@@ -302,7 +302,7 @@ static int convert_from_user(struct eva_kmd_arg *kp,
|
|||||||
int pkt_idx;
|
int pkt_idx;
|
||||||
|
|
||||||
if (!kp || !up) {
|
if (!kp || !up) {
|
||||||
dprintk(CVP_ERR, "%s: invalid params\n", __func__);
|
dprintk_rl(CVP_ERR, "%s: invalid params\n", __func__);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -439,7 +439,7 @@ static int convert_from_user(struct eva_kmd_arg *kp,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
dprintk(CVP_ERR, "%s: unknown cmd type 0x%x\n",
|
dprintk_rl(CVP_ERR, "%s: unknown cmd type 0x%x\n",
|
||||||
__func__, kp->type);
|
__func__, kp->type);
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
break;
|
break;
|
||||||
@@ -615,7 +615,7 @@ static long cvp_ioctl(struct msm_cvp_inst *inst,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (convert_from_user(karg, arg, inst)) {
|
if (convert_from_user(karg, arg, inst)) {
|
||||||
dprintk(CVP_ERR, "%s: failed to get from user cmd %x\n",
|
dprintk_rl(CVP_ERR, "%s: failed to get from user cmd %x\n",
|
||||||
__func__, karg->type);
|
__func__, karg->type);
|
||||||
kfree(karg);
|
kfree(karg);
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador