Hello community,
here is the log from the commit of package xorg-x11-driver-video
checked in at Tue Oct 16 10:09:21 CEST 2007.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-10-12 12:11:13.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-10-15 20:35:46.349875000 +0200
@@ -1,0 +2,15 @@
+Mon Oct 15 20:39:15 CEST 2007 - sndirsch@suse.de
+
+- xf86-video-nv.diff
+ * G80 bug #12397: Fix LVDS detection on certain laptops.
+ * G80 bug #12637: Unwedge the hardware if the BIOS left it stuck.
+ * Remove unused headers.
+
+-------------------------------------------------------------------
+Mon Oct 15 20:19:51 CEST 2007 - sndirsch@suse.de
+
+- xf86-video-amd 2.7.7.3
+ * Remove the upload function for LX
+ * Fix video downscaling
+
+-------------------------------------------------------------------
Old:
----
xf86-video-amd-2.7.7.2.tar.bz2
New:
----
xf86-video-amd-2.7.7.3.tar.bz2
xf86-video-nv.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.N12265/_old 2007-10-16 10:09:10.000000000 +0200
+++ /var/tmp/diff_new_pack.N12265/_new 2007-10-16 10:09:10.000000000 +0200
@@ -14,7 +14,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.3
-Release: 8
+Release: 11
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -64,12 +64,13 @@
Source48: xf86-video-mga-1.9.100.tar.bz2
Source49: xf86-video-unichrome-20070511.tar.bz2
Source50: xf86-video-xgi-1.5.0.tar.bz2
-Source51: xf86-video-amd-2.7.7.2.tar.bz2
+Source51: xf86-video-amd-2.7.7.3.tar.bz2
Source52: xf86-video-ati-6.6.3.tar.bz2
Patch: xf86-video-intel.diff
Patch1: radeon-xrandr-dotclock.diff
Patch2: radeon_dell.diff
Patch3: ps_nv.diff
+Patch4: xf86-video-nv.diff
Patch5: mga-g200se_pci-fix.diff
Patch10: xf86-video-tdfx.diff
Patch11: xf86-video-glint.diff
@@ -162,6 +163,7 @@
popd
pushd xf86-video-nv-*/src
%patch3 -p6
+%patch4 -p2
popd
pushd xf86-video-mga-1.4.7/src
tar xzf %{SOURCE44}
@@ -262,6 +264,15 @@
/usr/%{_lib}/xorg/modules/
%{_mandir}/man4/*
%changelog
+* Mon Oct 15 2007 - sndirsch@suse.de
+- xf86-video-nv.diff
+ * G80 bug #12397: Fix LVDS detection on certain laptops.
+ * G80 bug #12637: Unwedge the hardware if the BIOS left it stuck.
+ * Remove unused headers.
+* Mon Oct 15 2007 - sndirsch@suse.de
+- xf86-video-amd 2.7.7.3
+ * Remove the upload function for LX
+ * Fix video downscaling
* Fri Oct 12 2007 - sndirsch@suse.de
- no longer build ATI 6.6.193 driver; replaced by ATI 6.6.3 driver
* Wed Oct 10 2007 - sndirsch@suse.de
++++++ xf86-video-amd-2.7.7.2.tar.bz2 -> xf86-video-amd-2.7.7.3.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-amd-2.7.7.2/ChangeLog new/xf86-video-amd-2.7.7.3/ChangeLog
--- old/xf86-video-amd-2.7.7.2/ChangeLog 2007-09-17 14:30:23.000000000 +0200
+++ new/xf86-video-amd-2.7.7.3/ChangeLog 2007-10-15 16:03:44.000000000 +0200
@@ -1,3 +1,30 @@
+commit d4cd5d91a015088d548736831edd31760bcda88d
+Author: Martin-Éric Racine
+Date: Mon Oct 15 16:32:56 2007 +0300
+
+ Bumped package version to 2.7.7.3.
+
+commit 5833df9f71af8253f02a360c1b0e5e36ba2e4910
+Author: Jordan Crouse
+Date: Fri Sep 28 09:05:56 2007 -0600
+
+ [XORG] Fix video downscaling
+
+ When downscaling the window, apparently the clip region doesn't
+ change (not sure why), so we didn't get the message to re-init
+ the video. This will make the re-init process happen on both
+ the clip region changing and the width/height changing.
+
+commit dfe2ab1ea3c1a66952b6d38e436a064d677e5fba
+Author: Jordan Crouse
+Date: Tue Sep 18 13:45:10 2007 -0600
+
+ [XORG] Remove the upload function for LX
+
+ Remove the upload function for LX. The default function is going to be
+ faster for all 0xCC BLTs; which just so happens to be what all the
+ uploads will be.
+
commit b795643e860548eff6f1a458391e56098c490f64
Author: Martin-Éric Racine
Date: Mon Sep 17 14:57:22 2007 +0300
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-amd-2.7.7.2/configure new/xf86-video-amd-2.7.7.3/configure
--- old/xf86-video-amd-2.7.7.2/configure 2007-09-17 14:05:00.000000000 +0200
+++ new/xf86-video-amd-2.7.7.3/configure 2007-10-15 16:02:46.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for xf86-video-amd 2.7.7.2.
+# Generated by GNU Autoconf 2.61 for xf86-video-amd 2.7.7.3.
#
# Report bugs to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg.
#
@@ -728,8 +728,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-video-amd'
PACKAGE_TARNAME='xf86-video-amd'
-PACKAGE_VERSION='2.7.7.2'
-PACKAGE_STRING='xf86-video-amd 2.7.7.2'
+PACKAGE_VERSION='2.7.7.3'
+PACKAGE_STRING='xf86-video-amd 2.7.7.3'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
ac_unique_file="Makefile.am"
@@ -1423,7 +1423,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-amd 2.7.7.2 to adapt to many kinds of systems.
+\`configure' configures xf86-video-amd 2.7.7.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1493,7 +1493,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-amd 2.7.7.2:";;
+ short | recursive ) echo "Configuration of xf86-video-amd 2.7.7.3:";;
esac
cat <<\_ACEOF
@@ -1610,7 +1610,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-amd configure 2.7.7.2
+xf86-video-amd configure 2.7.7.3
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1624,7 +1624,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-amd $as_me 2.7.7.2, which was
+It was created by xf86-video-amd $as_me 2.7.7.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2319,7 +2319,7 @@
# Define the identity of the package.
PACKAGE='xf86-video-amd'
- VERSION='2.7.7.2'
+ VERSION='2.7.7.3'
cat >>confdefs.h <<_ACEOF
@@ -21604,7 +21604,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-amd $as_me 2.7.7.2, which was
+This file was extended by xf86-video-amd $as_me 2.7.7.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21657,7 +21657,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xf86-video-amd config.status 2.7.7.2
+xf86-video-amd config.status 2.7.7.3
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-amd-2.7.7.2/configure.ac new/xf86-video-amd-2.7.7.3/configure.ac
--- old/xf86-video-amd-2.7.7.2/configure.ac 2007-09-17 13:56:51.000000000 +0200
+++ new/xf86-video-amd-2.7.7.3/configure.ac 2007-10-15 15:31:50.000000000 +0200
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-amd],
- 2.7.7.2,
+ 2.7.7.3,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-amd)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-amd-2.7.7.2/src/amd_lx_exa.c new/xf86-video-amd-2.7.7.3/src/amd_lx_exa.c
--- old/xf86-video-amd-2.7.7.2/src/amd_lx_exa.c 2007-09-17 13:53:53.000000000 +0200
+++ new/xf86-video-amd-2.7.7.3/src/amd_lx_exa.c 2007-10-15 15:11:01.000000000 +0200
@@ -962,44 +962,6 @@
{
}
-static Bool lx_upload(PixmapPtr pDst, int x, int y, int w, int h,
- char *src, int src_pitch)
-{
- char *dst = pDst->devPrivate.ptr;
- int dpitch = exaGetPixmapPitch(pDst);
- int bpp = pDst->drawable.bitsPerPixel;
- GeodeRec *pGeode = GEODEPTR_FROM_PIXMAP(pDst);
- unsigned long offset;
-
- dst += (y * dpitch) + (x * (bpp >> 3));
-
- gp_declare_blt(0);
-
- gp_set_bpp(bpp);
- gp_set_raster_operation(0xCC);
- gp_set_strides(dpitch, src_pitch);
- gp_set_solid_pattern(0);
-
- offset = ((unsigned long) dst) - ((unsigned long) pGeode->FBBase);
- gp_color_bitmap_to_screen_blt(offset, 0, w, h, (unsigned char *)src, src_pitch);
- return TRUE;
-}
-
-static Bool lx_download(PixmapPtr pSrc, int x, int y, int w, int h,
- char *dst, int dst_pitch)
-{
- char *src = pSrc->devPrivate.ptr;
- int spitch = exaGetPixmapPitch(pSrc);
- int bpp = pSrc->drawable.bitsPerPixel;
-
- src += (y * spitch) + (x * (bpp >> 3));
-
- geode_memory_to_screen_blt((unsigned long)src, (unsigned long)dst,
- spitch, dst_pitch, w, h, bpp);
- return TRUE;
-}
-
-
Bool LXExaInit(ScreenPtr pScreen)
{
ScrnInfoPtr pScrni = xf86Screens[pScreen->myNum];
@@ -1011,9 +973,6 @@
pExa->WaitMarker = lx_wait_marker;
- pExa->UploadToScreen = lx_upload;
- //pExa->DownloadFromScreen = lx_download;
-
pExa->PrepareSolid = lx_prepare_solid;
pExa->Solid = lx_do_solid;
pExa->DoneSolid = lx_done;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-amd-2.7.7.2/src/amd_lx_video.c new/xf86-video-amd-2.7.7.3/src/amd_lx_video.c
--- old/xf86-video-amd-2.7.7.2/src/amd_lx_video.c 2007-09-17 13:53:53.000000000 +0200
+++ new/xf86-video-amd-2.7.7.3/src/amd_lx_video.c 2007-10-15 15:11:01.000000000 +0200
@@ -100,6 +100,7 @@
CARD32 videoStatus;
Time offTime;
Time freeTime;
+ short pwidth, pheight;
} GeodePortPrivRec, *GeodePortPrivPtr;
#define GET_PORT_PRIVATE(pScrni) \
@@ -528,7 +529,8 @@
break;
}
- if (!RegionsEqual(&pPriv->clip, clipBoxes)) {
+ if (!RegionsEqual(&pPriv->clip, clipBoxes) ||
+ (drawW != pPriv->pwidth || drawH != pPriv->pheight)) {
REGION_COPY(pScrni->pScreen, &pPriv->clip, clipBoxes);
if (pPriv->colorKeyMode == 0) {
@@ -537,8 +539,10 @@
LXDisplayVideo(pScrni, id, width, height, &dstBox,
srcW, srcH, drawW, drawH);
+ pPriv->pwidth = drawW;
+ pPriv->pheight = drawH;
}
-
+
pPriv->videoStatus = CLIENT_VIDEO_ON;
pGeode->OverlayON = TRUE;
@@ -746,6 +750,8 @@
pPriv->colorKey = pGeode->videoKey;
pPriv->colorKeyMode = 0;
pPriv->videoStatus = 0;
+ pPriv->pwidth = 0;
+ pPriv->pheight = 0;
REGION_NULL(pScrn, &pPriv->clip);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-amd-2.7.7.2/src/Makefile.in new/xf86-video-amd-2.7.7.3/src/Makefile.in
--- old/xf86-video-amd-2.7.7.2/src/Makefile.in 2007-09-17 14:05:11.000000000 +0200
+++ new/xf86-video-amd-2.7.7.3/src/Makefile.in 2007-10-15 16:02:28.000000000 +0200
@@ -374,9 +374,9 @@
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
+ $(AUTOMAKE) --foreign src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
++++++ xf86-video-nv.diff ++++++
commit 0887084730af8428e902dabc6e00c505f383f57f
Author: Aaron Plattner
Date: Sun Oct 14 14:15:07 2007 -0700
G80 bug #12397: Fix LVDS detection on certain laptops.
diff --git a/src/g80_sor.c b/src/g80_sor.c
index c98b66d..e1128ef 100644
--- a/src/g80_sor.c
+++ b/src/g80_sor.c
@@ -427,20 +427,20 @@ static const xf86OutputFuncsRec G80SorLVDSOutputFuncs = {
};
static DisplayModePtr
-GetLVDSNativeMode(G80Ptr pNv)
+ReadLVDSNativeMode(G80Ptr pNv, const int off)
{
DisplayModePtr mode = xnfcalloc(1, sizeof(DisplayModeRec));
- const CARD32 size = pNv->reg[0x00610B4C/4];
+ const CARD32 size = pNv->reg[(0x00610B4C+off)/4];
const int width = size & 0x3fff;
const int height = (size >> 16) & 0x3fff;
mode->HDisplay = mode->CrtcHDisplay = width;
mode->VDisplay = mode->CrtcVDisplay = height;
- mode->Clock = pNv->reg[0x610AD4/4] & 0x3fffff;
- mode->CrtcHBlankStart = pNv->reg[0x610AFC/4];
- mode->CrtcHSyncEnd = pNv->reg[0x610B04/4];
- mode->CrtcHBlankEnd = pNv->reg[0x610AE8/4];
- mode->CrtcHTotal = pNv->reg[0x610AF4/4];
+ mode->Clock = pNv->reg[(0x610AD4+off)/4] & 0x3fffff;
+ mode->CrtcHBlankStart = pNv->reg[(0x610AFC+off)/4];
+ mode->CrtcHSyncEnd = pNv->reg[(0x610B04+off)/4];
+ mode->CrtcHBlankEnd = pNv->reg[(0x610AE8+off)/4];
+ mode->CrtcHTotal = pNv->reg[(0x610AF4+off)/4];
mode->next = mode->prev = NULL;
mode->status = MODE_OK;
@@ -451,6 +451,19 @@ GetLVDSNativeMode(G80Ptr pNv)
return mode;
}
+static DisplayModePtr
+GetLVDSNativeMode(G80Ptr pNv)
+{
+ CARD32 val = pNv->reg[0x00610050/4];
+
+ if((val & 3) == 2)
+ return ReadLVDSNativeMode(pNv, 0);
+ else if((val & 0x300) == 0x200)
+ return ReadLVDSNativeMode(pNv, 0x540);
+
+ return NULL;
+}
+
xf86OutputPtr
G80CreateSor(ScrnInfoPtr pScrn, ORNum or, PanelType panelType)
{
@@ -467,6 +480,19 @@ G80CreateSor(ScrnInfoPtr pScrn, ORNum or, PanelType panelType)
if(panelType == LVDS) {
strcpy(orName, "LVDS");
funcs = &G80SorLVDSOutputFuncs;
+
+ pPriv->nativeMode = GetLVDSNativeMode(pNv);
+
+ if(!pPriv->nativeMode) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Failed to find LVDS native mode\n");
+ xfree(pPriv);
+ return FALSE;
+ }
+
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s native size %dx%d\n",
+ orName, pPriv->nativeMode->HDisplay,
+ pPriv->nativeMode->VDisplay);
} else {
snprintf(orName, 5, "DVI%d", or);
pNv->reg[(0x61C00C+off)/4] = 0x03010700;
@@ -488,13 +514,5 @@ G80CreateSor(ScrnInfoPtr pScrn, ORNum or, PanelType panelType)
output->interlaceAllowed = TRUE;
output->doubleScanAllowed = TRUE;
- if(panelType == LVDS) {
- pPriv->nativeMode = GetLVDSNativeMode(pNv);
-
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s native size %dx%d\n",
- orName, pPriv->nativeMode->HDisplay,
- pPriv->nativeMode->VDisplay);
- }
-
return output;
}
commit 1003bcbe4381201f1d7b34dc1af72f57b2943b67
Author: Aaron Plattner
Date: Sat Oct 13 14:36:49 2007 -0700
G80 bug #12637: Unwedge the hardware if the BIOS left it stuck.
diff --git a/src/g80_display.c b/src/g80_display.c
index 6c95773..dda1c7f 100644
--- a/src/g80_display.c
+++ b/src/g80_display.c
@@ -250,6 +250,7 @@ Bool
G80DispInit(ScrnInfoPtr pScrn)
{
G80Ptr pNv = G80PTR(pScrn);
+ CARD32 val;
if(pNv->reg[0x00610024/4] & 0x100) {
pNv->reg[0x00610024/4] = 0x100;
@@ -258,7 +259,15 @@ G80DispInit(ScrnInfoPtr pScrn)
}
pNv->reg[0x00610200/4] = 0x2b00;
- while((pNv->reg[0x00610200/4] & 0x1e0000) != 0);
+ do {
+ val = pNv->reg[0x00610200/4];
+
+ if ((val & 0x9f0000) == 0x20000)
+ pNv->reg[0x00610200/4] = val | 0x800000;
+
+ if ((val & 0x3f0000) == 0x30000)
+ pNv->reg[0x00610200/4] = val | 0x200000;
+ } while ((val & 0x1e0000) != 0);
pNv->reg[0x00610300/4] = 1;
pNv->reg[0x00610200/4] = 0x1000b03;
while(!(pNv->reg[0x00610200/4] & 0x40000000));
commit 1e12277650dff10b1083915cb73961525e21a471
Author: Aaron Plattner
Date: Sat Oct 13 13:50:04 2007 -0700
Remove unused headers.
diff --git a/src/Makefile.am b/src/Makefile.am
index e2166fe..b7eacad 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -41,11 +41,9 @@ nv_sources = \
nv_include.h \
nv_local.h \
nv_proto.h \
- nvreg.h \
nv_setup.c \
nv_shadow.c \
nv_type.h \
- nvvga.h \
nv_video.c \
nv_xaa.c
diff --git a/src/nvreg.h b/src/nvreg.h
deleted file mode 100644
index aa12b0c..0000000
--- a/src/nvreg.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright 1996-1997 David J. McKay
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * DAVID J. MCKAY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef __NVREG_H_
-#define __NVREG_H_
-
-/* Little macro to construct bitmask for contiguous ranges of bits */
-#define BITMASK(t,b) (((unsigned)(1U << (((t)-(b)+1)))-1) << (b))
-#define MASKEXPAND(mask) BITMASK(1?mask,0?mask)
-
-/* Macro to set specific bitfields (mask has to be a macro x:y) ! */
-#define SetBF(mask,value) ((value) << (0?mask))
-#define GetBF(var,mask) (((unsigned)((var) & MASKEXPAND(mask))) >> (0?mask) )
-
-#define MaskAndSetBF(var,mask,value) (var)=(((var)&(~MASKEXPAND(mask)) \
- | SetBF(mask,value)))
-
-#define DEVICE_BASE(device) (0?NV##_##device)
-#define DEVICE_SIZE(device) ((1?NV##_##device) - DEVICE_BASE(device)+1)
-
-/* This is where we will have to have conditional compilation */
-#define DEVICE_ACCESS(device,reg) \
- nv##device##Port[((NV_##device##_##reg)-DEVICE_BASE(device))/4]
-
-#define DEVICE_WRITE(device,reg,value) DEVICE_ACCESS(device,reg)=(value)
-#define DEVICE_READ(device,reg) DEVICE_ACCESS(device,reg)
-#define DEVICE_PRINT(device,reg) \
- ErrorF("NV_"#device"_"#reg"=#%08lx\n",DEVICE_ACCESS(device,reg))
-#define DEVICE_DEF(device,mask,value) \
- SetBF(NV_##device##_##mask,NV_##device##_##mask##_##value)
-#define DEVICE_VALUE(device,mask,value) SetBF(NV_##device##_##mask,value)
-#define DEVICE_MASK(device,mask) MASKEXPAND(NV_##device##_##mask)
-
-#define PDAC_Write(reg,value) DEVICE_WRITE(PDAC,reg,value)
-#define PDAC_Read(reg) DEVICE_READ(PDAC,reg)
-#define PDAC_Print(reg) DEVICE_PRINT(PDAC,reg)
-#define PDAC_Def(mask,value) DEVICE_DEF(PDAC,mask,value)
-#define PDAC_Val(mask,value) DEVICE_VALUE(PDAC,mask,value)
-#define PDAC_Mask(mask) DEVICE_MASK(PDAC,mask)
-
-#define PFB_Write(reg,value) DEVICE_WRITE(PFB,reg,value)
-#define PFB_Read(reg) DEVICE_READ(PFB,reg)
-#define PFB_Print(reg) DEVICE_PRINT(PFB,reg)
-#define PFB_Def(mask,value) DEVICE_DEF(PFB,mask,value)
-#define PFB_Val(mask,value) DEVICE_VALUE(PFB,mask,value)
-#define PFB_Mask(mask) DEVICE_MASK(PFB,mask)
-
-#define PRM_Write(reg,value) DEVICE_WRITE(PRM,reg,value)
-#define PRM_Read(reg) DEVICE_READ(PRM,reg)
-#define PRM_Print(reg) DEVICE_PRINT(PRM,reg)
-#define PRM_Def(mask,value) DEVICE_DEF(PRM,mask,value)
-#define PRM_Val(mask,value) DEVICE_VALUE(PRM,mask,value)
-#define PRM_Mask(mask) DEVICE_MASK(PRM,mask)
-
-#define PGRAPH_Write(reg,value) DEVICE_WRITE(PGRAPH,reg,value)
-#define PGRAPH_Read(reg) DEVICE_READ(PGRAPH,reg)
-#define PGRAPH_Print(reg) DEVICE_PRINT(PGRAPH,reg)
-#define PGRAPH_Def(mask,value) DEVICE_DEF(PGRAPH,mask,value)
-#define PGRAPH_Val(mask,value) DEVICE_VALUE(PGRAPH,mask,value)
-#define PGRAPH_Mask(mask) DEVICE_MASK(PGRAPH,mask)
-
-#define PDMA_Write(reg,value) DEVICE_WRITE(PDMA,reg,value)
-#define PDMA_Read(reg) DEVICE_READ(PDMA,reg)
-#define PDMA_Print(reg) DEVICE_PRINT(PDMA,reg)
-#define PDMA_Def(mask,value) DEVICE_DEF(PDMA,mask,value)
-#define PDMA_Val(mask,value) DEVICE_VALUE(PDMA,mask,value)
-#define PDMA_Mask(mask) DEVICE_MASK(PDMA,mask)
-
-#define PTIMER_Write(reg,value) DEVICE_WRITE(PTIMER,reg,value)
-#define PTIMER_Read(reg) DEVICE_READ(PTIMER,reg)
-#define PTIMER_Print(reg) DEVICE_PRINT(PTIMER,reg)
-#define PTIMER_Def(mask,value) DEVICE_DEF(PTIMER,mask,value)
-#define PTIMER_Val(mask,value) DEVICE_VALUE(PTIEMR,mask,value)
-#define PTIMER_Mask(mask) DEVICE_MASK(PTIMER,mask)
-
-#define PEXTDEV_Write(reg,value) DEVICE_WRITE(PEXTDEV,reg,value)
-#define PEXTDEV_Read(reg) DEVICE_READ(PEXTDEV,reg)
-#define PEXTDEV_Print(reg) DEVICE_PRINT(PEXTDEV,reg)
-#define PEXTDEV_Def(mask,value) DEVICE_DEF(PEXTDEV,mask,value)
-#define PEXTDEV_Val(mask,value) DEVICE_VALUE(PEXTDEV,mask,value)
-#define PEXTDEV_Mask(mask) DEVICE_MASK(PEXTDEV,mask)
-
-#define PFIFO_Write(reg,value) DEVICE_WRITE(PFIFO,reg,value)
-#define PFIFO_Read(reg) DEVICE_READ(PFIFO,reg)
-#define PFIFO_Print(reg) DEVICE_PRINT(PFIFO,reg)
-#define PFIFO_Def(mask,value) DEVICE_DEF(PFIFO,mask,value)
-#define PFIFO_Val(mask,value) DEVICE_VALUE(PFIFO,mask,value)
-#define PFIFO_Mask(mask) DEVICE_MASK(PFIFO,mask)
-
-#define PRAM_Write(reg,value) DEVICE_WRITE(PRAM,reg,value)
-#define PRAM_Read(reg) DEVICE_READ(PRAM,reg)
-#define PRAM_Print(reg) DEVICE_PRINT(PRAM,reg)
-#define PRAM_Def(mask,value) DEVICE_DEF(PRAM,mask,value)
-#define PRAM_Val(mask,value) DEVICE_VALUE(PRAM,mask,value)
-#define PRAM_Mask(mask) DEVICE_MASK(PRAM,mask)
-
-#define PRAMFC_Write(reg,value) DEVICE_WRITE(PRAMFC,reg,value)
-#define PRAMFC_Read(reg) DEVICE_READ(PRAMFC,reg)
-#define PRAMFC_Print(reg) DEVICE_PRINT(PRAMFC,reg)
-#define PRAMFC_Def(mask,value) DEVICE_DEF(PRAMFC,mask,value)
-#define PRAMFC_Val(mask,value) DEVICE_VALUE(PRAMFC,mask,value)
-#define PRAMFC_Mask(mask) DEVICE_MASK(PRAMFC,mask)
-
-#define PMC_Write(reg,value) DEVICE_WRITE(PMC,reg,value)
-#define PMC_Read(reg) DEVICE_READ(PMC,reg)
-#define PMC_Print(reg) DEVICE_PRINT(PMC,reg)
-#define PMC_Def(mask,value) DEVICE_DEF(PMC,mask,value)
-#define PMC_Val(mask,value) DEVICE_VALUE(PMC,mask,value)
-#define PMC_Mask(mask) DEVICE_MASK(PMC,mask)
-
-#define PMC_Write(reg,value) DEVICE_WRITE(PMC,reg,value)
-#define PMC_Read(reg) DEVICE_READ(PMC,reg)
-#define PMC_Print(reg) DEVICE_PRINT(PMC,reg)
-#define PMC_Def(mask,value) DEVICE_DEF(PMC,mask,value)
-#define PMC_Val(mask,value) DEVICE_VALUE(PMC,mask,value)
-#define PMC_Mask(mask) DEVICE_MASK(PMC,mask)
-
-
-#define PBUS_Write(reg,value) DEVICE_WRITE(PBUS,reg,value)
-#define PBUS_Read(reg) DEVICE_READ(PBUS,reg)
-#define PBUS_Print(reg) DEVICE_PRINT(PBUS,reg)
-#define PBUS_Def(mask,value) DEVICE_DEF(PBUS,mask,value)
-#define PBUS_Val(mask,value) DEVICE_VALUE(PBUS,mask,value)
-#define PBUS_Mask(mask) DEVICE_MASK(PBUS,mask)
-
-
-#define PRAMDAC_Write(reg,value) DEVICE_WRITE(PRAMDAC,reg,value)
-#define PRAMDAC_Read(reg) DEVICE_READ(PRAMDAC,reg)
-#define PRAMDAC_Print(reg) DEVICE_PRINT(PRAMDAC,reg)
-#define PRAMDAC_Def(mask,value) DEVICE_DEF(PRAMDAC,mask,value)
-#define PRAMDAC_Val(mask,value) DEVICE_VALUE(PRAMDAC,mask,value)
-#define PRAMDAC_Mask(mask) DEVICE_MASK(PRAMDAC,mask)
-
-
-#define PDAC_ReadExt(reg) \
- ((PDAC_Write(INDEX_LO,(NV_PDAC_EXT_##reg) & 0xff)),\
- (PDAC_Write(INDEX_HI,((NV_PDAC_EXT_##reg) >> 8) & 0xff)),\
- (PDAC_Read(INDEX_DATA)))
-
-#define PDAC_WriteExt(reg,value)\
- ((PDAC_Write(INDEX_LO,(NV_PDAC_EXT_##reg) & 0xff)),\
- (PDAC_Write(INDEX_HI,((NV_PDAC_EXT_##reg) >> 8) & 0xff)),\
- (PDAC_Write(INDEX_DATA,(value))))
-
-#define PCRTC_Def(mask,value) DEVICE_DEF(PCRTC,mask,value)
-#define PCRTC_Val(mask,value) DEVICE_VALUE(PCRTC,mask,value)
-#define PCRTC_Mask(mask) DEVICE_MASK(PCRTC,mask)
-
-
-/* These are the variables which actually point at the register blocks */
-extern volatile unsigned *nvPDACPort; /* Points to the DAC */
-extern volatile unsigned *nvPFBPort; /* Points to the Frame buffer */
-extern volatile unsigned *nvPRMPort; /* Points to real mode stuff */
-extern volatile unsigned *nvPGRAPHPort; /* Graphics unit */
-extern volatile unsigned *nvPDMAPort; /* DMA engine */
-extern volatile unsigned *nvPFIFOPort; /* FIFO registers */
-extern volatile unsigned *nvPTIMERPort; /* TIMER registers */
-extern volatile unsigned *nvPEXTDEVPort; /* EXTDEV registers */
-extern volatile unsigned *nvPRAMPort; /* Priviliged RAM registers */
-extern volatile unsigned *nvPRAMFCPort; /* Priviliged RAM (Fifo) */
-extern volatile unsigned *nvPRAMHTPort; /* Priviliged RAM (hash) */
-extern volatile unsigned *nvPMCPort; /* Priviliged RAM (hash) */
-extern volatile unsigned *nvCHAN0Port; /* User channel 0 */
-extern volatile unsigned *nvPRAMDACPort; /* Points to the RAMDAC */
-extern volatile unsigned *nvPRAMINPort; /* Privileges instance memory */
-extern volatile unsigned *nvPBUSPort; /* Priviled Bus */
-extern volatile unsigned *nvPNVMPort; /* Priviled Bus */
-extern volatile unsigned *dumb; /* FrameBuffer - hack!!!! */
-
-
-typedef enum {NV1,NV3,NV4,NV10,NumNVChips} NVChipType;
-
-NVChipType GetChipType(void);
-
-
-#endif /* __NVREG_H_ */
diff --git a/src/nvvga.h b/src/nvvga.h
deleted file mode 100644
index e614be1..0000000
--- a/src/nvvga.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 1996-1997 David J. McKay
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * DAVID J. MCKAY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef __NVVGA_H__
-#define __NVVGA_H__
-
-#include "riva_hw.h"
-
-#define PALETTE_SIZE 256
-
-#define NV_PDAC_CURSOR_SIZE 32
-#define NV_PDAC_CURSOR_PLANE_SIZE (NV_PDAC_CURSOR_SIZE*4)
-
-/* This is the structure for the NV1. It is not a VGA based core */
-
-typedef struct {
- unsigned char Nparam, Mparam, Oparam, Pparam;
- unsigned char NparamMPLL, MparamMPLL, OparamMPLL, PparamMPLL;
- unsigned char dacConfReg0;
- unsigned char dacConfReg1;
- unsigned char dacRgbPalCtrl;
- unsigned long confReg0;
- unsigned long green0; /* DPMS and sync polarity control */
- unsigned long memoryTrace;
- unsigned long startAddr; /* Where to start reading out from the buffer */
- /* All the following registers control the display */
- unsigned long prmConfig0; /* Controls if text mode on or off */
- unsigned long horFrontPorch; /* Front porch in pixels */
- unsigned long horSyncWidth; /* Sync Width in pixels */
- unsigned long horBackPorch; /* horizontal back porch in in pixels */
- unsigned long horDispWidth; /* Horizontal display width in pixels */
- unsigned long verFrontPorch; /* Vertical front porch in lines */
- unsigned long verSyncWidth; /* Vertical sync width in lines */
- unsigned long verBackPorch; /* Vertical back porch in lines */
- unsigned long verDispWidth; /* Vertical display width in lines */
- /* Hardware cursor registers */
- unsigned char cursorCtrl;
- unsigned char xHi,xLo,yHi,yLo;
- unsigned char colour1[3]; /* RGB values for cursor planes */
- unsigned char colour2[3];
- unsigned char colour3[3];
- unsigned char plane0[NV_PDAC_CURSOR_PLANE_SIZE];
- unsigned char plane1[NV_PDAC_CURSOR_PLANE_SIZE];
- unsigned char palette[PALETTE_SIZE][3];
-}NV1Registers;
-
-/*
- * Driver data structures.
- */
-typedef struct {
-/* vgaHWRec std; good old IBM VGA */
- int vgaValid; /* is the above state valid?? */
- NVChipType type; /* What the union holds */
-
- union {
- NV1Registers nv1;
- RIVA_HW_STATE RivaState;
- }regs;
-} vgaNVRec, *vgaNVPtr;
-
-#endif /* __NVVGA_H__ */
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org