aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2482-drm-amd-display-add-back-removed-hack-for-mpcc-add.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2482-drm-amd-display-add-back-removed-hack-for-mpcc-add.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2482-drm-amd-display-add-back-removed-hack-for-mpcc-add.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2482-drm-amd-display-add-back-removed-hack-for-mpcc-add.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2482-drm-amd-display-add-back-removed-hack-for-mpcc-add.patch
new file mode 100644
index 00000000..947a50f8
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2482-drm-amd-display-add-back-removed-hack-for-mpcc-add.patch
@@ -0,0 +1,44 @@
+From 30ea0c3e90e7b1dfe6ff98365fdb8678a6fa223d Mon Sep 17 00:00:00 2001
+From: Eric Yang <Eric.Yang2@amd.com>
+Date: Thu, 14 Sep 2017 19:03:04 -0400
+Subject: [PATCH 2482/4131] drm/amd/display: add back removed hack for mpcc add
+
+A previous changed removed the hack to match mpcc_idd
+with mi instance. This causes pstate hang on resume
+from hibernate for yet unknown reason. Add the hack
+back for now to work around the issue. More debugging
+required in init_hw to root cause the hang.
+
+Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
+Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
+Acked-by: Harry Wentland <Harry.Wentland@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+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 8e767c8..6e56fa3 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c
+@@ -279,6 +279,18 @@ static int mpc10_mpcc_add(struct mpc *mpc, struct mpcc_cfg *cfg)
+ if (z_idx == cfg->tree_cfg->num_pipes) {
+ ASSERT(cfg->z_index <= cfg->tree_cfg->num_pipes);
+ mpcc_id = mpc10_get_idle_mpcc_id(mpc10);
++
++ /*
++ * TODO: remove hack
++ * Note: currently there is a bug in init_hw such that
++ * on resume from hibernate, BIOS sets up MPCC0, and
++ * we do mpcc_remove but the mpcc cannot go to idle
++ * after remove. This cause us to pick mpcc1 here,
++ * which causes a pstate hang for yet unknown reason.
++ */
++ mpcc_id = cfg->dpp_id;
++ /* end hack*/
++
+ ASSERT(!(mpc10->mpcc_in_use_mask & 1 << mpcc_id));
+
+ if (mpc->ctx->dc->debug.sanity_checks)
+--
+2.7.4
+