rpms/xorg-x11-server/F-8 xserver-1.3.0-update-edid-quirks.patch, NONE, 1.1 xorg-x11-server.spec, 1.262, 1.263

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Fri Nov 30 05:22:59 UTC 2007


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-server/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3143

Modified Files:
	xorg-x11-server.spec 
Added Files:
	xserver-1.3.0-update-edid-quirks.patch 
Log Message:
* Fri Nov 30 2007 Dave Airlie <airlied at redhat.com> 1.3.0.0-36
- xserver-1.3.0-update-edid-quirks.patch - updates quirk from master server


xserver-1.3.0-update-edid-quirks.patch:

--- NEW FILE xserver-1.3.0-update-edid-quirks.patch ---
diff -up xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.da xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c
--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c.da	2007-11-30 13:28:41.000000000 +1000
+++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86EdidModes.c	2007-11-30 13:29:10.000000000 +1000
@@ -64,13 +64,16 @@ typedef enum {
      * maximum size and use that.
      */
     DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE = 1 << 5,
+    /* Monitor forgot to set the first detailed is preferred bit. */
+    DDC_QUIRK_FIRST_DETAILED_PREFERRED = 1 << 6,
 } ddc_quirk_t;
 
 static Bool quirk_prefer_large_60 (int scrnIndex, xf86MonPtr DDC)
 {
     /* Belinea 10 15 55 */
     if (memcmp (DDC->vendor.name, "MAX", 4) == 0 &&
-	DDC->vendor.prod_id == 1516)
+	((DDC->vendor.prod_id == 1516) ||
+	(DDC->vendor.prod_id == 0x77e)))
 	return TRUE;
     
     /* Acer AL1706 */
@@ -147,6 +150,16 @@ static Bool quirk_135_clock_too_high (in
     return FALSE;
 }
 
+static Bool quirk_first_detailed_preferred (int scrnIndex, xf86MonPtr DDC)
+{
+    /* Philips 107p5 CRT. Reported on xorg@ with pastebin. */
+    if (memcmp (DDC->vendor.name, "PHL", 4) == 0 &&
+	DDC->vendor.prod_id == 57364)
+	return TRUE;
+
+    return FALSE;
+}
+
 typedef struct {
     Bool	(*detect) (int scrnIndex, xf86MonPtr DDC);
     ddc_quirk_t	quirk;
@@ -178,6 +191,10 @@ static const ddc_quirk_map_t ddc_quirks[
 	quirk_detailed_use_maximum_size,   DDC_QUIRK_DETAILED_USE_MAXIMUM_SIZE,
 	"Detailed timings give sizes in cm."
     },
+    {
+	quirk_first_detailed_preferred, DDC_QUIRK_FIRST_DETAILED_PREFERRED,
+	"First detailed timing was not marked as preferred."
+    },
     { 
 	NULL,		DDC_QUIRK_NONE,
 	"No known quirks"
@@ -257,7 +274,7 @@ DDCModesFromStandardTiming(int scrnIndex
  */
 static DisplayModePtr
 DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing,
-			  int preferred, ddc_quirk_t quirks)
+			  Bool preferred, ddc_quirk_t quirks)
 {
     DisplayModePtr Mode;
 
@@ -470,9 +487,10 @@ xf86DDCSetPreferredRefresh(int scrnIndex
 _X_EXPORT DisplayModePtr
 xf86DDCGetModes(int scrnIndex, xf86MonPtr DDC)
 {
-    int preferred, i;
+    int		    i;
     DisplayModePtr  Modes = NULL, Mode;
     ddc_quirk_t	    quirks;
+    Bool	    preferred;
 
     xf86DrvMsg (scrnIndex, X_INFO, "EDID vendor \"%s\", prod id %d\n",
 		DDC->vendor.name, DDC->vendor.prod_id);
@@ -480,8 +498,10 @@ xf86DDCGetModes(int scrnIndex, xf86MonPt
     quirks = xf86DDCDetectQuirks(scrnIndex, DDC, TRUE);
 
     preferred = PREFERRED_TIMING_MODE(DDC->features.msc);
-    if (quirks & DDC_QUIRK_PREFER_LARGE_60)
-	preferred = 0;
+    if (quirks & DDC_QUIRK_FIRST_DETAILED_PREFERRED)
+	preferred = TRUE;
+    if (quirks & (DDC_QUIRK_PREFER_LARGE_60 | DDC_QUIRK_PREFER_LARGE_75))
+	preferred = FALSE;
 
     for (i = 0; i < DET_TIMINGS; i++) {
 	struct detailed_monitor_section *det_mon = &DDC->det_mon[i];
@@ -492,7 +512,7 @@ xf86DDCGetModes(int scrnIndex, xf86MonPt
                                              &det_mon->section.d_timings,
 					     preferred,
 					     quirks);
-	    preferred = 0;
+	    preferred = FALSE;
             Modes = xf86ModesAdd(Modes, Mode);
             break;
         case DS_STD_TIMINGS:
@@ -538,10 +558,8 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr 
 
     Monitor->DDC = DDC;
 
-    if (Monitor->widthmm <= 0 && Monitor->heightmm <= 0) {
-        Monitor->widthmm = 10 * DDC->features.hsize;
-        Monitor->heightmm = 10 * DDC->features.vsize;
-    }
+    Monitor->widthmm = 10 * DDC->features.hsize;
+    Monitor->heightmm = 10 * DDC->features.vsize;
 
     /* If this is a digital display, then we can use reduced blanking */
     if (DDC->features.input_type)


Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-8/xorg-x11-server.spec,v
retrieving revision 1.262
retrieving revision 1.263
diff -u -r1.262 -r1.263
--- xorg-x11-server.spec	29 Nov 2007 09:17:03 -0000	1.262
+++ xorg-x11-server.spec	30 Nov 2007 05:22:21 -0000	1.263
@@ -9,7 +9,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.3.0.0
-Release:   35%{?dist}
+Release:   36%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -80,7 +80,7 @@
 Patch2017:  xserver-1.3.0-update-quirks.patch
 Patch2018:  xserver-1.3.0-late-sigusr1.patch
 Patch2019:  xserver-1.3.0-yet-more-vt-ioctl-hate.patch
-
+Patch2020:  xserver-1.3.0-update-edid-quirks.patch
 
 # assorted PCI layer shenanigans.  oh the pain.
 Patch2500:  xorg-x11-server-1.2.99-unbreak-domain.patch
@@ -349,7 +349,8 @@
 %patch2016 -p1 -b .document-randr
 %patch2017 -p1 -b .update-quirk
 %patch2018 -p1 -b .sigusr1
-%patch2019 -p1 -b .jx
+%patch2019 -p1 -b .vt-ioctl-hate
+%patch2020 -p1 -b .more-quirk-patch
 
 %patch2500 -p1 -b .unbreak-domains
 %patch2501 -p1 -b .pci-bus-count
@@ -625,6 +626,9 @@
 
 
 %changelog
+* Fri Nov 30 2007 Dave Airlie <airlied at redhat.com> 1.3.0.0-36
+- xserver-1.3.0-update-edid-quirks.patch - updates quirk from master server
+
 * Thu Nov 29 2007 Dave Airlie <airlied at redhat.com> 1.3.0.0-35
 - xserver-1.3.0-ignore-extra-entity.patch - if a driver doesn't support 
   secondary entities, don't fatal error just ignore and keep going




More information about the fedora-extras-commits mailing list