drm/amdkfd: ratelimited SQ interrupt messages
[ Upstream commit 37fb87910724f21a1f27a75743d4f9accdee77fb ] No functional change. Use ratelimited version of pr_ to avoid overflowing of dmesg buffer Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com> Reviewed-by: Philip Yang <philip.yang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
bc2808a281
commit
de1ce1081b
@ -268,7 +268,7 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
|
||||
SQ_INTERRUPT_WORD_WAVE_CTXID1, ENCODING);
|
||||
switch (encoding) {
|
||||
case SQ_INTERRUPT_WORD_ENCODING_AUTO:
|
||||
pr_debug(
|
||||
pr_debug_ratelimited(
|
||||
"sq_intr: auto, se %d, ttrace %d, wlt %d, ttrac_buf0_full %d, ttrac_buf1_full %d, ttrace_utc_err %d\n",
|
||||
REG_GET_FIELD(context_id1, SQ_INTERRUPT_WORD_AUTO_CTXID1,
|
||||
SE_ID),
|
||||
@ -284,7 +284,7 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
|
||||
THREAD_TRACE_UTC_ERROR));
|
||||
break;
|
||||
case SQ_INTERRUPT_WORD_ENCODING_INST:
|
||||
pr_debug("sq_intr: inst, se %d, data 0x%x, sa %d, priv %d, wave_id %d, simd_id %d, wgp_id %d\n",
|
||||
pr_debug_ratelimited("sq_intr: inst, se %d, data 0x%x, sa %d, priv %d, wave_id %d, simd_id %d, wgp_id %d\n",
|
||||
REG_GET_FIELD(context_id1, SQ_INTERRUPT_WORD_WAVE_CTXID1,
|
||||
SE_ID),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID0,
|
||||
@ -310,7 +310,7 @@ static void event_interrupt_wq_v10(struct kfd_node *dev,
|
||||
case SQ_INTERRUPT_WORD_ENCODING_ERROR:
|
||||
sq_intr_err_type = REG_GET_FIELD(context_id0, KFD_CTXID0,
|
||||
ERR_TYPE);
|
||||
pr_warn("sq_intr: error, se %d, data 0x%x, sa %d, priv %d, wave_id %d, simd_id %d, wgp_id %d, err_type %d\n",
|
||||
pr_warn_ratelimited("sq_intr: error, se %d, data 0x%x, sa %d, priv %d, wave_id %d, simd_id %d, wgp_id %d, err_type %d\n",
|
||||
REG_GET_FIELD(context_id1, SQ_INTERRUPT_WORD_WAVE_CTXID1,
|
||||
SE_ID),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID0,
|
||||
|
@ -150,7 +150,7 @@ enum SQ_INTERRUPT_ERROR_TYPE {
|
||||
|
||||
static void print_sq_intr_info_auto(uint32_t context_id0, uint32_t context_id1)
|
||||
{
|
||||
pr_debug(
|
||||
pr_debug_ratelimited(
|
||||
"sq_intr: auto, ttrace %d, wlt %d, ttrace_buf_full %d, reg_tms %d, cmd_tms %d, host_cmd_ovf %d, host_reg_ovf %d, immed_ovf %d, ttrace_utc_err %d\n",
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_AUTO_CTXID0, THREAD_TRACE),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_AUTO_CTXID0, WLT),
|
||||
@ -165,7 +165,7 @@ static void print_sq_intr_info_auto(uint32_t context_id0, uint32_t context_id1)
|
||||
|
||||
static void print_sq_intr_info_inst(uint32_t context_id0, uint32_t context_id1)
|
||||
{
|
||||
pr_debug(
|
||||
pr_debug_ratelimited(
|
||||
"sq_intr: inst, data 0x%08x, sh %d, priv %d, wave_id %d, simd_id %d, wgp_id %d\n",
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID0, DATA),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID0, SH_ID),
|
||||
@ -177,7 +177,7 @@ static void print_sq_intr_info_inst(uint32_t context_id0, uint32_t context_id1)
|
||||
|
||||
static void print_sq_intr_info_error(uint32_t context_id0, uint32_t context_id1)
|
||||
{
|
||||
pr_warn(
|
||||
pr_warn_ratelimited(
|
||||
"sq_intr: error, detail 0x%08x, type %d, sh %d, priv %d, wave_id %d, simd_id %d, wgp_id %d\n",
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_ERROR_CTXID0, DETAIL),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_ERROR_CTXID0, TYPE),
|
||||
|
@ -333,7 +333,7 @@ static void event_interrupt_wq_v9(struct kfd_node *dev,
|
||||
encoding = REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, ENCODING);
|
||||
switch (encoding) {
|
||||
case SQ_INTERRUPT_WORD_ENCODING_AUTO:
|
||||
pr_debug(
|
||||
pr_debug_ratelimited(
|
||||
"sq_intr: auto, se %d, ttrace %d, wlt %d, ttrac_buf_full %d, reg_tms %d, cmd_tms %d, host_cmd_ovf %d, host_reg_ovf %d, immed_ovf %d, ttrace_utc_err %d\n",
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_AUTO_CTXID, SE_ID),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_AUTO_CTXID, THREAD_TRACE),
|
||||
@ -347,7 +347,7 @@ static void event_interrupt_wq_v9(struct kfd_node *dev,
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_AUTO_CTXID, THREAD_TRACE_UTC_ERROR));
|
||||
break;
|
||||
case SQ_INTERRUPT_WORD_ENCODING_INST:
|
||||
pr_debug("sq_intr: inst, se %d, data 0x%x, sh %d, priv %d, wave_id %d, simd_id %d, cu_id %d, intr_data 0x%x\n",
|
||||
pr_debug_ratelimited("sq_intr: inst, se %d, data 0x%x, sh %d, priv %d, wave_id %d, simd_id %d, cu_id %d, intr_data 0x%x\n",
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, SE_ID),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, DATA),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, SH_ID),
|
||||
@ -366,7 +366,7 @@ static void event_interrupt_wq_v9(struct kfd_node *dev,
|
||||
break;
|
||||
case SQ_INTERRUPT_WORD_ENCODING_ERROR:
|
||||
sq_intr_err = REG_GET_FIELD(sq_int_data, KFD_SQ_INT_DATA, ERR_TYPE);
|
||||
pr_warn("sq_intr: error, se %d, data 0x%x, sh %d, priv %d, wave_id %d, simd_id %d, cu_id %d, err_type %d\n",
|
||||
pr_warn_ratelimited("sq_intr: error, se %d, data 0x%x, sh %d, priv %d, wave_id %d, simd_id %d, cu_id %d, err_type %d\n",
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, SE_ID),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, DATA),
|
||||
REG_GET_FIELD(context_id0, SQ_INTERRUPT_WORD_WAVE_CTXID, SH_ID),
|
||||
|
Loading…
x
Reference in New Issue
Block a user