[SRU] [Unstable] [5.8] [PATCH 00/15] Fix mgag200 under Wayland
Kai-Heng Feng
kai.heng.feng at canonical.com
Mon Jul 6 13:31:34 UTC 2020
BugLink: https://bugs.launchpad.net/bugs/1886140
[Impact]
mgag200 doesn't work under Wayland. Hence GDM doesn't work unless
Wayland is disabled.
[Fix]
Convert the mgag200 driver to use atomic modesetting.
[Test]
User reported positive result with this backport.
[Regression Potential]
Medium. There's already a performance regression [1] introduced by the
patch set. However, the mgag200 devices are mainly used for server, so
the glx regression is acceptable. Or the desktop just doesn't work under
wayland at all.
The patch is currently in -next, so it will land to v5.9.
Tried to backport the series to v5.4 but the DRM change between v5.4 and
-next is massive, so I tried to backport to v5.6 OEM kernel instead.
There are some DRM change are still missing from v5.6, one of them
mgag200 facilitates is managed DRM helpers (like devm_*()). I tried to
modified the driver to use non-managed DRM helpers, but it's still not
enough to make it work.
So target Groovy here so we can have some nice early testings.
[1] https://lore.kernel.org/dri-devel/20200603090929.GG12456@shao2-debian/
Thomas Zimmermann (15):
drm/mgag200: Remove HW cursor
drm/mgag200: Clean up mga_set_start_address()
drm/mgag200: Clean up mga_crtc_do_set_base()
drm/mgag200: Move mode-setting code into separate helper function
drm/mgag200: Split MISC register update into PLL selection, SYNC and
I/O
drm/mgag200: Update mode registers after plane registers
drm/mgag200: Set pitch in a separate helper function
drm/mgag200: Set primary plane's format in separate helper function
drm/mgag200: Move TAGFIFO reset into separate function
drm/mgag200: Move hiprilvl setting into separate functions
drm/mgag200: Move register initialization into separate function
drm/mgag200: Remove out-commented suspend/resume helpers
drm/mgag200: Use simple-display data structures
drm/mgag200: Convert to simple KMS helper
drm/mgag200: Replace VRAM helpers with SHMEM helpers
drivers/gpu/drm/mgag200/Kconfig | 4 +-
drivers/gpu/drm/mgag200/Makefile | 2 +-
drivers/gpu/drm/mgag200/mgag200_drv.c | 51 +-
drivers/gpu/drm/mgag200/mgag200_drv.h | 45 +-
drivers/gpu/drm/mgag200/mgag200_main.c | 5 -
drivers/gpu/drm/mgag200/mgag200_mode.c | 871 ++++++++++++++-----------
drivers/gpu/drm/mgag200/mgag200_reg.h | 11 +-
drivers/gpu/drm/mgag200/mgag200_ttm.c | 28 +-
8 files changed, 528 insertions(+), 489 deletions(-)
--
2.17.1
More information about the kernel-team
mailing list