openwrt/target/linux/bcm27xx/patches-5.10/950-0664-drm-vc4-Remove-conflicting-framebuffers-before-calli.patch
Álvaro Fernández Rojas 8299d1f057 bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted
patches, wireless patches and defconfig patches.

bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 4B v1.1 4G
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-08-21 19:07:07 +02:00

36 lines
1.1 KiB
Diff

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;