aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4476-drm-amd-display-Update-background-color-in-bottommos.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4476-drm-amd-display-Update-background-color-in-bottommos.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4476-drm-amd-display-Update-background-color-in-bottommos.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4476-drm-amd-display-Update-background-color-in-bottommos.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4476-drm-amd-display-Update-background-color-in-bottommos.patch
new file mode 100644
index 00000000..1cbacf38
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4476-drm-amd-display-Update-background-color-in-bottommos.patch
@@ -0,0 +1,60 @@
+From 005868d633f371451d5954e6ad62e5be20745f9f Mon Sep 17 00:00:00 2001
+From: Hugo Hu <hugo.hu@amd.com>
+Date: Fri, 25 Oct 2019 15:33:15 +0800
+Subject: [PATCH 4476/4736] drm/amd/display: Update background color in
+ bottommost mpcc
+
+[Why]
+Background color only takes effect in bottommost mpcc.
+
+[How]
+Update background color in bottommost mpcc.
+
+Signed-off-by: Hugo Hu <hugo.hu@amd.com>
+Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
+Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
+---
+ .../gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
+index 8b2f29f6dabd..b3f66e1de15d 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
+@@ -42,20 +42,27 @@ void mpc1_set_bg_color(struct mpc *mpc,
+ int mpcc_id)
+ {
+ struct dcn10_mpc *mpc10 = TO_DCN10_MPC(mpc);
++ struct mpcc *bottommost_mpcc = mpc1_get_mpcc(mpc, mpcc_id);
++ uint32_t bg_r_cr, bg_g_y, bg_b_cb;
++
++ /* find bottommost mpcc. */
++ while (bottommost_mpcc->mpcc_bot) {
++ bottommost_mpcc = bottommost_mpcc->mpcc_bot;
++ }
+
+ /* mpc color is 12 bit. tg_color is 10 bit */
+ /* todo: might want to use 16 bit to represent color and have each
+ * hw block translate to correct color depth.
+ */
+- uint32_t bg_r_cr = bg_color->color_r_cr << 2;
+- uint32_t bg_g_y = bg_color->color_g_y << 2;
+- uint32_t bg_b_cb = bg_color->color_b_cb << 2;
++ bg_r_cr = bg_color->color_r_cr << 2;
++ bg_g_y = bg_color->color_g_y << 2;
++ bg_b_cb = bg_color->color_b_cb << 2;
+
+- REG_SET(MPCC_BG_R_CR[mpcc_id], 0,
++ REG_SET(MPCC_BG_R_CR[bottommost_mpcc->mpcc_id], 0,
+ MPCC_BG_R_CR, bg_r_cr);
+- REG_SET(MPCC_BG_G_Y[mpcc_id], 0,
++ REG_SET(MPCC_BG_G_Y[bottommost_mpcc->mpcc_id], 0,
+ MPCC_BG_G_Y, bg_g_y);
+- REG_SET(MPCC_BG_B_CB[mpcc_id], 0,
++ REG_SET(MPCC_BG_B_CB[bottommost_mpcc->mpcc_id], 0,
+ MPCC_BG_B_CB, bg_b_cb);
+ }
+
+--
+2.17.1
+