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

Alex Williamson
2022-06-06T17:53:35Z

Users attempting to enable vfio PCI device assignment with a GPU will
often block the default PCI driver from the device to avoid conflicts
with the device initialization or release path. This means that
vfio-pci is sometimes the first PCI driver to bind to the device. In
the case of assigning the primary graphics device, low-level console
drivers may still generate resource conflicts. Users often employ
kernel command line arguments to disable conflicting drivers or
perform unbinding in userspace to avoid this, but the actual solution
is often distribution/kernel config specific based on the included
drivers.

We can instead allow vfio-pci to copy the behavior of
drm_aperture_remove_conflicting_pci_framebuffers() in order to remove
these low-level drivers with conflicting resources. vfio-pci is not
however a DRM driver, nor does vfio-pci depend on DRM config options,
thus we split out and export the necessary DRM apterture support and
mirror the framebuffer and VGA support.

I'd be happy to pull this series in through the vfio branch if
approved by the DRM maintainers. Thanks,

Alex

---

Alex Williamson (2):
drm/aperture: Split conflicting platform driver removal
vfio/pci: Remove console drivers

drivers/gpu/drm/drm_aperture.c | 33 +++++++++++++++++++++++---------
drivers/vfio/pci/vfio_pci_core.c | 17 ++++++++++++++++
include/drm/drm_aperture.h | 2 ++
3 files changed, 43 insertions(+), 9 deletions(-)