[PATCH] drm/mgag200: Enable caching for SHMEM pages

Thomas Zimmermann tzimmermann at suse.de
Thu Jun 18 13:34:35 UTC 2020


We've had reports about performance regressions after switching
mgag200 from VRAM helpers to SHMEM helpers. SHMEM pages use
writecombine caching by default, but can also use the platform's
default page caching. Doing so improves the performance of I/O
on the framebuffer.

Mgag200's hardware does not access framebuffer pages directly (i.e.,
via DMA), so enabling caching does not have an effect on consistency
of the framebuffer memory or the displayed data.

Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
Fixes: 913ec479bb5c ("drm/mgag200: Replace VRAM helpers with SHMEM helpers")
Cc: Thomas Zimmermann <tzimmermann at suse.de>
Cc: Emil Velikov <emil.velikov at collabora.com>
Cc: Dave Airlie <airlied at redhat.com>
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Cc: Krzysztof Kozlowski <krzk at kernel.org>
Cc: Gerd Hoffmann <kraxel at redhat.com>
Cc: Sam Ravnborg <sam at ravnborg.org>
Cc: Rong Chen <rong.a.chen at intel.com>
Cc: John Donnelly <john.p.donnelly at Oracle.com>
Link: https://lore.kernel.org/dri-devel/20200617092252.GA5279@shao2-debian/
---
 drivers/gpu/drm/mgag200/mgag200_drv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c
index e19660f4a637..7189c7745baf 100644
--- a/drivers/gpu/drm/mgag200/mgag200_drv.c
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c
@@ -36,6 +36,7 @@ static struct drm_driver mgag200_driver = {
 	.major = DRIVER_MAJOR,
 	.minor = DRIVER_MINOR,
 	.patchlevel = DRIVER_PATCHLEVEL,
+	.gem_create_object = drm_gem_shmem_create_object_cached,
 	DRM_GEM_SHMEM_DRIVER_OPS,
 };
 
-- 
2.27.0



More information about the dri-devel mailing list