Proper AGPv3/AGP 8x support for VIA KT400/400a/600

From: Ariff Abdullah <skywizard_at_MyBSD.org.my>
Date: Thu, 1 Jul 2004 16:54:14 +0800 (MYT)
>Submitter-Id:	current-users
>Originator:	Ariff Abdullah
>Organization:	MyBSD
>Confidential:	no
>Synopsis:	Proper AGPv3/AGP 8x support for VIA KT400/400a/600
>Severity:	critical
>Priority:	high
>Category:	kern
>Class:		sw-bug
>Release:	FreeBSD 5.2-CURRENT
>Environment:
System: FreeBSD akane.MyBSD.org.my 5.2-CURRENT FreeBSD 5.2-CURRENT #0: Sat Jun 26 00:01:41 MYT 2004     root_at_kasumi.MyBSD.org.my:/usr/obj/usr/src/sys/AKANE  i386


>Description:
	Trying to enable dri/drm support on VIA KT400/400a/600 based
	chipset will lock up the machine, since the agp driver use
	the wrong hardware register (AGPv2, instead of AGPv3).
>How-To-Repeat:
	Load drm module for your card, enable dri in XF86Config, run X.
	If you're using AGP 8X card (Radeon 9200 for example), either
	your machine will come to abrupt halt, or suddenly become
	sluggish.
>Fix:
	Apply this patch. Rebuild kernel/modules.

--- sys/pci/agp_via.c.orig	Sun Jun  6 09:20:53 2004
+++ sys/pci/agp_via.c	Sun Jun  6 09:27:57 2004
_at__at_ -89,6 +89,8 _at__at_
 		return ("VIA 82C691 (Apollo Pro) host to PCI bridge");
 	case 0x31881106:
 		return ("VIA 8385 host to PCI bridge");
+	case 0x31891106:
+		return ("VIA 8377 (Apollo KT400/KT400A/KT600) host to PCI bridge");
 	};
 
 	if (pci_get_vendor(dev) == 0x1106)
_at__at_ -123,6 +125,7 _at__at_
 
 	switch (pci_get_devid(dev)) {
 	case 0x31881106:
+	case 0x31891106:
 		sc->regs = via_v3_regs;
 		break;
 	default:
Received on Thu Jul 01 2004 - 06:52:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:59 UTC