Lines Matching +full:virtio +full:- +full:pci
31 #include <linux/pci.h>
43 static int virtio_gpu_modeset = -1;
50 struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); in virtio_gpu_pci_quirk()
51 const char *pname = dev_name(&pdev->dev); in virtio_gpu_pci_quirk()
52 bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; in virtio_gpu_pci_quirk()
56 DRM_INFO("pci: %s detected at %s\n", in virtio_gpu_pci_quirk()
57 vga ? "virtio-vga" : "virtio-gpu-pci", in virtio_gpu_pci_quirk()
67 * The following comment covers, why virtio cannot rely on it. in virtio_gpu_pci_quirk()
69 * Unlike the other virtual GPU drivers, virtio abstracts the in virtio_gpu_pci_quirk()
74 * while a "pci:..." one is required. in virtio_gpu_pci_quirk()
77 * - Extend the dev_is_pci() check [in drm_set_busid] to in virtio_gpu_pci_quirk()
78 * consider virtio. in virtio_gpu_pci_quirk()
81 * - Point drm_device::dev to the parent of the virtio_device in virtio_gpu_pci_quirk()
92 * So for the moment keep things as-is, with a bulky comment in virtio_gpu_pci_quirk()
96 snprintf(unique, sizeof(unique), "pci:%s", pname); in virtio_gpu_pci_quirk()
105 if (vgacon_text_force() && virtio_gpu_modeset == -1) in virtio_gpu_probe()
106 return -EINVAL; in virtio_gpu_probe()
109 return -EINVAL; in virtio_gpu_probe()
111 dev = drm_dev_alloc(&driver, &vdev->dev); in virtio_gpu_probe()
114 vdev->priv = dev; in virtio_gpu_probe()
116 if (!strcmp(vdev->dev.parent->bus->name, "pci")) { in virtio_gpu_probe()
130 drm_fbdev_generic_setup(vdev->priv, 32); in virtio_gpu_probe()
142 struct drm_device *dev = vdev->priv; in virtio_gpu_remove()
152 struct drm_device *dev = vdev->priv; in virtio_gpu_config_changed()
153 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_config_changed()
155 schedule_work(&vgdev->config_changed_work); in virtio_gpu_config_changed()
189 MODULE_DEVICE_TABLE(virtio, id_table);
190 MODULE_DESCRIPTION("Virtio GPU driver");