drm/amd/display: Default log masks should include all connectivity events

Signed-off-by: Aric Cyr <aric.cyr@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Aric Cyr 2018-05-09 14:36:50 -04:00 committed by Alex Deucher
parent cb1d7eacb5
commit bf58968647
3 changed files with 46 additions and 41 deletions

View File

@ -78,6 +78,8 @@ void dc_conn_log(struct dc_context *ctx,
if (i == NUM_ELEMENTS(signal_type_info_tbl)) if (i == NUM_ELEMENTS(signal_type_info_tbl))
goto fail; goto fail;
dm_logger_append_heading(&entry);
dm_logger_append(&entry, "[%s][ConnIdx:%d] ", dm_logger_append(&entry, "[%s][ConnIdx:%d] ",
signal_type_info_tbl[i].name, signal_type_info_tbl[i].name,
link->link_index); link->link_index);

View File

@ -32,8 +32,9 @@
static const struct dc_log_type_info log_type_info_tbl[] = { static const struct dc_log_type_info log_type_info_tbl[] = {
{LOG_ERROR, "Error"}, {LOG_ERROR, "Error"},
{LOG_WARNING, "Warning"}, {LOG_WARNING, "Warning"},
{LOG_DEBUG, "Debug"}, {LOG_DEBUG, "Debug"},
{LOG_DC, "DC_Interface"}, {LOG_DC, "DC_Interface"},
{LOG_DTN, "DTN"},
{LOG_SURFACE, "Surface"}, {LOG_SURFACE, "Surface"},
{LOG_HW_HOTPLUG, "HW_Hotplug"}, {LOG_HW_HOTPLUG, "HW_Hotplug"},
{LOG_HW_LINK_TRAINING, "HW_LKTN"}, {LOG_HW_LINK_TRAINING, "HW_LKTN"},
@ -60,7 +61,7 @@ static const struct dc_log_type_info log_type_info_tbl[] = {
{LOG_EVENT_LINK_LOSS, "LinkLoss"}, {LOG_EVENT_LINK_LOSS, "LinkLoss"},
{LOG_EVENT_UNDERFLOW, "Underflow"}, {LOG_EVENT_UNDERFLOW, "Underflow"},
{LOG_IF_TRACE, "InterfaceTrace"}, {LOG_IF_TRACE, "InterfaceTrace"},
{LOG_DTN, "DTN"}, {LOG_PERF_TRACE, "PerfTrace"},
{LOG_DISPLAYSTATS, "DisplayStats"} {LOG_DISPLAYSTATS, "DisplayStats"}
}; };
@ -128,8 +129,45 @@ uint32_t dal_logger_destroy(struct dal_logger **logger)
} }
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
void dm_logger_append_heading(struct log_entry *entry)
{
int j;
for (j = 0; j < NUM_ELEMENTS(log_type_info_tbl); j++) {
const struct dc_log_type_info *info = &log_type_info_tbl[j];
if (info->type == entry->type)
dm_logger_append(entry, "[%s]\t", info->name);
}
}
/* Print everything unread existing in log_buffer to debug console*/
void dm_logger_flush_buffer(struct dal_logger *logger, bool should_warn)
{
char *string_start = &logger->log_buffer[logger->buffer_read_offset];
if (should_warn)
dm_output_to_console(
"---------------- FLUSHING LOG BUFFER ----------------\n");
while (logger->buffer_read_offset < logger->buffer_write_offset) {
if (logger->log_buffer[logger->buffer_read_offset] == '\0') {
dm_output_to_console("%s", string_start);
string_start = logger->log_buffer + logger->buffer_read_offset + 1;
}
logger->buffer_read_offset++;
}
if (should_warn)
dm_output_to_console(
"-------------- END FLUSHING LOG BUFFER --------------\n\n");
}
/* ------------------------------------------------------------------------ */
/* Warning: Be careful that 'msg' is null terminated and the total size is
* less than DAL_LOGGER_BUFFER_MAX_LOG_LINE_SIZE (256) including '\0'
*/
static bool dal_logger_should_log( static bool dal_logger_should_log(
struct dal_logger *logger, struct dal_logger *logger,
enum dc_log_type log_type) enum dc_log_type log_type)
@ -159,26 +197,6 @@ static void log_to_debug_console(struct log_entry *entry)
} }
} }
/* Print everything unread existing in log_buffer to debug console*/
void dm_logger_flush_buffer(struct dal_logger *logger, bool should_warn)
{
char *string_start = &logger->log_buffer[logger->buffer_read_offset];
if (should_warn)
dm_output_to_console(
"---------------- FLUSHING LOG BUFFER ----------------\n");
while (logger->buffer_read_offset < logger->buffer_write_offset) {
if (logger->log_buffer[logger->buffer_read_offset] == '\0') {
dm_output_to_console("%s", string_start);
string_start = logger->log_buffer + logger->buffer_read_offset + 1;
}
logger->buffer_read_offset++;
}
if (should_warn)
dm_output_to_console(
"-------------- END FLUSHING LOG BUFFER --------------\n\n");
}
static void log_to_internal_buffer(struct log_entry *entry) static void log_to_internal_buffer(struct log_entry *entry)
{ {
@ -229,19 +247,6 @@ static void log_to_internal_buffer(struct log_entry *entry)
} }
} }
static void log_heading(struct log_entry *entry)
{
int j;
for (j = 0; j < NUM_ELEMENTS(log_type_info_tbl); j++) {
const struct dc_log_type_info *info = &log_type_info_tbl[j];
if (info->type == entry->type)
dm_logger_append(entry, "[%s]\t", info->name);
}
}
static void append_entry( static void append_entry(
struct log_entry *entry, struct log_entry *entry,
char *buffer, char *buffer,
@ -259,11 +264,7 @@ static void append_entry(
entry->buf_offset += buf_size; entry->buf_offset += buf_size;
} }
/* ------------------------------------------------------------------------ */
/* Warning: Be careful that 'msg' is null terminated and the total size is
* less than DAL_LOGGER_BUFFER_MAX_LOG_LINE_SIZE (256) including '\0'
*/
void dm_logger_write( void dm_logger_write(
struct dal_logger *logger, struct dal_logger *logger,
enum dc_log_type log_type, enum dc_log_type log_type,
@ -287,7 +288,7 @@ void dm_logger_write(
entry.type = log_type; entry.type = log_type;
log_heading(&entry); dm_logger_append_heading(&entry);
size = dm_log_to_buffer( size = dm_log_to_buffer(
buffer, LOG_MAX_LINE_SIZE - 1, msg, args); buffer, LOG_MAX_LINE_SIZE - 1, msg, args);
@ -372,7 +373,7 @@ void dm_logger_open(
logger->open_count++; logger->open_count++;
log_heading(entry); dm_logger_append_heading(entry);
} }
void dm_logger_close(struct log_entry *entry) void dm_logger_close(struct log_entry *entry)

View File

@ -62,6 +62,8 @@ void dm_logger_append_va(
const char *msg, const char *msg,
va_list args); va_list args);
void dm_logger_append_heading(struct log_entry *entry);
void dm_logger_open( void dm_logger_open(
struct dal_logger *logger, struct dal_logger *logger,
struct log_entry *entry, struct log_entry *entry,