drm/mgag200: Replace struct mga_fbdev with generic framebuffer emulation
authorThomas Zimmermann <tzimmermann@suse.de>
Wed, 3 Jul 2019 07:58:42 +0000 (09:58 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 9 Jul 2019 08:25:47 +0000 (10:25 +0200)
commit90f479ae51afa45efab97afdde9b94b9660dd3e4
tree0cd0e0027460cbaf3303a76a55673f3adb9bb3e1
parentf1f8555dfb9a70a2f42e7ee578143dcfd5abb02b
drm/mgag200: Replace struct mga_fbdev with generic framebuffer emulation

This patch replaces mgag200's framebuffer console with DRM's generic
implememtation. All respective code is being removed from the driver.

The console is set up with a shadow buffer. The actual buffer object is
not permanently pinned in video ram, but just another buffer object that
the driver moves in and out of vram as necessary. The driver's function
mga_crtc_do_set_base() used to contain special handling for the framebuffer
console. With the new generic framebuffer, the driver does not need this
code an longer.

For consistency, this patch also changes the preferred framebuffer depth.
The original code used 24 bpp by default and 32 bpp for the framebuffer. As
24 bpp is not well supported by userspace anyway, setting 32 bpp as default
makes sense.

v2:
* rely on fbdev helpers error messages
* document changes to preferred depth
* dirty function no longer required

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Noralf Trønnes <noralf@tronnes.org>
Link: https://patchwork.freedesktop.org/patch/315832/
drivers/gpu/drm/mgag200/Makefile
drivers/gpu/drm/mgag200/mgag200_drv.h
drivers/gpu/drm/mgag200/mgag200_fb.c [deleted file]
drivers/gpu/drm/mgag200/mgag200_main.c
drivers/gpu/drm/mgag200/mgag200_mode.c