aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0543-drm-amd-display-Don-t-program-scaler-if-we-have-no-s.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0543-drm-amd-display-Don-t-program-scaler-if-we-have-no-s.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0543-drm-amd-display-Don-t-program-scaler-if-we-have-no-s.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0543-drm-amd-display-Don-t-program-scaler-if-we-have-no-s.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0543-drm-amd-display-Don-t-program-scaler-if-we-have-no-s.patch
new file mode 100644
index 00000000..096c1676
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/0543-drm-amd-display-Don-t-program-scaler-if-we-have-no-s.patch
@@ -0,0 +1,41 @@
+From 7a23fd5e693e88b4fc4e9cba4f09fef00e484ecc Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Wed, 21 Jun 2017 16:48:06 -0400
+Subject: [PATCH 0543/4131] drm/amd/display: Don't program scaler if we have no
+ surface
+
+If we don't have a surface in dc_commit_streams scl_data won't get
+populated in resource_build_scaling_params_for_context. In this case we
+shouldn't attempt to program the scaler.
+
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+index a83d260..0bab85b 100644
+--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+@@ -1099,10 +1099,12 @@ static enum dc_status apply_single_controller_ctx_to_hw(
+
+ pipe_ctx->scl_data.lb_params.alpha_en = pipe_ctx->bottom_pipe != 0;
+ /* program_scaler and allocate_mem_input are not new asic */
+- if (!pipe_ctx_old || memcmp(&pipe_ctx_old->scl_data,
+- &pipe_ctx->scl_data,
+- sizeof(struct scaler_data)) != 0)
++ if ((!pipe_ctx_old ||
++ memcmp(&pipe_ctx_old->scl_data, &pipe_ctx->scl_data,
++ sizeof(struct scaler_data)) != 0) &&
++ pipe_ctx->surface) {
+ program_scaler(dc, pipe_ctx);
++ }
+
+ /* mst support - use total stream count */
+ #if defined(CONFIG_DRM_AMD_DC_DCN1_0)
+--
+2.7.4
+