summaryrefslogtreecommitdiff
path: root/linux-core/tdfx_drv.c
diff options
context:
space:
mode:
authorDavid Dawes <dawes@xfree86.org>2001-07-30 19:59:39 +0000
committerDavid Dawes <dawes@xfree86.org>2001-07-30 19:59:39 +0000
commit56bd9c207770d41a497f3e8237a1099dd9d4cd91 (patch)
tree528632e9ff74ae98caa8c55d4a8f201669c00e93 /linux-core/tdfx_drv.c
parent84a5e7108773d5a5ff7242e1460c98e3acb178a8 (diff)
Merge the multihead-1-0-0 branch into the trunk, with the exception of the
glide header files. The changes include: - Brian Paul's changes to the tdfx client-side 3D driver to make it dlopen() the correct glide library (Voodoo3 or Voodoo5). This allows both types of the glide library to co-exist, and allows Voodoo3/Voodoo5 cards to be mixed in multi-head configs. - DRM kernel driver changes to allow a driver to set up multiple instances (minor numbers), one for each card present that the driver supports. This is currently implemented and tested only for the tdfx DRM driver. - Add some missing missing <stdarg.h> includes. - Some log message cleanups. - Change the 2D tdfx driver to access VGA legacy registers via their PCI I/O space access points rather than their legacy addresses, and fix some problems with the way the VGA-related bits are initialised. Status: - With these changes, multi-head direct rendering works with multiple Voodoo3 and/or Voodoo5 cards. This has been tested with two PCI Voodoo3 cards and an AGP Voodoo5 card, and all permutations of those. Caveats: - Xinerama is not supported. If Xinerama is enabled, then direct rendering gets disabled. - The text mode on secondary screens will show junk after the X server exits. - On some hardware, starting the X server on multiple 3dfx cards will result in a hard lockup. One workaround is to enable APIC support in a uni-processor kernel, or use an SMP kernel.
Diffstat (limited to 'linux-core/tdfx_drv.c')
-rw-r--r--linux-core/tdfx_drv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/linux-core/tdfx_drv.c b/linux-core/tdfx_drv.c
index b6c95498..94e5d41c 100644
--- a/linux-core/tdfx_drv.c
+++ b/linux-core/tdfx_drv.c
@@ -44,6 +44,15 @@
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0
+static u_int DRM(idlist)[] = {
+ 0x121A0003, /* Banshee */
+ 0x121A0005, /* Voodoo3 */
+ 0x121A0009, /* Voodoo5 */
+ 0
+};
+
+#define DRIVER_CARD_LIST DRM(idlist)
+
#include "drm_auth.h"
#include "drm_bufs.h"