From 2b187d056fd6354267b451b9b1f3be1c8581e0c6 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Sep 17 2007 21:47:33 +0000 Subject: * Mon Sep 17 2007 Adam Jackson 1.3.0.0-24 - xserver-1.3.0-edid-quirk-backports.patch: Update the EDID quirks code to match current git. --- diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index ad985f9..10acdb0 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -9,7 +9,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.3.0.0 -Release: 23%{?dist} +Release: 24%{?dist} URL: http://www.x.org License: MIT/X11 Group: User Interface/X @@ -608,6 +608,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Sep 17 2007 Adam Jackson 1.3.0.0-24 +- xserver-1.3.0-edid-quirk-backports.patch: Update the EDID quirks code + to match current git. + * Thu Sep 06 2007 Adam Jackson 1.3.0.0-23 - xserver-1.3.0-xrandr-timestamp-buglet.patch: Make sure xrandr doesn't stop working after several hours. (Marius Gedminas, #273801) diff --git a/xserver-1.3.0-edid-quirk-backports.patch b/xserver-1.3.0-edid-quirk-backports.patch index 19bac75..22c9be5 100644 --- a/xserver-1.3.0-edid-quirk-backports.patch +++ b/xserver-1.3.0-edid-quirk-backports.patch @@ -1,18 +1,42 @@ -diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.jx xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c ---- xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.jx 2007-04-18 00:33:14.000000000 -0400 -+++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c 2007-07-12 09:45:38.000000000 -0400 -@@ -71,6 +71,10 @@ static Bool quirk_dt_sync_hm_vp (int scr - if (memcmp (DDC->vendor.name, "VSC", 4) == 0 && - DDC->vendor.prod_id == 58653) - return TRUE; -+ /* Samsung SyncMaster 205BW */ -+ if (memcmp (DDC->vendor.name, "SAM", 4) == 0 && -+ DDC->vendor.prod_id == 541) -+ return TRUE; +diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.edid-quirks xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c +--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.edid-quirks 2007-04-18 00:33:14.000000000 -0400 ++++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c 2007-09-17 14:37:36.000000000 -0400 +@@ -49,32 +49,12 @@ - return FALSE; - } -@@ -87,9 +91,10 @@ static Bool quirk_prefer_large_60 (int s + typedef enum { + DDC_QUIRK_NONE = 0, +- /* Force detailed sync polarity to -h +v */ +- DDC_QUIRK_DT_SYNC_HM_VP = 1 << 0, + /* First detailed mode is bogus, prefer largest mode at 60hz */ +- DDC_QUIRK_PREFER_LARGE_60 = 1 << 1, ++ DDC_QUIRK_PREFER_LARGE_60 = 1 << 0, + /* 135MHz clock is too high, drop a bit */ +- DDC_QUIRK_135_CLOCK_TOO_HIGH = 1 << 2 ++ DDC_QUIRK_135_CLOCK_TOO_HIGH = 1 << 1 + } ddc_quirk_t; + +-static Bool quirk_dt_sync_hm_vp (int scrnIndex, xf86MonPtr DDC) +-{ +- /* Belinea 1924S1W */ +- if (memcmp (DDC->vendor.name, "MAX", 4) == 0 && +- DDC->vendor.prod_id == 1932) +- return TRUE; +- /* Belinea 10 20 30W */ +- if (memcmp (DDC->vendor.name, "MAX", 4) == 0 && +- DDC->vendor.prod_id == 2007) +- return TRUE; +- /* ViewSonic VX2025wm (bug #9941) */ +- if (memcmp (DDC->vendor.name, "VSC", 4) == 0 && +- DDC->vendor.prod_id == 58653) +- return TRUE; +- +- return FALSE; +-} +- + static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC) + { + /* Belinea 10 15 55 */ +@@ -87,9 +67,10 @@ static Bool quirk_prefer_large_60 (int s DDC->vendor.prod_id == 44358) return TRUE; @@ -25,3 +49,42 @@ diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.jx xorg-server-1.3 return TRUE; return FALSE; +@@ -112,10 +93,6 @@ typedef struct { + } ddc_quirk_map_t; + + static const ddc_quirk_map_t ddc_quirks[] = { +- { +- quirk_dt_sync_hm_vp, DDC_QUIRK_DT_SYNC_HM_VP, +- "Set detailed timing sync polarity to -h +v" +- }, + { + quirk_prefer_large_60, DDC_QUIRK_PREFER_LARGE_60, + "Detailed timing is not preferred, use largest mode at 60Hz" +@@ -251,20 +228,15 @@ DDCModeFromDetailedTiming(int scrnIndex, + if (timing->interlaced) + Mode->Flags |= V_INTERLACE; + +- if (quirks & DDC_QUIRK_DT_SYNC_HM_VP) +- Mode->Flags |= V_NHSYNC | V_PVSYNC; ++ if (timing->misc & 0x02) ++ Mode->Flags |= V_PVSYNC; + else +- { +- if (timing->misc & 0x02) +- Mode->Flags |= V_PHSYNC; +- else +- Mode->Flags |= V_NHSYNC; ++ Mode->Flags |= V_NVSYNC; + +- if (timing->misc & 0x01) +- Mode->Flags |= V_PVSYNC; +- else +- Mode->Flags |= V_NVSYNC; +- } ++ if (timing->misc & 0x01) ++ Mode->Flags |= V_PHSYNC; ++ else ++ Mode->Flags |= V_NHSYNC; + + return Mode; + }