drm/amd/display: Fix DMUB debugging print issue
[Why] The DMUB diagnostic data was not printed out correctly. [How] Print the DMUB diagnostic data line by line. Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Cruise Hung <cruise.hung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
73ade646c5
commit
f36f2648f3
|
@ -4832,6 +4832,18 @@ void dc_process_dmub_dpia_hpd_int_enable(const struct dc *dc,
|
|||
DC_LOG_DEBUG("%s: hpd_int_enable(%d)\n", __func__, hpd_int_enable);
|
||||
}
|
||||
|
||||
/**
|
||||
* dc_print_dmub_diagnostic_data - Print DMUB diagnostic data for debugging
|
||||
*
|
||||
* @dc: [in] dc structure
|
||||
*
|
||||
*
|
||||
*/
|
||||
void dc_print_dmub_diagnostic_data(const struct dc *dc)
|
||||
{
|
||||
dc_dmub_srv_log_diagnostic_data(dc->ctx->dmub_srv);
|
||||
}
|
||||
|
||||
/**
|
||||
* dc_disable_accelerated_mode - disable accelerated mode
|
||||
* @dc: dc structure
|
||||
|
|
|
@ -2236,6 +2236,8 @@ enum dc_status dc_process_dmub_set_mst_slots(const struct dc *dc,
|
|||
void dc_process_dmub_dpia_hpd_int_enable(const struct dc *dc,
|
||||
uint32_t hpd_int_enable);
|
||||
|
||||
void dc_print_dmub_diagnostic_data(const struct dc *dc);
|
||||
|
||||
/* DSC Interfaces */
|
||||
#include "dc_dsc.h"
|
||||
|
||||
|
|
|
@ -169,6 +169,7 @@ bool dc_dmub_srv_cmd_run_list(struct dc_dmub_srv *dc_dmub_srv, unsigned int coun
|
|||
|
||||
if (status != DMUB_STATUS_OK) {
|
||||
DC_LOG_DEBUG("No reply for DMUB command: status=%d\n", status);
|
||||
dc_dmub_srv_log_diagnostic_data(dc_dmub_srv);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -797,74 +798,40 @@ void dc_dmub_srv_log_diagnostic_data(struct dc_dmub_srv *dc_dmub_srv)
|
|||
return;
|
||||
}
|
||||
|
||||
DC_LOG_DEBUG(
|
||||
"DMCUB STATE\n"
|
||||
" dmcub_version : %08x\n"
|
||||
" scratch [0] : %08x\n"
|
||||
" scratch [1] : %08x\n"
|
||||
" scratch [2] : %08x\n"
|
||||
" scratch [3] : %08x\n"
|
||||
" scratch [4] : %08x\n"
|
||||
" scratch [5] : %08x\n"
|
||||
" scratch [6] : %08x\n"
|
||||
" scratch [7] : %08x\n"
|
||||
" scratch [8] : %08x\n"
|
||||
" scratch [9] : %08x\n"
|
||||
" scratch [10] : %08x\n"
|
||||
" scratch [11] : %08x\n"
|
||||
" scratch [12] : %08x\n"
|
||||
" scratch [13] : %08x\n"
|
||||
" scratch [14] : %08x\n"
|
||||
" scratch [15] : %08x\n"
|
||||
" pc : %08x\n"
|
||||
" unk_fault_addr : %08x\n"
|
||||
" inst_fault_addr : %08x\n"
|
||||
" data_fault_addr : %08x\n"
|
||||
" inbox1_rptr : %08x\n"
|
||||
" inbox1_wptr : %08x\n"
|
||||
" inbox1_size : %08x\n"
|
||||
" inbox0_rptr : %08x\n"
|
||||
" inbox0_wptr : %08x\n"
|
||||
" inbox0_size : %08x\n"
|
||||
" is_enabled : %d\n"
|
||||
" is_soft_reset : %d\n"
|
||||
" is_secure_reset : %d\n"
|
||||
" is_traceport_en : %d\n"
|
||||
" is_cw0_en : %d\n"
|
||||
" is_cw6_en : %d\n",
|
||||
diag_data.dmcub_version,
|
||||
diag_data.scratch[0],
|
||||
diag_data.scratch[1],
|
||||
diag_data.scratch[2],
|
||||
diag_data.scratch[3],
|
||||
diag_data.scratch[4],
|
||||
diag_data.scratch[5],
|
||||
diag_data.scratch[6],
|
||||
diag_data.scratch[7],
|
||||
diag_data.scratch[8],
|
||||
diag_data.scratch[9],
|
||||
diag_data.scratch[10],
|
||||
diag_data.scratch[11],
|
||||
diag_data.scratch[12],
|
||||
diag_data.scratch[13],
|
||||
diag_data.scratch[14],
|
||||
diag_data.scratch[15],
|
||||
diag_data.pc,
|
||||
diag_data.undefined_address_fault_addr,
|
||||
diag_data.inst_fetch_fault_addr,
|
||||
diag_data.data_write_fault_addr,
|
||||
diag_data.inbox1_rptr,
|
||||
diag_data.inbox1_wptr,
|
||||
diag_data.inbox1_size,
|
||||
diag_data.inbox0_rptr,
|
||||
diag_data.inbox0_wptr,
|
||||
diag_data.inbox0_size,
|
||||
diag_data.is_dmcub_enabled,
|
||||
diag_data.is_dmcub_soft_reset,
|
||||
diag_data.is_dmcub_secure_reset,
|
||||
diag_data.is_traceport_en,
|
||||
diag_data.is_cw0_enabled,
|
||||
diag_data.is_cw6_enabled);
|
||||
DC_LOG_DEBUG("DMCUB STATE:");
|
||||
DC_LOG_DEBUG(" dmcub_version : %08x", diag_data.dmcub_version);
|
||||
DC_LOG_DEBUG(" scratch [0] : %08x", diag_data.scratch[0]);
|
||||
DC_LOG_DEBUG(" scratch [1] : %08x", diag_data.scratch[1]);
|
||||
DC_LOG_DEBUG(" scratch [2] : %08x", diag_data.scratch[2]);
|
||||
DC_LOG_DEBUG(" scratch [3] : %08x", diag_data.scratch[3]);
|
||||
DC_LOG_DEBUG(" scratch [4] : %08x", diag_data.scratch[4]);
|
||||
DC_LOG_DEBUG(" scratch [5] : %08x", diag_data.scratch[5]);
|
||||
DC_LOG_DEBUG(" scratch [6] : %08x", diag_data.scratch[6]);
|
||||
DC_LOG_DEBUG(" scratch [7] : %08x", diag_data.scratch[7]);
|
||||
DC_LOG_DEBUG(" scratch [8] : %08x", diag_data.scratch[8]);
|
||||
DC_LOG_DEBUG(" scratch [9] : %08x", diag_data.scratch[9]);
|
||||
DC_LOG_DEBUG(" scratch [10] : %08x", diag_data.scratch[10]);
|
||||
DC_LOG_DEBUG(" scratch [11] : %08x", diag_data.scratch[11]);
|
||||
DC_LOG_DEBUG(" scratch [12] : %08x", diag_data.scratch[12]);
|
||||
DC_LOG_DEBUG(" scratch [13] : %08x", diag_data.scratch[13]);
|
||||
DC_LOG_DEBUG(" scratch [14] : %08x", diag_data.scratch[14]);
|
||||
DC_LOG_DEBUG(" scratch [15] : %08x", diag_data.scratch[15]);
|
||||
DC_LOG_DEBUG(" pc : %08x", diag_data.pc);
|
||||
DC_LOG_DEBUG(" unk_fault_addr : %08x", diag_data.undefined_address_fault_addr);
|
||||
DC_LOG_DEBUG(" inst_fault_addr : %08x", diag_data.inst_fetch_fault_addr);
|
||||
DC_LOG_DEBUG(" data_fault_addr : %08x", diag_data.data_write_fault_addr);
|
||||
DC_LOG_DEBUG(" inbox1_rptr : %08x", diag_data.inbox1_rptr);
|
||||
DC_LOG_DEBUG(" inbox1_wptr : %08x", diag_data.inbox1_wptr);
|
||||
DC_LOG_DEBUG(" inbox1_size : %08x", diag_data.inbox1_size);
|
||||
DC_LOG_DEBUG(" inbox0_rptr : %08x", diag_data.inbox0_rptr);
|
||||
DC_LOG_DEBUG(" inbox0_wptr : %08x", diag_data.inbox0_wptr);
|
||||
DC_LOG_DEBUG(" inbox0_size : %08x", diag_data.inbox0_size);
|
||||
DC_LOG_DEBUG(" is_enabled : %d", diag_data.is_dmcub_enabled);
|
||||
DC_LOG_DEBUG(" is_soft_reset : %d", diag_data.is_dmcub_soft_reset);
|
||||
DC_LOG_DEBUG(" is_secure_reset : %d", diag_data.is_dmcub_secure_reset);
|
||||
DC_LOG_DEBUG(" is_traceport_en : %d", diag_data.is_traceport_en);
|
||||
DC_LOG_DEBUG(" is_cw0_en : %d", diag_data.is_cw0_enabled);
|
||||
DC_LOG_DEBUG(" is_cw6_en : %d", diag_data.is_cw6_enabled);
|
||||
}
|
||||
|
||||
static bool dc_can_pipe_disable_cursor(struct pipe_ctx *pipe_ctx)
|
||||
|
|
Loading…
Reference in New Issue