Currently drivers using drm_fbdev_generic_setup() end up with a single
empty aperture in their fb_info struct.

Not having the proper info in the apertures list causes
register_framebuffer to not remove conflicting framebuffers,
which some drivers currently workaround by manually calling
drm_fb_helper_remove_conflicting_pci_framebuffers().

Add a TODO as a reminder that we need to fix this.

Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
 drivers/gpu/drm/drm_fb_helper.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 4c7cbce7bae7..16b8dc38d022 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -526,6 +526,14 @@ struct fb_info *drm_fb_helper_alloc_fbi(struct 
drm_fb_helper *fb_helper)
        if (ret)
                goto err_release;
 
+       /*
+        * TODO: We really should be smarter here and alloc an apperture
+        * for each IORESOURCE_MEM resource helper->dev->dev has and also
+        * init the ranges of the appertures based on the resources.
+        * Note some drivers currently count on there being only 1 empty
+        * aperture and fill this themselves, these will need to be dealt
+        * with somehow when fixing this.
+        */
        info->apertures = alloc_apertures(1);
        if (!info->apertures) {
                ret = -ENOMEM;
-- 
2.26.0.rc2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to