[PATCH] AMD64 On-CPU GART support + more
John Baldwin
jhb at FreeBSD.org
Thu Jun 17 20:24:20 GMT 2004
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 at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-amd64
mailing list