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.

Acked-by: Nicolas Saenz Julienne <nsaenz@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20211215095117.176435-4-maxime@cerno.tech
This commit is contained in:
Maxime Ripard 2021-12-15 10:51:16 +01:00
parent d62b9bee52
commit a7e6f3d8a4
No known key found for this signature in database
GPG Key ID: E3EF0D6F671851C5

View File

@ -251,6 +251,10 @@ static int vc4_drm_bind(struct device *dev)
if (ret)
return ret;
ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver);
if (ret)
return ret;
ret = component_bind_all(dev, drm);
if (ret)
return ret;
@ -259,10 +263,6 @@ static int vc4_drm_bind(struct device *dev)
if (ret)
goto unbind_all;
ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver);
if (ret)
goto unbind_all;
ret = vc4_kms_load(drm);
if (ret < 0)
goto unbind_all;