The blocking implementation of the dirtyfb ioctl is extremely slow when
used for damage tracking on RK3399. If this implementation is in place Xorg
will default to using it and will slow down considerably when doing a lot
of small draws. This is most apparent with the fvwm window manager on
startup where it will almost lock up for many seconds seconds on RK3399.

Removing this implementation did not cause any visible issues on RK3399 but
it did fix the performance issues on Xorg as it will disable damage
tracking when the ioctl returns it's not supported.

-- 
Toni Spets
From 79984ee67c801f552e9eaf4d0cfb62101d1f0f2e Mon Sep 17 00:00:00 2001
From: Toni Spets <toni.sp...@iki.fi>
Date: Wed, 3 Feb 2021 21:14:50 +0200
Subject: [PATCH] drm/rockchip: remove atomic helper dirtyfb

---
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
index 3aa37e177667..2554fd1c8aeb 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
@@ -21,7 +21,6 @@
 static const struct drm_framebuffer_funcs rockchip_drm_fb_funcs = {
 	.destroy       = drm_gem_fb_destroy,
 	.create_handle = drm_gem_fb_create_handle,
-	.dirty	       = drm_atomic_helper_dirtyfb,
 };
 
 static struct drm_framebuffer *
-- 
2.27.0

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

Reply via email to