Date: Thu, 17 Jun 2004 16:24:59 -0400 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-amd64@FreeBSD.org Cc: dfr@FreeBSD.org Subject: Re: [PATCH] AMD64 On-CPU GART support + more Message-ID: <200406171624.59264.jhb@FreeBSD.org> In-Reply-To: <200406141646.03171.jkim@niksun.com> References: <200406141646.03171.jkim@niksun.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 14 June 2004 04:46 pm, Jung-uk Kim wrote: > Since the latest DRM is imported, I made my AMD64 on-CPU GART[1] > working (patch attached). This driver has some ugliness because of > its nature: driver is for AGP bridge but directly touches north > bridge registers (of multiple north bridges if you have multiple > CPUs). Ideally we can attach child driver here for each bridge but > it is just a part of its functions so that I didn't want to create a > full-blown driver. The second ugliness comes from the agp_sis.c and > agp_via.c. They fall back to 'generic host to PCI bridge' if it is > not supported but it finds a bridge. I believe this has to be > removed. The kludge is 'AGP_AMD64_GART' in kernel configuration. > This kludge can be removed when the 'fallback' match/probe is > removed. For now, 'AGP_AMD64_GART' is required to test this driver. > If anyone is interested, please cleanup/fix them. :-( Yes, all the generic probes need to go away. Also, I think that agp0 should be a child of hostb0. I.e., each agp driver (except for agp_i810.c) needs to actually be a child of hostb0. The hostb driver on the other hand would pass some ivars like PCI ID requests down to the children (so they can do a pci_get_devid() on themselves), and the hostb driver would add an agp child device automatically if it detects an AGP extended capability in its config registers. > > It's tested with Via K8T800 (both FreeBSD/i386 and FreeBSD/amd64) but > it should work with other bridges/tunnels. XFree86 snapshot (after > Mesa 6.1 import) + DRI snapshot worked fine with MGA 400 and Radeon > RV280 in FreeBSD/i386. In FreeBSD/amd64, MGA 400 works but Radeon > RV280 doesn't work but I believe it's DRM/DRI's problem, i. e., > Radeon SAREA handles. > > Cheers, > > Jung-uk Kim > > [1] BIOS and Kernel Developer's Guide for AMD Athlon? 64 and AMD > Opteron(tm) Processors (3.6.12-15) > http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/260 >94.PDF > > * PS: I think the current agp_via.c doesn't support K8T800 or other > AGP v3 bridges correctly. If anyone is interested, let me know. ;-) -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406171624.59264.jhb>