Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jun 2004 17:21:22 -0400
From:      Jung-uk Kim <jkim@niksun.com>
To:        freebsd-amd64@freebsd.org
Cc:        eta@lclark.edu
Subject:   Re: [PATCH] AMD64 On-CPU GART support + more
Message-ID:  <200406141721.22252.jkim@niksun.com>
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

--Boundary-00=_SbhzAYUSvVxtkZr
Content-Type: text/plain;
  charset="euc-kr"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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.
> :-(

Oops, agp_via.c has a bad merge.  Sorry.

Jung-uk Kim

> 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/26094.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.
> ;-)

--Boundary-00=_SbhzAYUSvVxtkZr
Content-Type: text/x-diff;
  charset="euc-kr";
  name="agp_via.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="agp_via.diff"

--- src/sys/pci/agp_via.c.orig	Sun May 30 16:00:40 2004
+++ src/sys/pci/agp_via.c	Mon Jun 14 17:15:59 2004
@@ -28,6 +28,7 @@
 __FBSDID("$FreeBSD: src/sys/pci/agp_via.c,v 1.15 2004/05/30 20:00:40 phk Exp $");
 
 #include "opt_bus.h"
+#include "opt_agp.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -88,7 +89,11 @@
 	case 0x06911106:
 		return ("VIA 82C691 (Apollo Pro) host to PCI bridge");
 	case 0x31881106:
+#ifdef AGP_AMD64_GART
+		return NULL;
+#else
 		return ("VIA 8385 host to PCI bridge");
+#endif
 	};
 
 	if (pci_get_vendor(dev) == 0x1106)

--Boundary-00=_SbhzAYUSvVxtkZr--



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