Hello community,
here is the log from the commit of package xorg-x11-driver-video
checked in at Thu Sep 13 10:35:23 CEST 2007.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-09-11 12:31:35.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-09-12 17:35:11.808139000 +0200
@@ -1,0 +2,6 @@
+Wed Sep 12 17:37:09 CEST 2007 - sndirsch@suse.de
+
+- xf86-video-nv-g80_lvds_detect.diff:
+ * G80: Fix LVDS detection on some laptops
+
+-------------------------------------------------------------------
New:
----
xf86-video-nv-g80_lvds_detect.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.U26283/_old 2007-09-13 10:34:55.000000000 +0200
+++ /var/tmp/diff_new_pack.U26283/_new 2007-09-13 10:34:55.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.2
-Release: 177
+Release: 179
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -89,6 +89,7 @@
Patch40: xf86-video-unichrome.diff
Patch41: xf86-video-xgi.diff
Patch42: xf86-video-ati-opma.diff
+Patch43: xf86-video-nv-g80_lvds_detect.diff
%description
This package contains X.Org video drivers.
@@ -132,6 +133,7 @@
popd
pushd xf86-video-nv-*/src
%patch3 -p6
+%patch43 -p2
popd
pushd xf86-video-mga-*/src
tar xzf %{SOURCE44}
@@ -229,6 +231,9 @@
%{_mandir}/man4/*
%changelog
+* Wed Sep 12 2007 - sndirsch@suse.de
+- xf86-video-nv-g80_lvds_detect.diff:
+ * G80: Fix LVDS detection on some laptops
* Tue Sep 11 2007 - sndirsch@suse.de
- removed superfluous sun video drivers (Bug #309417)
* Fri Sep 07 2007 - sndirsch@suse.de
++++++ xf86-video-nv-g80_lvds_detect.diff ++++++
.gitignore | 1 +
src/g80_output.c | 30 +++++++++++++++++++++++-------
src/g80_type.h | 5 ++++-
3 files changed, 28 insertions(+), 8 deletions(-)
New commits:
diff-tree b2db7d414400d80a5567d71eed9a7e94f1043a20 (from 07fb9f0b00fafe18bd33bddff23cbb4325eb50f8)
Author: Aaron Plattner
Date: Tue Sep 11 22:51:20 2007 -0700
G80: Fix LVDS detection on some laptops.
diff --git a/src/g80_output.c b/src/g80_output.c
index 8bd2096..1ec6a89 100644
--- a/src/g80_output.c
+++ b/src/g80_output.c
@@ -66,10 +66,11 @@ static Bool G80ReadPortMapping(int scrnI
port = (b >> 4) & 0xf;
or = ffs((b >> 24) & 0xf) - 1;
- if(type < 4 && port != 0xf) {
+ if(type == 0xe) break;
+
+ if(type < 4) {
switch(type) {
case 0: /* CRT */
- case 1: /* TV */
if(pNv->i2cMap[port].dac != -1) {
xf86DrvMsg(scrnIndex, X_WARNING,
"DDC routing table corrupt! DAC %i -> %i "
@@ -78,21 +79,30 @@ static Bool G80ReadPortMapping(int scrnI
}
pNv->i2cMap[port].dac = or;
break;
+ case 1: /* TV */
+ /* Ignore TVs */
+ break;
+
case 2: /* TMDS */
- case 3: /* LVDS */
if(pNv->i2cMap[port].sor != -1)
xf86DrvMsg(scrnIndex, X_WARNING,
"DDC routing table corrupt! SOR %i -> %i "
"for port %i\n",
or, pNv->i2cMap[port].sor, port);
pNv->i2cMap[port].sor = or;
- pNv->i2cMap[port].panelType = (type == 2) ? TMDS : LVDS;
+ break;
+
+ case 3: /* LVDS */
+ pNv->lvds.present = TRUE;
+ pNv->lvds.or = or;
break;
}
}
}
- xf86DrvMsg(scrnIndex, X_PROBED, "I2C map:\n");
+ xf86DrvMsg(scrnIndex, X_PROBED, "Connector map:\n");
+ if(pNv->lvds.present)
+ xf86DrvMsg(scrnIndex, X_PROBED, " [N/A] -> SOR%i (LVDS)\n", pNv->lvds.or);
for(i = 0; i < 4; i++) {
if(pNv->i2cMap[i].dac != -1)
xf86DrvMsg(scrnIndex, X_PROBED, " Bus %i -> DAC%i\n", i, pNv->i2cMap[i].dac);
@@ -315,8 +325,7 @@ G80CreateOutputs(ScrnInfoPtr pScrn)
if(pNv->i2cMap[i].dac != -1)
dac = G80CreateDac(pScrn, pNv->i2cMap[i].dac);
if(pNv->i2cMap[i].sor != -1)
- sor = G80CreateSor(pScrn, pNv->i2cMap[i].sor,
- pNv->i2cMap[i].panelType);
+ sor = G80CreateSor(pScrn, pNv->i2cMap[i].sor, TMDS);
if(dac) {
G80OutputPrivPtr pPriv = dac->driver_private;
@@ -334,6 +343,13 @@ G80CreateOutputs(ScrnInfoPtr pScrn)
}
}
+ if(pNv->lvds.present) {
+ xf86OutputPtr lvds = G80CreateSor(pScrn, pNv->lvds.or, LVDS);
+ G80OutputPrivPtr pPriv = lvds->driver_private;
+
+ pPriv->scale = G80_SCALE_ASPECT;
+ }
+
/* For each output, set the crtc and clone masks */
for(i = 0; i < xf86_config->num_output; i++) {
xf86OutputPtr output = xf86_config->output[i];
diff --git a/src/g80_type.h b/src/g80_type.h
index 0830ecc..ecaedaa 100644
--- a/src/g80_type.h
+++ b/src/g80_type.h
@@ -48,8 +48,11 @@ typedef struct G80Rec {
struct {
ORNum dac;
ORNum sor;
- PanelType panelType;
} i2cMap[4];
+ struct {
+ Bool present;
+ ORNum or;
+ } lvds;
xf86Int10InfoPtr int10;
int int10Mode; /* Console mode to restore */
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org