aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_drm_bus.c24
1 files changed, 3 insertions, 21 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
index 094b876f6da6..757ca28ab93e 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
+++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
@@ -28,26 +28,6 @@
28 28
29#include "virtgpu_drv.h" 29#include "virtgpu_drv.h"
30 30
31static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev)
32{
33 struct apertures_struct *ap;
34 bool primary;
35
36 ap = alloc_apertures(1);
37 if (!ap)
38 return;
39
40 ap->ranges[0].base = pci_resource_start(pci_dev, 0);
41 ap->ranges[0].size = pci_resource_len(pci_dev, 0);
42
43 primary = pci_dev->resource[PCI_ROM_RESOURCE].flags
44 & IORESOURCE_ROM_SHADOW;
45
46 drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary);
47
48 kfree(ap);
49}
50
51int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) 31int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev)
52{ 32{
53 struct drm_device *dev; 33 struct drm_device *dev;
@@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev)
69 pname); 49 pname);
70 dev->pdev = pdev; 50 dev->pdev = pdev;
71 if (vga) 51 if (vga)
72 virtio_pci_kick_out_firmware_fb(pdev); 52 drm_fb_helper_remove_conflicting_pci_framebuffers(pdev,
53 0,
54 "virtiodrmfb");
73 55
74 snprintf(unique, sizeof(unique), "pci:%s", pname); 56 snprintf(unique, sizeof(unique), "pci:%s", pname);
75 ret = drm_dev_set_unique(dev, unique); 57 ret = drm_dev_set_unique(dev, unique);