[PATCH v2 0/2] Improve vfio-pci primary GPU assignment behavior

From: Alex Williamson
Date: Thu Jun 16 2022 - 16:38:50 EST


When assigning a primary graphics device to VM through vfio-pci device
assignment, users often prevent binding of the native PCI graphics
driver to avoid device initialization conflicts, however firmware
console drivers may still be attached to the device which can often be
cumbersome to manually unbind or exclude via cmdline options.

This series proposes to move the DRM aperture helpers out to
drivers/video/ to make it more accessible to drivers like vfio-pci,
which have neither dependencies on DRM code nor a struct drm_driver
to present to existing interfaces. vfio-pci can then trivially call
into the aperture helpers to remove conflicting drivers, rather than
open coding it ourselves as was proposed with a new symbol export in
v1 of this series[1].

Thanks to Thomas for splitting out the aperture code with new
documentation.

Thomas had proposed this going through the vfio tree with appropriate
stakeholder acks, that's fine with me, but I'm also open to it going
through the DRM tree given that the vfio-pci-core change is even more
trivial now and the bulk of the changes are DRM/video paths. Thanks,

Alex

[1]https://lore.kernel.org/all/165453797543.3592816.6381793341352595461.stgit@omen/

---

Alex Williamson (1):
vfio/pci: Remove console drivers

Thomas Zimmermann (1):
drm: Implement DRM aperture helpers under video/


Documentation/driver-api/aperture.rst | 13 +
Documentation/driver-api/index.rst | 1 +
drivers/gpu/drm/drm_aperture.c | 174 +------------
drivers/gpu/drm/tiny/Kconfig | 1 +
drivers/vfio/pci/vfio_pci_core.c | 5 +
drivers/video/Kconfig | 6 +
drivers/video/Makefile | 2 +
drivers/video/aperture.c | 340 ++++++++++++++++++++++++++
drivers/video/console/Kconfig | 1 +
drivers/video/fbdev/Kconfig | 7 +-
include/linux/aperture.h | 56 +++++
11 files changed, 440 insertions(+), 166 deletions(-)
create mode 100644 Documentation/driver-api/aperture.rst
create mode 100644 drivers/video/aperture.c
create mode 100644 include/linux/aperture.h