Message ID | 20230830111532.444535-5-sui.jingfeng@linux.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add the pci_is_vga() helper and use it | expand |
In subject: "drm/virtio" to match previous history. On Wed, Aug 30, 2023 at 07:15:31PM +0800, Sui Jingfeng wrote: > From: Sui Jingfeng <suijingfeng@loongson.cn> > > Should be no functional change, just for cleanup purpose. > > Cc: David Airlie <airlied@redhat.com> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Cc: Gurchetan Singh <gurchetansingh@chromium.org> > Cc: Chia-I Wu <olvaffe@gmail.com> > Cc: Daniel Vetter <daniel@ffwll.ch> > Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn> > --- > drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c > index add075681e18..3a368304475a 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_drv.c > +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c > @@ -51,7 +51,7 @@ static int virtio_gpu_pci_quirk(struct drm_device *dev) > { > struct pci_dev *pdev = to_pci_dev(dev->dev); > const char *pname = dev_name(&pdev->dev); > - bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; > + bool vga = pci_is_vga(pdev); This *is* a functional change: Previously "vga" was only true for PCI_CLASS_DISPLAY_VGA (0x0300). Now it will be true for both PCI_CLASS_DISPLAY_VGA (0x0300) and PCI_CLASS_DISPLAY_OTHER (0x0380). Is that desirable? I can't tell. Maybe the GPU folks will chime in. > int ret; > > DRM_INFO("pci: %s detected at %s\n", > -- > 2.34.1 >
On Thu, Oct 05, 2023 at 04:57:14PM -0500, Bjorn Helgaas wrote: > In subject: "drm/virtio" to match previous history. > > On Wed, Aug 30, 2023 at 07:15:31PM +0800, Sui Jingfeng wrote: > > From: Sui Jingfeng <suijingfeng@loongson.cn> > > > > Should be no functional change, just for cleanup purpose. > > > > Cc: David Airlie <airlied@redhat.com> > > Cc: Gerd Hoffmann <kraxel@redhat.com> > > Cc: Gurchetan Singh <gurchetansingh@chromium.org> > > Cc: Chia-I Wu <olvaffe@gmail.com> > > Cc: Daniel Vetter <daniel@ffwll.ch> > > Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn> > > --- > > drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c > > index add075681e18..3a368304475a 100644 > > --- a/drivers/gpu/drm/virtio/virtgpu_drv.c > > +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c > > @@ -51,7 +51,7 @@ static int virtio_gpu_pci_quirk(struct drm_device *dev) > > { > > struct pci_dev *pdev = to_pci_dev(dev->dev); > > const char *pname = dev_name(&pdev->dev); > > - bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; > > + bool vga = pci_is_vga(pdev); > > This *is* a functional change: Previously "vga" was only true for > PCI_CLASS_DISPLAY_VGA (0x0300). Now it will be true for both > PCI_CLASS_DISPLAY_VGA (0x0300) and PCI_CLASS_DISPLAY_OTHER (0x0380). Oops, sorry, my mistake here. I meant PCI_CLASS_NOT_DEFINED_VGA, not PCI_CLASS_DISPLAY_OTHER. pci_is_vga() is true for either of: PCI_CLASS_DISPLAY_VGA 0x0300 PCI_CLASS_NOT_DEFINED_VGA 0x0001 (PCI_CLASS_NOT_DEFINED_VGA is defined in the PCI Code and Assignment spec r1.15, sec 1.1; PCI_CLASS_DISPLAY_VGA is sec 1.4.) > Is that desirable? I can't tell. Maybe the GPU folks will chime in. > > > int ret; > > > > DRM_INFO("pci: %s detected at %s\n", > > -- > > 2.34.1 > >
Hi, On 2023/10/6 05:57, Bjorn Helgaas wrote: > In subject: "drm/virtio" to match previous history. > > On Wed, Aug 30, 2023 at 07:15:31PM +0800, Sui Jingfeng wrote: >> From: Sui Jingfeng <suijingfeng@loongson.cn> >> >> Should be no functional change, just for cleanup purpose. >> >> Cc: David Airlie <airlied@redhat.com> >> Cc: Gerd Hoffmann <kraxel@redhat.com> >> Cc: Gurchetan Singh <gurchetansingh@chromium.org> >> Cc: Chia-I Wu <olvaffe@gmail.com> >> Cc: Daniel Vetter <daniel@ffwll.ch> >> Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn> >> --- >> drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c >> index add075681e18..3a368304475a 100644 >> --- a/drivers/gpu/drm/virtio/virtgpu_drv.c >> +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c >> @@ -51,7 +51,7 @@ static int virtio_gpu_pci_quirk(struct drm_device *dev) >> { >> struct pci_dev *pdev = to_pci_dev(dev->dev); >> const char *pname = dev_name(&pdev->dev); >> - bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; >> + bool vga = pci_is_vga(pdev); > This *is* a functional change: Previously "vga" was only true for > PCI_CLASS_DISPLAY_VGA (0x0300). Now it will be true for both > PCI_CLASS_DISPLAY_VGA (0x0300) and PCI_CLASS_DISPLAY_OTHER (0x0380). > > Is that desirable? I can't tell. Maybe the GPU folks will chime in. > Yes, the vga variable still will be "true" for the PCI_CLASS_DISPLAY_VGA (0x0300) class code, and this is the major case. But the devices with PCI_CLASS_NOT_DEFINED_VGA class code are quite uncommon, and virtio gpu is virtual GPU driver, It is unlikely that the QEMU to emulate a old device with PCI_CLASS_NOT_DEFINED_VGA class code. I means that there no reason to do so. Am I correct? Is there anyone know more? For virtio virtual GPU driver, I would like to drop this patch, if no one response. We probably only need to consider PCI_CLASS_NOT_DEFINED_VGA case for the real (probably old) hardware device. It do exists, as Maciej mention at [1]. [1] https://lkml.org/lkml/2023/6/18/315 >> int ret; >> >> DRM_INFO("pci: %s detected at %s\n", >> -- >> 2.34.1 >>
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c index add075681e18..3a368304475a 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.c +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c @@ -51,7 +51,7 @@ static int virtio_gpu_pci_quirk(struct drm_device *dev) { struct pci_dev *pdev = to_pci_dev(dev->dev); const char *pname = dev_name(&pdev->dev); - bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; + bool vga = pci_is_vga(pdev); int ret; DRM_INFO("pci: %s detected at %s\n",