drm/fb-helper: Add TODO for making drm_fb_helper_alloc_fbi fill apertures
authorHans de Goede <hdegoede@redhat.com>
Thu, 26 Mar 2020 15:10:09 +0000 (16:10 +0100)
committerHans de Goede <hdegoede@redhat.com>
Fri, 27 Mar 2020 09:46:54 +0000 (10:46 +0100)
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 <hdegoede@redhat.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20200326151009.102377-1-hdegoede@redhat.com
drivers/gpu/drm/drm_fb_helper.c

index a9771de4d17e64816964c8a7244a46216814cd0e..165c8dab50797ad5e4b17065e8c950ef064900fd 100644 (file)
@@ -514,6 +514,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;