diff options
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.patch | 44 |
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 + |