aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2917-drm-amd-display-set-chroma-taps-to-1-when-not-scalin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2917-drm-amd-display-set-chroma-taps-to-1-when-not-scalin.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2917-drm-amd-display-set-chroma-taps-to-1-when-not-scalin.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2917-drm-amd-display-set-chroma-taps-to-1-when-not-scalin.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2917-drm-amd-display-set-chroma-taps-to-1-when-not-scalin.patch
new file mode 100644
index 00000000..72add71c
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2917-drm-amd-display-set-chroma-taps-to-1-when-not-scalin.patch
@@ -0,0 +1,57 @@
+From d010113d0a37a8188169e76fa3aa6e57eaea0c02 Mon Sep 17 00:00:00 2001
+From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Date: Mon, 13 Nov 2017 17:03:53 -0500
+Subject: [PATCH 2917/4131] drm/amd/display: set chroma taps to 1 when not
+ scaling
+
+Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c | 9 +++++++++
+ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 9 ++++-----
+ 2 files changed, 13 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+index b5bc915..453ec1c 100644
+--- a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
++++ b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+@@ -897,6 +897,15 @@ bool dcn_validate_bandwidth(
+ v->override_vta_ps[input_idx] = pipe->plane_res.scl_data.taps.v_taps;
+ v->override_hta_pschroma[input_idx] = pipe->plane_res.scl_data.taps.h_taps_c;
+ v->override_vta_pschroma[input_idx] = pipe->plane_res.scl_data.taps.v_taps_c;
++ /*
++ * Spreadsheet doesn't handle taps_c is one properly,
++ * need to force Chroma to always be scaled to pass
++ * bandwidth validation.
++ */
++ if (v->override_hta_pschroma[input_idx] == 1)
++ v->override_hta_pschroma[input_idx] = 2;
++ if (v->override_vta_pschroma[input_idx] == 1)
++ v->override_vta_pschroma[input_idx] = 2;
+ v->source_scan[input_idx] = (pipe->plane_state->rotation % 2) ? dcn_bw_vert : dcn_bw_hor;
+ }
+ if (v->is_line_buffer_bpp_fixed == dcn_bw_yes)
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
+index 5a95fa0..6db1839 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c
+@@ -159,11 +159,10 @@ bool dpp_get_optimal_number_of_taps(
+ scl_data->taps.h_taps = 1;
+ if (IDENTITY_RATIO(scl_data->ratios.vert))
+ scl_data->taps.v_taps = 1;
+- /*
+- * Spreadsheet doesn't handle taps_c is one properly,
+- * need to force Chroma to always be scaled to pass
+- * bandwidth validation.
+- */
++ if (IDENTITY_RATIO(scl_data->ratios.horz_c))
++ scl_data->taps.h_taps_c = 1;
++ if (IDENTITY_RATIO(scl_data->ratios.vert_c))
++ scl_data->taps.v_taps_c = 1;
+ }
+
+ return true;
+--
+2.7.4
+