[PATCH 3/4] drm/virtio: remove drm_dev_set_unique workaround

Laszlo Ersek lersek at redhat.com
Wed Mar 28 10:27:06 UTC 2018


On 03/28/18 03:24, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
> 
> Ealier commit a325725633c26aa66ab940f762a6b0778edf76c0 did not attribute
> that virtio can be either PCI or a platform device and removed the
> .set_busid hook. Whereas only the "platform" instance should have been
> removed.
> 
> Since then, two things have happened:
>  - the driver manually calls drm_dev_set_unique, addressing the Xserver
> regression - see commit 9785b4321b0bd701f8d21d3d3c676a7739a5cf22
>  - core itself calls drm_pci_set_busid, on drm_set_busid IOCTL setting
> the busid, so we don't need to fallback to dev->unique - see commit
> 5c484cee7ef9c4fd29fa0ba09640d55960977145
> 
> With that in place we can remove the local workaround.
> 
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Gerd Hoffmann <kraxel at redhat.com>
> Cc: Hans de Goede <hdegoede at redhat.com>
> Cc: Laszlo Ersek <lersek at redhat.com>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> Gents, can someone double-check this please? Just in case.

I guess I should test whether this series regresses the use case
described in c2cbc38b97; is that correct?

I can add that to my todo list, but it won't be quick. I get into
building kernels maybe once per quarter :)

What repo and branch should I apply this series on top of? ... Actually,
I was only CC'd on patch 3/4, so I don't even have the full series. Do
you have a public branch somewhere?

(If this would mean too much work for you, esp. considering that I'm
going to be slow, feel free to go ahead with the patch. Should I find
later that something broke, I'll whine then. :) )

Thanks!
Laszlo

> ---
>  drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
> index 7df8d0c9026a..19fd7c661b8a 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c
> @@ -62,7 +62,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev)
>  		struct pci_dev *pdev = to_pci_dev(vdev->dev.parent);
>  		const char *pname = dev_name(&pdev->dev);
>  		bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA;
> -		char unique[20];
>  
>  		DRM_INFO("pci: %s detected at %s\n",
>  			 vga ? "virtio-vga" : "virtio-gpu-pci",
> @@ -70,12 +69,6 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev)
>  		dev->pdev = pdev;
>  		if (vga)
>  			virtio_pci_kick_out_firmware_fb(pdev);
> -
> -		snprintf(unique, sizeof(unique), "pci:%s", pname);
> -		ret = drm_dev_set_unique(dev, unique);
> -		if (ret)
> -			goto err_free;
> -
>  	}
>  
>  	ret = drm_dev_register(dev, 0);
> 



More information about the dri-devel mailing list