aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0664-drm-vc4-Remove-conflicting-framebuffers-before-calli.patch
blob: 7685933f9287a4f00e64a1c9061b8c2c74a26149 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From 89c8ca8b57abe798418bd6544b0fac9aa87cb691 Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime@cerno.tech>
Date: Fri, 25 Jun 2021 17:01:33 +0200
Subject: [PATCH] drm/vc4: Remove conflicting framebuffers before
 callind bind_all

The bind hooks will modify their controller registers, so simplefb is
going to be unusable anyway. Let's avoid any transient state where it
could still be in the system but no longer functionnal.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 drivers/gpu/drm/vc4/vc4_drv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -305,6 +305,8 @@ static int vc4_drm_bind(struct device *d
 	if (ret)
 		return ret;
 
+	drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false);
+
 	ret = component_bind_all(dev, drm);
 	if (ret)
 		return ret;
@@ -315,8 +317,6 @@ static int vc4_drm_bind(struct device *d
 			goto unbind_all;
 	}
 
-	drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false);
-
 	ret = vc4_kms_load(drm);
 	if (ret < 0)
 		goto unbind_all;