aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4457-drm-amd-display-Make-DisplayStats-work-with-just-DC-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4457-drm-amd-display-Make-DisplayStats-work-with-just-DC-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4457-drm-amd-display-Make-DisplayStats-work-with-just-DC-.patch140
1 files changed, 140 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4457-drm-amd-display-Make-DisplayStats-work-with-just-DC-.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4457-drm-amd-display-Make-DisplayStats-work-with-just-DC-.patch
new file mode 100644
index 00000000..b4dcd0be
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4457-drm-amd-display-Make-DisplayStats-work-with-just-DC-.patch
@@ -0,0 +1,140 @@
+From 41ab3ae07811858df73db8eb7830297415204b0b Mon Sep 17 00:00:00 2001
+From: Anthony Koo <Anthony.Koo@amd.com>
+Date: Thu, 19 Apr 2018 10:05:22 -0400
+Subject: [PATCH 4457/5725] drm/amd/display: Make DisplayStats work with just
+ DC DisplayStats minor
+
+Remove dependency on the old FREESYNC_SW_STATS log mask used by DAL2
+Also rename from profiling to displaystats
+
+Signed-off-by: Anthony Koo <Anthony.Koo@amd.com>
+Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/basics/logger.c | 2 +-
+ drivers/gpu/drm/amd/display/include/logger_types.h | 2 +-
+ drivers/gpu/drm/amd/display/modules/stats/stats.c | 81 ++++++++++++----------
+ 3 files changed, 46 insertions(+), 39 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/basics/logger.c b/drivers/gpu/drm/amd/display/dc/basics/logger.c
+index 31bee05..0001a3c 100644
+--- a/drivers/gpu/drm/amd/display/dc/basics/logger.c
++++ b/drivers/gpu/drm/amd/display/dc/basics/logger.c
+@@ -61,7 +61,7 @@ static const struct dc_log_type_info log_type_info_tbl[] = {
+ {LOG_EVENT_UNDERFLOW, "Underflow"},
+ {LOG_IF_TRACE, "InterfaceTrace"},
+ {LOG_DTN, "DTN"},
+- {LOG_PROFILING, "Profiling"}
++ {LOG_DISPLAYSTATS, "DisplayStats"}
+ };
+
+
+diff --git a/drivers/gpu/drm/amd/display/include/logger_types.h b/drivers/gpu/drm/amd/display/include/logger_types.h
+index b608a08..0a540b9 100644
+--- a/drivers/gpu/drm/amd/display/include/logger_types.h
++++ b/drivers/gpu/drm/amd/display/include/logger_types.h
+@@ -98,7 +98,7 @@ enum dc_log_type {
+ LOG_EVENT_UNDERFLOW,
+ LOG_IF_TRACE,
+ LOG_PERF_TRACE,
+- LOG_PROFILING,
++ LOG_DISPLAYSTATS,
+
+ LOG_SECTION_TOTAL_COUNT
+ };
+diff --git a/drivers/gpu/drm/amd/display/modules/stats/stats.c b/drivers/gpu/drm/amd/display/modules/stats/stats.c
+index 48e0219..d16aac7 100644
+--- a/drivers/gpu/drm/amd/display/modules/stats/stats.c
++++ b/drivers/gpu/drm/amd/display/modules/stats/stats.c
+@@ -177,44 +177,51 @@ void mod_stats_dump(struct mod_stats *mod_stats)
+ logger = dc->ctx->logger;
+ time = core_stats->time;
+
+- //LogEntry* pLog = GetLog()->Open(LogMajor_ISR, LogMinor_ISR_FreeSyncSW);
+-
+- //if (!pLog->IsDummyEntry())
+- {
+- dm_logger_write(logger, LOG_PROFILING, "==Display Caps==\n");
+- dm_logger_write(logger, LOG_PROFILING, "\n");
+- dm_logger_write(logger, LOG_PROFILING, "\n");
+-
+- dm_logger_write(logger, LOG_PROFILING, "==Stats==\n");
+- dm_logger_write(logger, LOG_PROFILING,
+- "render avgRender minWindow midPoint maxWindow vsyncToFlip flipToVsync #vsyncBetweenFlip #frame insertDuration vTotalMin vTotalMax eventTrigs vSyncTime1 vSyncTime2 vSyncTime3 vSyncTime4 vSyncTime5 flags\n");
+-
+- for (int i = 0; i < core_stats->index && i < core_stats->entries; i++) {
+- dm_logger_write(logger, LOG_PROFILING,
+- "%u %u %u %u %u %u %u %u %u %u %u %u %u %u %u %u %u %u %u",
+- time[i].render_time_in_us,
+- time[i].avg_render_time_in_us_last_ten,
+- time[i].min_window,
+- time[i].lfc_mid_point_in_us,
+- time[i].max_window,
+- time[i].vsync_to_flip_time_in_us,
+- time[i].flip_to_vsync_time_in_us,
+- time[i].num_vsync_between_flips,
+- time[i].num_frames_inserted,
+- time[i].inserted_duration_in_us,
+- time[i].v_total_min,
+- time[i].v_total_max,
+- time[i].event_triggers,
+- time[i].v_sync_time_in_us[0],
+- time[i].v_sync_time_in_us[1],
+- time[i].v_sync_time_in_us[2],
+- time[i].v_sync_time_in_us[3],
+- time[i].v_sync_time_in_us[4],
+- time[i].flags);
+- }
++ dm_logger_write(logger, LOG_DISPLAYSTATS, "==Display Caps==");
++ dm_logger_write(logger, LOG_DISPLAYSTATS, " ");
++
++ dm_logger_write(logger, LOG_DISPLAYSTATS, "==Display Stats==");
++ dm_logger_write(logger, LOG_DISPLAYSTATS, " ");
++
++ dm_logger_write(logger, LOG_DISPLAYSTATS,
++ "%10s %10s %10s %10s %10s"
++ " %11s %11s %17s %10s %14s"
++ " %10s %10s %10s %10s %10s"
++ " %10s %10s %10s %10s",
++ "render", "avgRender",
++ "minWindow", "midPoint", "maxWindow",
++ "vsyncToFlip", "flipToVsync", "vsyncsBetweenFlip",
++ "numFrame", "insertDuration",
++ "vTotalMin", "vTotalMax", "eventTrigs",
++ "vSyncTime1", "vSyncTime2", "vSyncTime3",
++ "vSyncTime4", "vSyncTime5", "flags");
++
++ for (int i = 0; i < core_stats->index && i < core_stats->entries; i++) {
++ dm_logger_write(logger, LOG_DISPLAYSTATS,
++ "%10u %10u %10u %10u %10u"
++ " %11u %11u %17u %10u %14u"
++ " %10u %10u %10u %10u %10u"
++ " %10u %10u %10u %10u",
++ time[i].render_time_in_us,
++ time[i].avg_render_time_in_us_last_ten,
++ time[i].min_window,
++ time[i].lfc_mid_point_in_us,
++ time[i].max_window,
++ time[i].vsync_to_flip_time_in_us,
++ time[i].flip_to_vsync_time_in_us,
++ time[i].num_vsync_between_flips,
++ time[i].num_frames_inserted,
++ time[i].inserted_duration_in_us,
++ time[i].v_total_min,
++ time[i].v_total_max,
++ time[i].event_triggers,
++ time[i].v_sync_time_in_us[0],
++ time[i].v_sync_time_in_us[1],
++ time[i].v_sync_time_in_us[2],
++ time[i].v_sync_time_in_us[3],
++ time[i].v_sync_time_in_us[4],
++ time[i].flags);
+ }
+- //GetLog()->Close(pLog);
+- //GetLog()->UnSetLogMask(LogMajor_ISR, LogMinor_ISR_FreeSyncSW);
+ }
+
+ void mod_stats_reset_data(struct mod_stats *mod_stats)
+--
+2.7.4
+