Date: Sat, 24 Nov 2001 22:16:49 +0300 (MSK) From: Seva Gluschenko <gvs@rinet.ru> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/32255: AMD761(tm) and MGA G550 are not known by PCI kernel routines Message-ID: <200111241916.fAOJGn024833@staff.rinet.ru>
next in thread | raw e-mail | index | archive | help
>Number: 32255
>Category: kern
>Synopsis: AMD761(tm) and MGA G550 are not known by PCI kernel routines
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 24 11:30:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Seva Gluschenko
>Release: FreeBSD 4.4-STABLE i386
>Organization:
Cronyx Plus LLC / ru.rinet LIR
>Environment:
System: FreeBSD staff.rinet.ru 4.4-STABLE FreeBSD 4.4-STABLE #0: Thu Oct 25 06:32:20 MSD 2001 root@:/usr/src/sys/compile/staff i386
>Description:
1. AMD 761 recognition strings weren't added to kernel PCI routines
which results, in parts, to unability to properly initialize AGP
routines for this chipset. Therefore, AGP kernel module fails to
work affecting the DRM and DRI functionality this way (actual for
XFree86-4 and accelerated AGP cards).
Once AMD 751 chipset has pretty the same routines needed to work
with AGP (derived from AMD documentation studied), the only thing
which is needed to be performed is to add AMD 761 identification
codes recognition.
2. Matrox MGA G550 graphics card (AGP, Dual-Head, DVI) ID wasn't
added to the device recognitions strings as well.
>How-To-Repeat:
If you have either AMD 761 based motherboard or MGA G550 card (or
both), you will see FreeBSD standard messages for unknown generic
devices of their types/subtypes during initial boot. If you
compiled DRM module and try to load it in the boot time, you will
get the message like "DRM probe_and_attach returned 12". It means
that DRM module cannot connect to the AGP GART interface provided
by AGP module.
After that, when trying to start X, you will get message "drmOpen
failed, disabling DRI".
N.B.: The DRM modules supplied with XFree86-4 distribution (4.1.0)
aren't working good at least with MGA. I've used drm-kmod-*-tar.gz
taken from FreeBSD distfiles (they are for -current, but work
just fine at least with MGA different models for -stable as well).
>Fix:
Apply the patch below, as follows:
# cd /usr/src/sys
# patch < /path/to/diff
Then rebuild your kernel and AGP module:
# cd compile/YOUR_KERNEL_NAME
# make depend all install
# cd ../../modules/agp
# make depend all install
After reboot your AMD 761 and/or Matrox MGA G550 card should be
recognized and handled properly.
The patch itself follows:
--- i386/isa/pcibus.c.orig Thu Nov 22 11:45:26 2001
+++ i386/isa/pcibus.c Thu Nov 22 11:46:18 2001
@@ -131,6 +131,9 @@
case 0x70061022:
s = "AMD-751 host to PCI bridge";
break;
+ case 0x700e1022:
+ s = "AMD-761 host to PCI bridge";
+ break;
/* SiS -- vendor 0x1039 */
case 0x04961039:
--- pci/agp_amd.c.orig Thu Nov 22 11:47:30 2001
+++ pci/agp_amd.c Thu Nov 22 11:49:20 2001
@@ -163,6 +163,8 @@
switch (pci_get_devid(dev)) {
case 0x70061022:
return ("AMD 751 host to AGP bridge");
+ case 0x700e1022:
+ return ("AMD 761 host to AGP bridge");
};
return NULL;
--- pci/pcisupport.c.orig Thu Nov 22 01:08:59 2001
+++ pci/pcisupport.c Thu Nov 22 01:20:54 2001
@@ -713,7 +713,9 @@
/* AMD -- vendor 0x1022 */
case 0x70071022:
- return ("AMD-751 PCI-PCI (AGP) bridge");
+ return ("AMD-751 PCI-PCI (1x/2x AGP) bridge");
+ case 0x700f1022:
+ return ("AMD-761 PCI-PCI (4x AGP) bridge");
/* DEC -- vendor 0x1011 */
case 0x00011011:
@@ -1269,6 +1271,8 @@
/* AMD -- vendor 0x1022 */
case 0x70061022:
return ("AMD-751 host to PCI bridge");
+ case 0x700e1022:
+ return ("AMD-761 host to PCI bridge");
/* NEC -- vendor 0x1033 */
case 0x00021033:
@@ -1462,6 +1466,8 @@
chip = "MGA G100"; break;
case 0x1001:
chip = "MGA G100 AGP"; break;
+ case 0x2527:
+ chip = "MGA G550 AGP"; break;
}
break;
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111241916.fAOJGn024833>
