Re: AGP driver misconfigures aperture size on Athlon64 with SiS 760 controller (+PATCH)
Ceri Davies <[email protected]>
| Newsgroups | gmane.os.freebsd.bugbusters |
|---|---|
| Message-ID | <[email protected]> |
Filed as kern/98094, Mike. Thanks for sending it in. Ceri On Sun, May 28, 2006 at 10:03:46PM -0700, Mike M wrote: > Sorry about the formatting - send-pr doesn't work for > me, and I couldn't see the images on the web form to > submit it there... > > To: [email protected] > From: User & <mmcg> > Reply-To: User & <mmcg> > Cc: > X-send-pr-version: 3.113 > X-GNATS-Notify: > > > >Submitter-Id: current-users > >Originator: Mike M > >Organization: none > >Confidential: no > >Synopsis: AGP driver misconfigures aperture size on > Athlon64 with SiS 760 controller (+PATCH) > >Severity: non-critical > >Priority: low > >Category: kern > >Class: sw-bug > >Release: FreeBSD 6.1-STABLE i386 > >Environment: > System: FreeBSD blunderbox.domain.actdsltmp 6.1-STABLE > FreeBSD 6.1-STABLE #3: Sun May 28 20:40:21 PDT 2006 > [email protected]:/M/0/a/usr.obj/M/0/a/usr.src6/sys/BLUNDERBOX32 > i386 > > > Athlon 64, running FreeBSD/i386 > > >Description: > > Running FreeBSD-i386 on an Athlon 64, with a radeon > 9600 video card and a SiS760 AGP bridge, using X.org > 6.9; GENERIC kernel with agp, dri, and radeon dri > compiled in. > > When starting Xorg using the system as configured > above, DRM fails to initialize with the following: > > agp0: binding memory at bad offset 0 > > This causes DRM, hence DRI to fail, resulting in no > acceleration for GLX under X. Somewhat frustrating, > as I had purchased the radeon card to solve precisely > this problem (with the built-in graphics). > > The reason: the AGP driver thinks that the aperture > size is 4M - when, in fact, it is 64M. The aperture > initialization then fails because AGP_GET_APERTURE() > is returning 4M, whereas the radeon DRI driver is > using the size information returned by agp_get_info() > (which retrieves the size of the allocated resource > directly from the resource manager, using > rman_get_size(sc->as_aperture) - this may or may not > be a bug). So agp_alloc_gatt() fails because it's > asked to allocate 64M but only believes 4M is > available. > > > >How-To-Repeat: > Use an Athlon 64 motherboard with a SiS 760 AGP bridge > and (in my case) a radeon 9600 video card. Start > Xorg. No DRI. > > >Fix: > > After the following patch, things magically started > working (it just adds the SiS760 device ID to the > agp_amd64.c handler): > > diff -c /usr/src/sys/pci/agp_amd64.c{.ctm,} > *** /usr/src/sys/pci/agp_amd64.c.ctm Sun May 28 > 19:37:02 2006 > --- /usr/src/sys/pci/agp_amd64.c Sun May 28 > 19:41:42 2006 > *************** > *** 97,102 **** > --- 97,104 ---- > return ("AMD 8151 AGP graphics > tunnel"); > case 0x07551039: > return ("SiS 755 host to AGP bridge"); > + case 0x07601039: > + return ("SiS 760 host to AGP bridge"); > case 0x168910b9: > return ("ULi M1689 AGP Controller"); > case 0x00d110de: > > glxgears went from 90fps to 1200fps. > > WARNING: I do not know how (or whether) this will > affect non-athlon64s. > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > _______________________________________________ > [email protected] mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-bugbusters > To unsubscribe, send any mail to "[email protected]" -- That must be wonderful! I don't understand it at all. -- Moliere
signature.asc
(application/pgp-signature, 187 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (FreeBSD) iD8DBQFEexHQocfcwTS3JF8RApXlAKCKzf3fc3PCQPvIhQGs49ajTB2iZACeLE9M D42BFD1gaD7Y9ZnP6Qqg/1U= =gXnO -----END PGP SIGNATURE-----