OSDN Git Service

drm/fb-helper: Remove test for fb_dirty callback from deferred-I/O helper
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 15 Nov 2022 11:58:16 +0000 (12:58 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 16 Nov 2022 12:07:44 +0000 (13:07 +0100)
The helper for processing deferred I/O on pages has no dependency on
the fb_dirty damge-handling callback; so remove the test. In practice,
deferred I/O is only used with damage handling and the damage worker
already guarantees the presence of the fb_dirty callback.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20221115115819.23088-4-tzimmermann@suse.de
drivers/gpu/drm/drm_fb_helper.c

index be8ecb5..b3a731b 100644 (file)
@@ -656,17 +656,15 @@ void drm_fb_helper_deferred_io(struct fb_info *info, struct list_head *pagerefli
                min_off = min(min_off, start);
                max_off = max(max_off, end);
        }
-       if (min_off >= max_off)
-               return;
 
-       if (helper->funcs->fb_dirty) {
-               /*
-                * As we can only track pages, we might reach beyond the end
-                * of the screen and account for non-existing scanlines. Hence,
-                * keep the covered memory area within the screen buffer.
-                */
-               max_off = min(max_off, info->screen_size);
+       /*
+        * As we can only track pages, we might reach beyond the end
+        * of the screen and account for non-existing scanlines. Hence,
+        * keep the covered memory area within the screen buffer.
+        */
+       max_off = min(max_off, info->screen_size);
 
+       if (min_off < max_off) {
                drm_fb_helper_memory_range_to_clip(info, min_off, max_off - min_off, &damage_area);
                drm_fb_helper_damage(helper, damage_area.x1, damage_area.y1,
                                     drm_rect_width(&damage_area),