aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4050-drm-amd-display-fix-pipe-re-assignment-when-odm-pres.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4050-drm-amd-display-fix-pipe-re-assignment-when-odm-pres.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4050-drm-amd-display-fix-pipe-re-assignment-when-odm-pres.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4050-drm-amd-display-fix-pipe-re-assignment-when-odm-pres.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4050-drm-amd-display-fix-pipe-re-assignment-when-odm-pres.patch
new file mode 100644
index 00000000..93244493
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4050-drm-amd-display-fix-pipe-re-assignment-when-odm-pres.patch
@@ -0,0 +1,33 @@
+From 4cea2bf1c0d33919ff218aa8a46152d6ce3aa7ad Mon Sep 17 00:00:00 2001
+From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Date: Fri, 6 Sep 2019 11:12:14 -0400
+Subject: [PATCH 4050/4256] drm/amd/display: fix pipe re-assignment when odm
+ present
+
+Currently pipe split may steal an existing ODM pipe depending on stream
+sequence. This change prevents that from happening as easily.
+
+Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Reviewed-by: Gary Kattan <Gary.Kattan@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+index 502498675226..5af85cd67dbb 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+@@ -2231,7 +2231,8 @@ static struct pipe_ctx *dcn20_find_secondary_pipe(struct dc *dc,
+ */
+ if (secondary_pipe == NULL) {
+ for (j = dc->res_pool->pipe_count - 1; j >= 0; j--) {
+- if (dc->current_state->res_ctx.pipe_ctx[j].top_pipe == NULL) {
++ if (dc->current_state->res_ctx.pipe_ctx[j].top_pipe == NULL
++ && dc->current_state->res_ctx.pipe_ctx[j].prev_odm_pipe == NULL) {
+ preferred_pipe_idx = j;
+
+ if (res_ctx->pipe_ctx[preferred_pipe_idx].stream == NULL) {
+--
+2.17.1
+