* Mon Sep 17 2007 Adam Jackson <ajax@redhat.com> 1.3.0.0-24

- xserver-1.3.0-edid-quirk-backports.patch: Update the EDID quirks code
  to match current git.
This commit is contained in:
Adam Jackson 2007-09-17 21:47:33 +00:00
parent 1986f25d44
commit 2b187d056f
2 changed files with 82 additions and 15 deletions

View File

@ -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 <ajax@redhat.com> 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 <ajax@redhat.com> 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)

View File

@ -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;
}