linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/11] fbdev: Maintain device ownership with aperture helpers
@ 2022-07-18  7:23 Thomas Zimmermann
  2022-07-18  7:23 ` [PATCH v2 02/11] fbdev/vga16fb: Create EGA/VGA devices in sysfb code Thomas Zimmermann
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Thomas Zimmermann @ 2022-07-18  7:23 UTC (permalink / raw)
  To: javierm, deller, daniel, sam, maxime
  Cc: linux-fbdev, linux-staging, dri-devel, Thomas Zimmermann

Fbdev firmware drivers acquire ownership of framebuffer I/O ranges and
hand them over to native drivers during the boot process. Re-implement
this mechanism with aperture helpers and remove the respective fbdev
code.

This change allows to perform hand-over from DRM firmware drivers. In a
later patchset, device ownership can be moved from DRM and fbdev entirely
into aperture helpers.

Patches 1 and 4 are cleanups.

Patches 2 and 3 integrate EGA/VGA support into sysfb, although it's not
clear if the x86 architecture code actually still supports VGA graphics
mode.

Patches 5 to 10 replace fbdev's ownership management with aperture
helpers. This includes removal of conflicting framebuffer drivers,
removal of conflicting VGA drivers and registration of fbdev firmware
devices. Notably, many PCI-based fbdev drivers failed to remove firmware
devices until now; and therefore probably haven't worked correctly for
some time.

Patch 11 removes the implementation of fbdev ownership management.

The patchset has been tested by handing over device ownership between
firmware and native drivers of DRM and fbdev in various combinations.

v2:
	* remove unused options handling from vga16fb (Javier)
	* more elaborate commit messages (Javier)
	* remove unused internal functions in fbmem.c

Thomas Zimmermann (11):
  fbdev: Remove trailing whitespaces
  fbdev/vga16fb: Create EGA/VGA devices in sysfb code
  fbdev/vga16fb: Auto-generate module init/exit code
  fbdev/core: Remove remove_conflicting_pci_framebuffers()
  fbdev: Convert drivers to aperture helpers
  fbdev: Remove conflicting devices on PCI bus
  video/aperture: Disable and unregister sysfb devices via aperture
    helpers
  video: Provide constants for VGA I/O range
  video/aperture: Remove conflicting VGA devices, if any
  fbdev: Acquire framebuffer apertures for firmware devices
  fbdev: Remove conflict-handling code

 drivers/firmware/sysfb.c                     |   4 +
 drivers/staging/sm750fb/sm750.c              |  15 +-
 drivers/video/aperture.c                     |  69 ++--
 drivers/video/fbdev/arkfb.c                  |   5 +
 drivers/video/fbdev/asiliantfb.c             |   5 +
 drivers/video/fbdev/aty/aty128fb.c           |  57 ++--
 drivers/video/fbdev/aty/atyfb_base.c         |   7 +-
 drivers/video/fbdev/aty/radeon_base.c        |  83 +++--
 drivers/video/fbdev/carminefb.c              |   5 +
 drivers/video/fbdev/chipsfb.c                |  13 +-
 drivers/video/fbdev/cirrusfb.c               |   5 +
 drivers/video/fbdev/core/fbmem.c             | 213 ++-----------
 drivers/video/fbdev/cyber2000fb.c            |   5 +
 drivers/video/fbdev/geode/gx1fb_core.c       |   5 +
 drivers/video/fbdev/geode/gxfb_core.c        |   5 +
 drivers/video/fbdev/geode/lxfb_core.c        |   5 +
 drivers/video/fbdev/gxt4500.c                |   5 +
 drivers/video/fbdev/hyperv_fb.c              |   6 +-
 drivers/video/fbdev/i740fb.c                 |   5 +
 drivers/video/fbdev/i810/i810_main.c         | 315 ++++++++++---------
 drivers/video/fbdev/imsttfb.c                |  36 ++-
 drivers/video/fbdev/intelfb/intelfbdrv.c     |   5 +
 drivers/video/fbdev/kyro/fbdev.c             |   5 +
 drivers/video/fbdev/matrox/matroxfb_base.c   |   5 +
 drivers/video/fbdev/mb862xx/mb862xxfbdrv.c   |   5 +
 drivers/video/fbdev/neofb.c                  |  41 +--
 drivers/video/fbdev/nvidia/nvidia.c          |   7 +-
 drivers/video/fbdev/pm2fb.c                  |   5 +
 drivers/video/fbdev/pm3fb.c                  |   5 +
 drivers/video/fbdev/pvr2fb.c                 |   5 +
 drivers/video/fbdev/riva/fbdev.c             |  67 ++--
 drivers/video/fbdev/s3fb.c                   |   5 +
 drivers/video/fbdev/savage/savagefb_driver.c |   5 +
 drivers/video/fbdev/sis/sis_main.c           |   5 +
 drivers/video/fbdev/skeletonfb.c             | 210 +++++++------
 drivers/video/fbdev/sm712fb.c                |   5 +
 drivers/video/fbdev/sstfb.c                  |  43 +--
 drivers/video/fbdev/sunxvr2500.c             |   5 +
 drivers/video/fbdev/sunxvr500.c              |   5 +
 drivers/video/fbdev/tdfxfb.c                 |   5 +
 drivers/video/fbdev/tgafb.c                  |  17 +-
 drivers/video/fbdev/tridentfb.c              |   5 +
 drivers/video/fbdev/vermilion/vermilion.c    |   7 +-
 drivers/video/fbdev/vga16fb.c                | 191 +++++------
 drivers/video/fbdev/via/via-core.c           |   5 +
 drivers/video/fbdev/vt8623fb.c               |   5 +
 include/linux/fb.h                           |   4 -
 include/video/vga.h                          |  20 +-
 48 files changed, 776 insertions(+), 784 deletions(-)


base-commit: ebea934e2651857c9b56cc80bf99460ee18a3592
-- 
2.36.1


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

end of thread, other threads:[~2023-04-04 11:38 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-18  7:23 [PATCH v2 00/11] fbdev: Maintain device ownership with aperture helpers Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 02/11] fbdev/vga16fb: Create EGA/VGA devices in sysfb code Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 03/11] fbdev/vga16fb: Auto-generate module init/exit code Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 04/11] fbdev/core: Remove remove_conflicting_pci_framebuffers() Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 05/11] fbdev: Convert drivers to aperture helpers Thomas Zimmermann
2022-07-18  9:57   ` kernel test robot
2022-07-18  7:23 ` [PATCH v2 06/11] fbdev: Remove conflicting devices on PCI bus Thomas Zimmermann
2022-07-21 14:17   ` Geert Uytterhoeven
2022-07-18  7:23 ` [PATCH v2 07/11] video/aperture: Disable and unregister sysfb devices via aperture helpers Thomas Zimmermann
2023-03-20  1:47   ` Samuel Čavoj
2023-03-20  9:46     ` Thomas Zimmermann
2023-03-20 10:13       ` Javier Martinez Canillas
2023-03-20 11:08         ` Samuel Čavoj
2023-03-20 12:12           ` Javier Martinez Canillas
2023-03-28 15:19             ` Samuel Čavoj
2023-04-04 11:36               ` Javier Martinez Canillas
2022-07-18  7:23 ` [PATCH v2 08/11] video: Provide constants for VGA I/O range Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 09/11] video/aperture: Remove conflicting VGA devices, if any Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 10/11] fbdev: Acquire framebuffer apertures for firmware devices Thomas Zimmermann
2022-07-18  7:23 ` [PATCH v2 11/11] fbdev: Remove conflict-handling code Thomas Zimmermann

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).