linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/18] drm,fbdev: Remove apertures structure and FBINFO_MISC_FIRMWARE
@ 2022-12-19 16:04 Thomas Zimmermann
  2022-12-19 16:04 ` [PATCH 01/18] fbcon: Remove trailing whitespaces Thomas Zimmermann
                   ` (17 more replies)
  0 siblings, 18 replies; 39+ messages in thread
From: Thomas Zimmermann @ 2022-12-19 16:04 UTC (permalink / raw)
  To: daniel, airlied, deller, javierm
  Cc: dri-devel, linux-fbdev, intel-gfx, amd-gfx, linux-arm-kernel,
	linux-hyperv, Thomas Zimmermann

Remove struct fb_info.apertures and FBINFO_MISC_FIRMWARE from fbdev
and handle the aperture ownership without involving the fbdev core.

The apertures field in struct fb_info is a remnant from earlier
ownership management for framebuffer apertures. When fbdev core code
still handled ownership of the framebuffer among fbdev device drivers,
generic drivers set the aperture ranges to claim the firmware scanout
buffer for themselves.

Now that we have a module with helpers that manage aperture and
framebuffer ownership among drivers, the aperture field is not needed
any longer. In fact, several drivers set this field, even though they
are not generic fbdev drivers. Only drivers that set FBINFO_MISC_FIRMWARE
can use apertures in a meaningful way.

To remove FBINFO_MISC_FIRMWARE, patches 1 and 2 remove it from fbcon. It
was used to work around issues with font loading. That is now all handled
in userspace.

Patches 3 to 9 remove aperture setup from all non-generic drivers. These
drivers are not for firmware graphics and do not have to set the values.
For DRM, we do not need to allocate the apertures field any longer.

Patches 10 to 17 update all generic fbdev drivers to manage aperture
ownership by themselves by called Linux aperture helpers. The setup of
the apertures field and setting FBINFO_MISC_FIRMWARE is being removed as
a result of that.

With all of its users gone, patch 18 removes FBINFO_MISC_FIRMWARE, struct
fb_info.apertures and the fbdev core's aperture code.

Tested with handover combinations of efifb, simpledrm and radeon.

Thomas Zimmermann (18):
  fbcon: Remove trailing whitespaces
  Revert "fbcon: don't lose the console font across generic->chip driver
    switch"
  drm/gma500: Do not set struct fb_info.apertures
  drm/i915: Do not set struct fb_info.apertures
  drm/radeon: Do not set struct fb_info.apertures
  drm/fb-helper: Do not allocate unused apertures structure
  fbdev/clps711x-fb: Do not set struct fb_info.apertures
  fbdev/hyperv-fb: Do not set struct fb_info.apertures
  vfio-mdev/mdpy-fb: Do not set struct fb_info.apertures
  fbdev/efifb: Add struct efifb_par for driver data
  fbdev/efifb: Do not use struct fb_info.apertures
  fbdev/offb: Allocate struct offb_par with framebuffer_alloc()
  fbdev/offb: Do not use struct fb_info.apertures
  fbdev/simplefb: Do not use struct fb_info.apertures
  fbdev/vesafb: Remove trailing whitespaces
  fbdev/vesafb: Do not use struct fb_info.apertures
  fbdev/vga16fb: Do not use struct fb_info.apertures
  drm/fbdev: Remove aperture handling and FBINFO_MISC_FIRMWARE

 drivers/gpu/drm/drm_fb_helper.c            | 20 ++---------
 drivers/gpu/drm/gma500/framebuffer.c       |  5 ---
 drivers/gpu/drm/i915/display/intel_fbdev.c |  7 ----
 drivers/gpu/drm/radeon/radeon_fb.c         |  4 ---
 drivers/video/fbdev/clps711x-fb.c          | 10 +-----
 drivers/video/fbdev/core/fbcon.c           | 41 ++++++++++------------
 drivers/video/fbdev/core/fbmem.c           | 33 -----------------
 drivers/video/fbdev/core/fbsysfs.c         |  1 -
 drivers/video/fbdev/efifb.c                | 35 +++++++++++-------
 drivers/video/fbdev/hyperv_fb.c            | 17 ++++-----
 drivers/video/fbdev/offb.c                 | 33 +++++++++--------
 drivers/video/fbdev/simplefb.c             | 19 +++++-----
 drivers/video/fbdev/vesafb.c               | 37 ++++++++++---------
 drivers/video/fbdev/vga16fb.c              | 15 +++-----
 include/linux/fb.h                         | 22 ------------
 samples/vfio-mdev/mdpy-fb.c                |  8 -----
 16 files changed, 99 insertions(+), 208 deletions(-)


base-commit: d322881f7e33af24901ee8ccaec3beef82f21203
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6
-- 
2.39.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2023-01-03 13:54 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-19 16:04 [PATCH 00/18] drm,fbdev: Remove apertures structure and FBINFO_MISC_FIRMWARE Thomas Zimmermann
2022-12-19 16:04 ` [PATCH 01/18] fbcon: Remove trailing whitespaces Thomas Zimmermann
2022-12-20  9:10   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 02/18] Revert "fbcon: don't lose the console font across generic->chip driver switch" Thomas Zimmermann
2022-12-20  9:17   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 03/18] drm/gma500: Do not set struct fb_info.apertures Thomas Zimmermann
2022-12-20  9:18   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 04/18] drm/i915: " Thomas Zimmermann
2022-12-20  9:19   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 05/18] drm/radeon: " Thomas Zimmermann
2022-12-20  9:19   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 06/18] drm/fb-helper: Do not allocate unused apertures structure Thomas Zimmermann
2022-12-20  9:22   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 07/18] fbdev/clps711x-fb: Do not set struct fb_info.apertures Thomas Zimmermann
2022-12-20  9:24   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 08/18] fbdev/hyperv-fb: " Thomas Zimmermann
2022-12-20  9:24   ` Javier Martinez Canillas
2022-12-29 15:57   ` Michael Kelley (LINUX)
2022-12-19 16:05 ` [PATCH 09/18] vfio-mdev/mdpy-fb: " Thomas Zimmermann
2022-12-20  9:32   ` Javier Martinez Canillas
2023-01-03 13:54     ` Thomas Zimmermann
2022-12-19 16:05 ` [PATCH 10/18] fbdev/efifb: Add struct efifb_par for driver data Thomas Zimmermann
2022-12-20  9:33   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 11/18] fbdev/efifb: Do not use struct fb_info.apertures Thomas Zimmermann
2022-12-20  9:35   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 12/18] fbdev/offb: Allocate struct offb_par with framebuffer_alloc() Thomas Zimmermann
2022-12-20  9:37   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 13/18] fbdev/offb: Do not use struct fb_info.apertures Thomas Zimmermann
2022-12-20  9:38   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 14/18] fbdev/simplefb: " Thomas Zimmermann
2022-12-20  9:40   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 15/18] fbdev/vesafb: Remove trailing whitespaces Thomas Zimmermann
2022-12-20  9:40   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 16/18] fbdev/vesafb: Do not use struct fb_info.apertures Thomas Zimmermann
2022-12-20  9:43   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 17/18] fbdev/vga16fb: " Thomas Zimmermann
2022-12-20  9:44   ` Javier Martinez Canillas
2022-12-19 16:05 ` [PATCH 18/18] drm/fbdev: Remove aperture handling and FBINFO_MISC_FIRMWARE Thomas Zimmermann
2022-12-20  9:46   ` Javier Martinez Canillas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).