Date: Wed, 28 Dec 2005 08:48:14 -0500 From: John Baldwin <jhb@freebsd.org> To: Eric Anholt <eta@lclark.edu> Cc: Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>, freebsd-current@freebsd.org, Norikatsu Shigemura <nork@freebsd.org> Subject: Re: vgapci doesn't want to attach agp on ASUS M5A Message-ID: <200512280848.16502.jhb@freebsd.org> In-Reply-To: <1135751994.933.5.camel@leguin> References: <20051225135216.Y1294@atlantis.atlantis.dp.ua> <20051228075749.B57227@atlantis.atlantis.dp.ua> <1135751994.933.5.camel@leguin>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 28 December 2005 01:39 am, Eric Anholt wrote: > On Wed, 2005-12-28 at 08:25 +0200, Dmitry Pryanishnikov wrote: > > Hello! > > > > On Tue, 27 Dec 2005, John Baldwin wrote: > > >> I have same problem in my i830M, too and fixed Dmitry's patch. > > >> According to my pciconf -rb, pci_find_extcap(dev, PCIY_AGP, NULL) > > >> never find PCIY_AGP(because of 0x01). > > > > > > Ok. I don't see any patch anywhere, > > > > It's trivial: > > > > --- vga_pci.c.orig Thu Dec 22 18:25:22 2005 > > +++ vga_pci.c Sun Dec 25 13:04:09 2005 > > @@ -74,7 +74,7 @@ > > * If AGP capabilities are present on this device, then create > > * an AGP child. > > */ > > - if (pci_find_extcap(dev, PCIY_AGP, NULL) =3D=3D 0) > > +// if (pci_find_extcap(dev, PCIY_AGP, NULL) =3D=3D 0) > > device_add_child(dev, "agp", -1); > > > > > but it sounds like you'll need to fix the > > > DRM driver to not expect an AGP capability for this specific card or > > > some such. > > > > I'm not sure here. Yes, Intel's Mobile 915 PM/GM/GMS and 910GML Expre= ss > > Chipsets don't claim AGP capability. But they still contain AGP-related > > registers for compatibility. Moreover, we've just added those chipsets > > support to our sys/pci/agp_i810.c! So now we have an inconsistency > > between agp_i810.c and vga_pci.c and this should be fixed in order to g= et > > working DRM on those chipsets (people DO report that this hack makes DRM > > happy, I've not tried to explore it's actual functionality under XFree > > yet). For long-term solution, maybe we should have PCI Express-specific > > module which should attach to vga_pci and provide service similar to agp > > module. > > This is my understanding: > > The PCIE i915 chipsets have an internal gart which happens to do just > the same thing for the graphics hardware as AGP did, in a rather similar > way for us to program as how AGP used to be. So Linux and FreeBSD both > just expose an AGP device using this gart, and the DRM happily uses it. > However, because it's not *actually* AGP, it doesn't have the AGP > capability set, so we need to pretend like it's set. What I will do to fix this is to change all the agp drivers to use identify= =20 routines, then the hostb and vgapci drivers won't have to know to create ag= p=20 child devices at all. Eventually I'd like to change drm in the same way, b= ut=20 I will do agp first as it's in the tree. =2D-=20 John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200512280848.16502.jhb>