AGP driver misconfigures aperture size on Athlon64 with SiS 760
controller (+PATCH)
Ceri Davies
ceri at submonkey.net
Mon May 29 08:23:16 PDT 2006
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: FreeBSD-gnats-submit at freebsd.org
> 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
> mmcg at blunderbox.domain.actdsltmp:/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
> _______________________________________________
> freebsd-bugbusters at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-bugbusters
> To unsubscribe, send any mail to "freebsd-bugbusters-unsubscribe at freebsd.org"
--
That must be wonderful! I don't understand it at all.
-- Moliere
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-bugbusters/attachments/20060529/323c6f3f/attachment.pgp
More information about the freebsd-bugbusters
mailing list