Home Home > GIT Browse > SLE15-SP1
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-07-19 14:35:07 +0200
committerTakashi Iwai <tiwai@suse.de>2019-07-19 14:35:07 +0200
commit2cedb40cbb1a441baf677d7ad8cf42f0195af616 (patch)
tree5485321fcccdc6dba776cca25e5c526052bf18ae
parentb68c02d3f76d94ec46ccd5fac019d02edfde226c (diff)
drm/vc4: fix fb references in async update (bsc#1141312).
-rw-r--r--patches.drm/drm-vc4-fix-fb-references-in-async-update.patch41
-rw-r--r--series.conf1
2 files changed, 42 insertions, 0 deletions
diff --git a/patches.drm/drm-vc4-fix-fb-references-in-async-update.patch b/patches.drm/drm-vc4-fix-fb-references-in-async-update.patch
new file mode 100644
index 0000000000..f8d2bc62a1
--- /dev/null
+++ b/patches.drm/drm-vc4-fix-fb-references-in-async-update.patch
@@ -0,0 +1,41 @@
+From c16b85559dcfb5a348cc085a7b4c75ed49b05e2c Mon Sep 17 00:00:00 2001
+From: Helen Koike <helen.koike@collabora.com>
+Date: Mon, 3 Jun 2019 13:56:09 -0300
+Subject: [PATCH] drm/vc4: fix fb references in async update
+Git-commit: c16b85559dcfb5a348cc085a7b4c75ed49b05e2c
+Patch-mainline: v5.2-rc4
+References: bsc#1141312
+
+[ adjusted the context to match with SLE15-SP1 -- tiwai ]
+
+Async update callbacks are expected to set the old_fb in the new_state
+so prepare/cleanup framebuffers are balanced.
+
+Calling drm_atomic_set_fb_for_plane() (which gets a reference of the new
+fb and put the old fb) is not required, as it's taken care by
+drm_mode_cursor_universal() when calling drm_atomic_helper_update_plane().
+
+Cc: <stable@vger.kernel.org> # v4.19+
+Fixes: 539c320bfa97 ("drm/vc4: update cursors asynchronously through atomic")
+Suggested-by: Boris Brezillon <boris.brezillon@collabora.com>
+Signed-off-by: Helen Koike <helen.koike@collabora.com>
+Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
+Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20190603165610.24614-5-helen.koike@collabora.com
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/gpu/drm/vc4/vc4_plane.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vc4/vc4_plane.c
++++ b/drivers/gpu/drm/vc4/vc4_plane.c
+@@ -815,7 +815,7 @@ static void vc4_plane_atomic_async_updat
+
+ if (plane->state->fb != state->fb) {
+ vc4_plane_async_set_fb(plane, state->fb);
+- drm_atomic_set_fb_for_plane(plane->state, state->fb);
++ swap(plane->state->fb, state->fb);
+ }
+
+ /* Set the cursor's position on the screen. This is the
diff --git a/series.conf b/series.conf
index 213665d294..1628bd76b9 100644
--- a/series.conf
+++ b/series.conf
@@ -47559,6 +47559,7 @@
patches.drm/0002-drm-i915-gvt-refine-ggtt-range-validation.patch
patches.drm/0003-drm-i915-gvt-Fix-cmd-length-of-VEB_DI_IECP.patch
patches.drm/drm-msm-fix-fb-references-in-async-update.patch
+ patches.drm/drm-vc4-fix-fb-references-in-async-update.patch
patches.drm/drm-don-t-block-fb-changes-for-async-plane-updates.patch
patches.drm/drm-arm-mali-dp-Add-a-loop-around-the-second-set-CVA.patch
patches.drm/drm-arm-hdlcd-Actually-validate-CRTC-modes.patch