Lines Matching +full:virtio +full:- +full:pci
31 #include <linux/pci.h>
42 static int virtio_gpu_modeset = -1;
49 struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); in virtio_gpu_pci_quirk()
50 const char *pname = dev_name(&pdev->dev); in virtio_gpu_pci_quirk()
51 bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; in virtio_gpu_pci_quirk()
54 DRM_INFO("pci: %s detected at %s\n", in virtio_gpu_pci_quirk()
55 vga ? "virtio-vga" : "virtio-gpu-pci", in virtio_gpu_pci_quirk()
57 dev->pdev = pdev; in virtio_gpu_pci_quirk()
64 * The following comment covers, why virtio cannot rely on it. in virtio_gpu_pci_quirk()
66 * Unlike the other virtual GPU drivers, virtio abstracts the in virtio_gpu_pci_quirk()
71 * while a "pci:..." one is required. in virtio_gpu_pci_quirk()
74 * - Extend the dev_is_pci() check [in drm_set_busid] to in virtio_gpu_pci_quirk()
75 * consider virtio. in virtio_gpu_pci_quirk()
78 * - Point drm_device::dev to the parent of the virtio_device in virtio_gpu_pci_quirk()
89 * So for the moment keep things as-is, with a bulky comment in virtio_gpu_pci_quirk()
93 snprintf(unique, sizeof(unique), "pci:%s", pname); in virtio_gpu_pci_quirk()
102 if (vgacon_text_force() && virtio_gpu_modeset == -1) in virtio_gpu_probe()
103 return -EINVAL; in virtio_gpu_probe()
106 return -EINVAL; in virtio_gpu_probe()
108 dev = drm_dev_alloc(&driver, &vdev->dev); in virtio_gpu_probe()
111 vdev->priv = dev; in virtio_gpu_probe()
113 if (!strcmp(vdev->dev.parent->bus->name, "pci")) { in virtio_gpu_probe()
127 drm_fbdev_generic_setup(vdev->priv, 32); in virtio_gpu_probe()
137 struct drm_device *dev = vdev->priv; in virtio_gpu_remove()
147 struct drm_device *dev = vdev->priv; in virtio_gpu_config_changed()
148 struct virtio_gpu_device *vgdev = dev->dev_private; in virtio_gpu_config_changed()
150 schedule_work(&vgdev->config_changed_work); in virtio_gpu_config_changed()
183 MODULE_DEVICE_TABLE(virtio, id_table);
184 MODULE_DESCRIPTION("Virtio GPU driver");