aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1019-drm-amd-display-Improve-logging-of-validation-failur.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1019-drm-amd-display-Improve-logging-of-validation-failur.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1019-drm-amd-display-Improve-logging-of-validation-failur.patch136
1 files changed, 136 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1019-drm-amd-display-Improve-logging-of-validation-failur.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1019-drm-amd-display-Improve-logging-of-validation-failur.patch
new file mode 100644
index 00000000..380b524a
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1019-drm-amd-display-Improve-logging-of-validation-failur.patch
@@ -0,0 +1,136 @@
+From 6fb53b6442dabcce0b6c731cd7a17b9b601a4d56 Mon Sep 17 00:00:00 2001
+From: Eric Bernstein <eric.bernstein@amd.com>
+Date: Thu, 22 Nov 2018 17:04:14 -0500
+Subject: [PATCH 1019/2940] drm/amd/display: Improve logging of validation
+ failures during atomic_check
+
+[Why]
+There are different reasons for Validation failure error during
+atomic_check
+
+[How]
+Add better logging of the reason for validation failure
+
+Signed-off-by: Eric Bernstein <eric.bernstein@amd.com>
+Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ .../gpu/drm/amd/display/dc/core/dc_resource.c | 2 +-
+ .../amd/display/dc/dml/display_mode_enums.h | 26 +++++++++++++++++
+ .../drm/amd/display/dc/dml/display_mode_lib.c | 28 +++++++++++++++++++
+ .../drm/amd/display/dc/dml/display_mode_lib.h | 2 ++
+ .../gpu/drm/amd/display/dc/inc/core_status.h | 2 +-
+ 5 files changed, 58 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+index e97f210c3146..969a9e81b8cc 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+@@ -1842,7 +1842,7 @@ enum dc_status resource_map_pool_resources(
+ &context->res_ctx, pool, stream);
+
+ if (!pipe_ctx->stream_res.stream_enc)
+- return DC_NO_STREAM_ENG_RESOURCE;
++ return DC_NO_STREAM_ENC_RESOURCE;
+
+ update_stream_engine_usage(
+ &context->res_ctx, pool,
+diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h b/drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h
+index bea4e61b94c7..c59e582c1f40 100644
+--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h
++++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h
+@@ -121,4 +121,30 @@ enum self_refresh_affinity {
+ dm_neither_self_refresh_nor_mclk_switch
+ };
+
++enum dm_validation_status {
++ DML_VALIDATION_OK,
++ DML_FAIL_SCALE_RATIO_TAP,
++ DML_FAIL_SOURCE_PIXEL_FORMAT,
++ DML_FAIL_VIEWPORT_SIZE,
++ DML_FAIL_TOTAL_V_ACTIVE_BW,
++ DML_FAIL_DIO_SUPPORT,
++ DML_FAIL_NOT_ENOUGH_DSC,
++ DML_FAIL_DSC_CLK_REQUIRED,
++ DML_FAIL_URGENT_LATENCY,
++ DML_FAIL_REORDERING_BUFFER,
++ DML_FAIL_DISPCLK_DPPCLK,
++ DML_FAIL_TOTAL_AVAILABLE_PIPES,
++ DML_FAIL_NUM_OTG,
++ DML_FAIL_WRITEBACK_MODE,
++ DML_FAIL_WRITEBACK_LATENCY,
++ DML_FAIL_WRITEBACK_SCALE_RATIO_TAP,
++ DML_FAIL_CURSOR_SUPPORT,
++ DML_FAIL_PITCH_SUPPORT,
++ DML_FAIL_PTE_BUFFER_SIZE,
++ DML_FAIL_HOST_VM_IMMEDIATE_FLIP,
++ DML_FAIL_DSC_INPUT_BPC,
++ DML_FAIL_PREFETCH_SUPPORT,
++ DML_FAIL_V_RATIO_PREFETCH,
++};
++
+ #endif
+diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.c b/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.c
+index dddeb0d4db8f..d303b789adfe 100644
+--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.c
++++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.c
+@@ -62,3 +62,31 @@ void dml_init_instance(struct display_mode_lib *lib, enum dml_project project)
+ }
+ }
+
++const char *dml_get_status_message(enum dm_validation_status status)
++{
++ switch (status) {
++ case DML_VALIDATION_OK: return "Validation OK";
++ case DML_FAIL_SCALE_RATIO_TAP: return "Scale ratio/tap";
++ case DML_FAIL_SOURCE_PIXEL_FORMAT: return "Source pixel format";
++ case DML_FAIL_VIEWPORT_SIZE: return "Viewport size";
++ case DML_FAIL_TOTAL_V_ACTIVE_BW: return "Total vertical active bandwidth";
++ case DML_FAIL_DIO_SUPPORT: return "DIO support";
++ case DML_FAIL_NOT_ENOUGH_DSC: return "Not enough DSC Units";
++ case DML_FAIL_DSC_CLK_REQUIRED: return "DSC clock required";
++ case DML_FAIL_URGENT_LATENCY: return "Urgent latency";
++ case DML_FAIL_REORDERING_BUFFER: return "Re-ordering buffer";
++ case DML_FAIL_DISPCLK_DPPCLK: return "Dispclk and Dppclk";
++ case DML_FAIL_TOTAL_AVAILABLE_PIPES: return "Total available pipes";
++ case DML_FAIL_NUM_OTG: return "Number of OTG";
++ case DML_FAIL_WRITEBACK_MODE: return "Writeback mode";
++ case DML_FAIL_WRITEBACK_LATENCY: return "Writeback latency";
++ case DML_FAIL_WRITEBACK_SCALE_RATIO_TAP: return "Writeback scale ratio/tap";
++ case DML_FAIL_CURSOR_SUPPORT: return "Cursor support";
++ case DML_FAIL_PITCH_SUPPORT: return "Pitch support";
++ case DML_FAIL_PTE_BUFFER_SIZE: return "PTE buffer size";
++ case DML_FAIL_DSC_INPUT_BPC: return "DSC input bpc";
++ case DML_FAIL_PREFETCH_SUPPORT: return "Prefetch support";
++ case DML_FAIL_V_RATIO_PREFETCH: return "Vertical ratio prefetch";
++ default: return "Unknown Status";
++ }
++}
+diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h b/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h
+index 635206248889..a730e0209c05 100644
+--- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h
++++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_lib.h
+@@ -43,4 +43,6 @@ struct display_mode_lib {
+
+ void dml_init_instance(struct display_mode_lib *lib, enum dml_project project);
+
++const char *dml_get_status_message(enum dm_validation_status status);
++
+ #endif
+diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_status.h b/drivers/gpu/drm/amd/display/dc/inc/core_status.h
+index 94fc31080fda..2e61a22ef4b2 100644
+--- a/drivers/gpu/drm/amd/display/dc/inc/core_status.h
++++ b/drivers/gpu/drm/amd/display/dc/inc/core_status.h
+@@ -30,7 +30,7 @@ enum dc_status {
+ DC_OK = 1,
+
+ DC_NO_CONTROLLER_RESOURCE = 2,
+- DC_NO_STREAM_ENG_RESOURCE = 3,
++ DC_NO_STREAM_ENC_RESOURCE = 3,
+ DC_NO_CLOCK_SOURCE_RESOURCE = 4,
+ DC_FAIL_CONTROLLER_VALIDATE = 5,
+ DC_FAIL_ENC_VALIDATE = 6,
+--
+2.17.1
+