drm/mgag200: Add FB_DAMAGE_CLIPS support
authorJocelyn Falempe <jfalempe@redhat.com>
Wed, 4 May 2022 13:40:24 +0000 (15:40 +0200)
committerJocelyn Falempe <jfalempe@redhat.com>
Thu, 12 May 2022 13:01:50 +0000 (15:01 +0200)
The driver does support damage clips, but doesn't advertise it.
So when running gnome/wayland on Matrox hardware, the full frame is
copied to the slow Matrox memory, which leads to very poor performances.

Add drm_plane_enable_fb_damage_clips() to advertise this capability to
userspace.

With this patch, gnome/wayland becomes usable on Matrox GPU.

Suggested-by: Jonas Ã…dahl <jadahl@gmail.com>
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20220504134026.283417-2-jfalempe@redhat.com
drivers/gpu/drm/mgag200/mgag200_mode.c

index abde765..a77da57 100644 (file)
@@ -1121,6 +1121,8 @@ int mgag200_modeset_init(struct mga_device *mdev)
                return ret;
        }
 
+       drm_plane_enable_fb_damage_clips(&pipe->plane);
+
        /* FIXME: legacy gamma tables; convert to CRTC state */
        drm_mode_crtc_set_gamma_size(&pipe->crtc, MGAG200_LUT_SIZE);