diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4539-drm-amd-display-Default-log-masks-should-include-all.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4539-drm-amd-display-Default-log-masks-should-include-all.patch | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4539-drm-amd-display-Default-log-masks-should-include-all.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4539-drm-amd-display-Default-log-masks-should-include-all.patch new file mode 100644 index 00000000..b9ea50aa --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4539-drm-amd-display-Default-log-masks-should-include-all.patch @@ -0,0 +1,192 @@ +From 8f0df9f43346466cd4d8cfacd122a7d730b82996 Mon Sep 17 00:00:00 2001 +From: Aric Cyr <aric.cyr@amd.com> +Date: Wed, 9 May 2018 14:36:50 -0400 +Subject: [PATCH 4539/5725] 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> +--- + .../gpu/drm/amd/display/dc/basics/log_helpers.c | 2 + + drivers/gpu/drm/amd/display/dc/basics/logger.c | 83 +++++++++++----------- + .../gpu/drm/amd/display/include/logger_interface.h | 2 + + 3 files changed, 46 insertions(+), 41 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c b/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c +index 0214515..f6c00a5 100644 +--- a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c ++++ b/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c +@@ -78,6 +78,8 @@ void dc_conn_log(struct dc_context *ctx, + if (i == NUM_ELEMENTS(signal_type_info_tbl)) + goto fail; + ++ dm_logger_append_heading(&entry); ++ + dm_logger_append(&entry, "[%s][ConnIdx:%d] ", + signal_type_info_tbl[i].name, + link->link_index); +diff --git a/drivers/gpu/drm/amd/display/dc/basics/logger.c b/drivers/gpu/drm/amd/display/dc/basics/logger.c +index 738a818..733bc5b 100644 +--- a/drivers/gpu/drm/amd/display/dc/basics/logger.c ++++ b/drivers/gpu/drm/amd/display/dc/basics/logger.c +@@ -32,8 +32,9 @@ + static const struct dc_log_type_info log_type_info_tbl[] = { + {LOG_ERROR, "Error"}, + {LOG_WARNING, "Warning"}, +- {LOG_DEBUG, "Debug"}, ++ {LOG_DEBUG, "Debug"}, + {LOG_DC, "DC_Interface"}, ++ {LOG_DTN, "DTN"}, + {LOG_SURFACE, "Surface"}, + {LOG_HW_HOTPLUG, "HW_Hotplug"}, + {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_UNDERFLOW, "Underflow"}, + {LOG_IF_TRACE, "InterfaceTrace"}, +- {LOG_DTN, "DTN"}, ++ {LOG_PERF_TRACE, "PerfTrace"}, + {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( + struct dal_logger *logger, + 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) + { +@@ -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( + struct log_entry *entry, + char *buffer, +@@ -259,11 +264,7 @@ static void append_entry( + 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( + struct dal_logger *logger, + enum dc_log_type log_type, +@@ -287,7 +288,7 @@ void dm_logger_write( + + entry.type = log_type; + +- log_heading(&entry); ++ dm_logger_append_heading(&entry); + + size = dm_log_to_buffer( + buffer, LOG_MAX_LINE_SIZE - 1, msg, args); +@@ -372,7 +373,7 @@ void dm_logger_open( + + logger->open_count++; + +- log_heading(entry); ++ dm_logger_append_heading(entry); + } + + void dm_logger_close(struct log_entry *entry) +diff --git a/drivers/gpu/drm/amd/display/include/logger_interface.h b/drivers/gpu/drm/amd/display/include/logger_interface.h +index dc98d6d..0f10ed7 100644 +--- a/drivers/gpu/drm/amd/display/include/logger_interface.h ++++ b/drivers/gpu/drm/amd/display/include/logger_interface.h +@@ -62,6 +62,8 @@ void dm_logger_append_va( + const char *msg, + va_list args); + ++void dm_logger_append_heading(struct log_entry *entry); ++ + void dm_logger_open( + struct dal_logger *logger, + struct log_entry *entry, +-- +2.7.4 + |