Hi,> I was thinking of checking whether pdev is a VGA class device and whether > it decodes vga access, and in that case automatically callingHow can I figure that? Ok, class is easy, but decode? pci.h offers functions to set vga decode but not to get that info ... thanks, Gerd
On Thu, Feb 21, 2019 at 4:11 PM Gerd Hoffmann <kraxel at redhat.com> wrote:> > Hi, > > > I was thinking of checking whether pdev is a VGA class device and whether > > it decodes vga access, and in that case automatically calling > > How can I figure that? Ok, class is easy, but decode? pci.h offers > functions to set vga decode but not to get that info ...PCI_COMMAND_MEM and PCI_COMMAND_IO. There doesn't seem to be any separate bits really. That's at least what I've gleaned from vgaarb.c. The magic legacy vga decode bits only seem to exist on bridges, maybe we can extract that logic from vgaarb.c (yes this is all a bit spiralling out of control). -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch
Hi,> PCI_COMMAND_MEM and PCI_COMMAND_IO. There doesn't seem to be any > separate bits really. That's at least what I've gleaned from vgaarb.c. > The magic legacy vga decode bits only seem to exist on bridges, maybe > we can extract that logic from vgaarb.c (yes this is all a bit > spiralling out of control).Also makes me wonder whenever vgaarb is the better place (compared to drm_fb_helper). Tried that, doesn't look too bad, should continue working with CONFIG_FB=n. Will send patches in a moment. cheers, Gerd