mirror of https://gitee.com/openkylin/linux.git
drm/amd/display: Add extra mode and clock info to DTN logs
Adds some additional information to logs in dc_commit_streams to better match Dal2. Also adds a new function, dc_raw_log, that has the same functionality as dc_conn_log, but does not attach display specific prefixes to the log output. Finally, adds a new DC log type, LOG_DTN, that logs to LogMinor_DispConnect_dtn in DM. This new log type and dc_raw_log are used to generate clock info in the logs to match Dal2. Signed-off-by: Corbin McElhanney <corbin.mcelhanney@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:
parent
1663ae1c42
commit
9ff1bb090b
|
@ -322,7 +322,7 @@ bool dm_helpers_dp_mst_send_payload_allocation(
|
|||
return true;
|
||||
}
|
||||
|
||||
bool dm_helpers_dc_conn_log(struct dc_context*ctx, const char *msg)
|
||||
bool dm_helpers_dc_conn_log(struct dc_context *ctx, struct log_entry *entry, enum dc_log_type event)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -95,7 +95,35 @@ void dc_conn_log(struct dc_context *ctx,
|
|||
dm_logger_append(&entry, "%2.2X ", hex_data[i]);
|
||||
|
||||
dm_logger_append(&entry, "^\n");
|
||||
dm_helpers_dc_conn_log(ctx, entry.buf);
|
||||
dm_helpers_dc_conn_log(ctx, &entry, event);
|
||||
dm_logger_close(&entry);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void dc_raw_log(struct dc_context *ctx,
|
||||
enum dc_log_type event,
|
||||
const char *msg,
|
||||
...)
|
||||
{
|
||||
va_list args;
|
||||
struct log_entry entry = { 0 };
|
||||
|
||||
dm_logger_open(ctx->logger, &entry, event);
|
||||
|
||||
va_start(args, msg);
|
||||
entry.buf_offset += dm_log_to_buffer(
|
||||
&entry.buf[entry.buf_offset],
|
||||
LOG_MAX_LINE_SIZE - entry.buf_offset,
|
||||
msg, args);
|
||||
|
||||
if (entry.buf[strlen(entry.buf) - 1] == '\n') {
|
||||
entry.buf[strlen(entry.buf) - 1] = '\0';
|
||||
entry.buf_offset--;
|
||||
}
|
||||
|
||||
dm_logger_append(&entry, "^\n");
|
||||
dm_helpers_dc_conn_log(ctx, &entry, event);
|
||||
dm_logger_close(&entry);
|
||||
|
||||
va_end(args);
|
||||
|
|
|
@ -59,7 +59,8 @@ static const struct dc_log_type_info log_type_info_tbl[] = {
|
|||
{LOG_EVENT_LINK_TRAINING, "LKTN"},
|
||||
{LOG_EVENT_LINK_LOSS, "LinkLoss"},
|
||||
{LOG_EVENT_UNDERFLOW, "Underflow"},
|
||||
{LOG_IF_TRACE, "InterfaceTrace"}
|
||||
{LOG_IF_TRACE, "InterfaceTrace"},
|
||||
{LOG_DTN, "DTN"}
|
||||
};
|
||||
|
||||
|
||||
|
@ -84,7 +85,8 @@ static const struct dc_log_type_info log_type_info_tbl[] = {
|
|||
(1 << LOG_DETECTION_DP_CAPS) | \
|
||||
(1 << LOG_BACKLIGHT)) | \
|
||||
(1 << LOG_I2C_AUX) | \
|
||||
(1 << LOG_IF_TRACE) /* | \
|
||||
(1 << LOG_IF_TRACE) | \
|
||||
(1 << LOG_DTN) /* | \
|
||||
(1 << LOG_DEBUG) | \
|
||||
(1 << LOG_BIOS) | \
|
||||
(1 << LOG_SURFACE) | \
|
||||
|
|
|
@ -944,9 +944,14 @@ bool dc_commit_streams(
|
|||
dc_enable_stereo(dc, context, streams, stream_count);
|
||||
}
|
||||
|
||||
CONN_MSG_MODE(sink->link, "{%dx%d, %dx%d@%dKhz}",
|
||||
CONN_MSG_MODE(sink->link, "{%ux%u, %ux%u@%u, %ux%u@%uKhz}",
|
||||
context->streams[i]->public.src.width,
|
||||
context->streams[i]->public.src.height,
|
||||
context->streams[i]->public.timing.h_addressable,
|
||||
context->streams[i]->public.timing.v_addressable,
|
||||
context->streams[i]->public.timing.pix_clk_khz * 1000 /
|
||||
context->streams[i]->public.timing.h_total /
|
||||
context->streams[i]->public.timing.v_total, // Refresh rate
|
||||
context->streams[i]->public.timing.h_total,
|
||||
context->streams[i]->public.timing.v_total,
|
||||
context->streams[i]->public.timing.pix_clk_khz);
|
||||
|
|
|
@ -70,7 +70,8 @@ bool dm_helpers_dp_mst_start_top_mgr(
|
|||
|
||||
bool dm_helpers_dc_conn_log(
|
||||
struct dc_context*ctx,
|
||||
const char *msg);
|
||||
struct log_entry *entry,
|
||||
enum dc_log_type event);
|
||||
|
||||
void dm_helpers_dp_mst_stop_top_mgr(
|
||||
struct dc_context *ctx,
|
||||
|
|
|
@ -70,6 +70,11 @@ void dc_conn_log(struct dc_context *ctx,
|
|||
const char *msg,
|
||||
...);
|
||||
|
||||
void dc_raw_log(struct dc_context *ctx,
|
||||
enum dc_log_type event,
|
||||
const char *msg,
|
||||
...);
|
||||
|
||||
void logger_write(struct dal_logger *logger,
|
||||
enum dc_log_type log_type,
|
||||
const char *msg,
|
||||
|
|
|
@ -37,6 +37,7 @@ enum dc_log_type {
|
|||
LOG_WARNING,
|
||||
LOG_DEBUG,
|
||||
LOG_DC,
|
||||
LOG_DTN,
|
||||
LOG_SURFACE,
|
||||
LOG_HW_HOTPLUG,
|
||||
LOG_HW_LINK_TRAINING,
|
||||
|
|
Loading…
Reference in New Issue