Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Dec 2005 22:39:54 -0800
From:      Eric Anholt <eta@lclark.edu>
To:        Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
Cc:        freebsd-current@freebsd.org, Norikatsu Shigemura <nork@freebsd.org>
Subject:   Re: vgapci doesn't want to attach agp on ASUS M5A
Message-ID:  <1135751994.933.5.camel@leguin>
In-Reply-To: <20051228075749.B57227@atlantis.atlantis.dp.ua>
References:  <20051225135216.Y1294@atlantis.atlantis.dp.ua> <20051226014329.152c6918.nork@FreeBSD.org> <200512271131.16479.jhb@freebsd.org> <20051228075749.B57227@atlantis.atlantis.dp.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-nJpv6l4+ispX3JuodXFt
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Wed, 2005-12-28 at 08:25 +0200, Dmitry Pryanishnikov wrote:
> Hello!
>=20
> 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,
>=20
>   It's trivial:
>=20
> --- 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);
>=20
> > but it sounds like you'll need to fix the
> > DRM driver to not expect an AGP capability for this specific card or so=
me
> > such.
>=20
>   I'm not sure here. Yes, Intel's Mobile 915 PM/GM/GMS and 910GML Express=
=20
> 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 betwee=
n
> agp_i810.c and vga_pci.c and this should be fixed in order to get
> 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-spec=
ific
> module which should attach to vga_pci and provide service similar to agp=20
> 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.

--=20
Eric Anholt                                     eta@lclark.edu
http://people.freebsd.org/~anholt/              anholt@FreeBSD.org

--=-nJpv6l4+ispX3JuodXFt
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBDsjM6HUdvYGzw6vcRAnioAJ9jcm3r0267AJrySEGuPB1oyPdS3gCfYGRL
i+p6agPAbW860gr+HCY9roY=
=nws+
-----END PGP SIGNATURE-----

--=-nJpv6l4+ispX3JuodXFt--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1135751994.933.5.camel>