Hello community, here is the log from the commit of package xorg-x11-driver-video checked in at Thu Sep 6 21:05:11 CEST 2007. -------- --- xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-09-02 16:23:46.000000000 +0200 +++ /mounts/work_src_done/STABLE/xorg-x11-driver-video/xorg-x11-driver-video.changes 2007-09-05 10:40:47.740595000 +0200 @@ -1,0 +2,6 @@ +Wed Sep 5 10:39:49 CEST 2007 - sndirsch@suse.de + +- xf86-video-ati-opma.diff: + * get monitor DDC from VGA_DDC line first (Bug #307074) + +------------------------------------------------------------------- New: ---- xf86-video-ati-opma.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-driver-video.spec ++++++ --- /var/tmp/diff_new_pack.t13678/_old 2007-09-06 21:04:47.000000000 +0200 +++ /var/tmp/diff_new_pack.t13678/_new 2007-09-06 21:04:47.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: 170 +Release: 172 License: X11/MIT BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -99,6 +99,7 @@ Patch39: xf86-video-ati-bug296856.diff Patch40: xf86-video-unichrome.diff Patch41: xf86-video-xgi.diff +Patch42: xf86-video-ati-opma.diff %description This package contains X.Org video drivers. @@ -138,6 +139,7 @@ %patch34 -p1 %patch37 -p1 %patch39 -p1 +%patch42 -p1 popd pushd xf86-video-nv-*/src %patch3 -p6 @@ -241,6 +243,9 @@ %{_mandir}/man4/* %changelog +* Wed Sep 05 2007 - sndirsch@suse.de +- xf86-video-ati-opma.diff: + * get monitor DDC from VGA_DDC line first (Bug #307074) * Sun Sep 02 2007 - sndirsch@suse.de - added amd driver (release 2.7.7.0) * X graphics driver for the AMD Geode GX and LX processors. ++++++ xf86-video-ati-opma.diff ++++++ diff --git a/src/radeon_display.c b/src/radeon_display.c index 02f5960..955ec70 100644 --- a/src/radeon_display.c +++ b/src/radeon_display.c @@ -1250,15 +1250,30 @@ static void RADEONQueryConnectedDisplays(ScrnInfoPtr pScrn) if (pRADEONEnt->PortInfo[0]->MonType == MT_UNKNOWN || pRADEONEnt->PortInfo[1]->MonType == MT_UNKNOWN) { if ((!pRADEONEnt->HasCRTC2) && (pRADEONEnt->PortInfo[0]->MonType == MT_UNKNOWN)) { - if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_DVI, - pRADEONEnt->PortInfo[0]))); - else if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_VGA, - pRADEONEnt->PortInfo[0]))); - else if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_CRT2, - pRADEONEnt->PortInfo[0]))); - else - pRADEONEnt->PortInfo[0]->MonType = MT_CRT; - + /*if OPMA server is detected, try to read local monitor DDC info from DDC_VGA line first*/ + if ((info->PciInfo->subsysVendor == 0x1002) && + (info->PciInfo->subsysCard == 0x515e) && info->Chipset== PCI_CHIP_RN50_515E){ + if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_VGA, + pRADEONEnt->PortInfo[0]))); + else if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_DVI, + pRADEONEnt->PortInfo[0]))); + else if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_CRT2, + pRADEONEnt->PortInfo[0]))); + else + pRADEONEnt->PortInfo[0]->MonType = MT_CRT; + } + else{ + if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_DVI, + pRADEONEnt->PortInfo[0]))); + else if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_VGA, + pRADEONEnt->PortInfo[0]))); + else if((pRADEONEnt->PortInfo[0]->MonType = RADEONDisplayDDCConnected(pScrn, DDC_CRT2, + pRADEONEnt->PortInfo[0]))); + else + pRADEONEnt->PortInfo[0]->MonType = MT_CRT; + } + + if (!ignore_edid) { if (pRADEONEnt->PortInfo[0]->MonInfo) { xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Monitor1 EDID data ---------------------------\n"); diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 2288126..c551fdc 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -2045,6 +2045,12 @@ static Bool RADEONPreInitModes(ScrnInfoPtr pScrn, xf86Int10InfoPtr pInt10) if (ven && ven->prod_id == 0x029a && ven->serial == 0x01010101) info->ddc_mode = TRUE; } + /*if OPMA sever is detected,use DDC_MODE to validate mode*/ + if ((info->PciInfo->subsysVendor == 0x1002) && + (info->PciInfo->subsysCard == 0x515e) && info->Chipset== PCI_CHIP_RN50_515E){ + info->ddc_mode = TRUE; + } + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Validating modes on %s head ---------\n", diff --git a/src/radeon_modes.c b/src/radeon_modes.c index 3315eec..32a006f 100644 --- a/src/radeon_modes.c +++ b/src/radeon_modes.c @@ -357,6 +357,16 @@ int RADEONValidateDDCModes(ScrnInfoPtr pScrn1, char **ppModeName, for (i = 0; ppModeName[i]; i++) { /* FIXME: Use HDisplay and VDisplay instead of mode string */ if (sscanf(ppModeName[i], "%dx%d", &width, &height) == 2) { + /* don't set resolution higher than 1600x1200 for OPMA server*/ + if ((info->PciInfo->subsysVendor == 0x1002) && + (info->PciInfo->subsysCard == 0x515e) && info->Chipset== PCI_CHIP_RN50_515E){ + if (width <= 1600 && height <= 1200); + else{ + width = 1600; + height = 1200; + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, " user define a large mode that OPMA may not support ,change maxVirtX to %d \n", maxVirtX); + } + } for (p = ddcModes; p; p = next) { next = p->next; --- xf86-video-ati-6.6.193/src/radeon_display.c.old 2007-09-05 08:50:41.000000000 +0000 +++ xf86-video-ati-6.6.193/src/radeon_display.c 2007-09-05 08:51:14.000000000 +0000 @@ -46,6 +46,7 @@ #include "radeon_probe.h" #include "radeon_version.h" #include "radeon_mergedfb.h" +#include "atipciids.h" extern int getRADEONEntityIndex(void); --- xf86-video-ati-6.6.193/src/radeon_modes.c.old 2007-09-05 08:51:56.000000000 +0000 +++ xf86-video-ati-6.6.193/src/radeon_modes.c 2007-09-05 08:52:39.000000000 +0000 @@ -47,6 +47,7 @@ #include "radeon_macros.h" #include "radeon_probe.h" #include "radeon_version.h" +#include "atipciids.h" /* DDC support */ #include "xf86DDC.h" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org