rpms/xorg-x11-drv-i810/devel intel-prune-by-edid-pixclock.patch, NONE, 1.1 intel-virtual-sizing-bogon.patch, NONE, 1.1 xorg-x11-drv-i810.spec, 1.28, 1.29

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Aug 3 01:00:53 UTC 2006


Author: ajackson

Update of /cvs/dist/rpms/xorg-x11-drv-i810/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv21943

Modified Files:
	xorg-x11-drv-i810.spec 
Added Files:
	intel-prune-by-edid-pixclock.patch 
	intel-virtual-sizing-bogon.patch 
Log Message:
* Wed Aug  2 2006 Adam Jackson <ajackson at redhat.com> 1.6.0-13.20060717modeset.fc6
- intel-prune-by-edid-pixclock.patch: Honor the EDID-reported maximum pixel
  clock when computing the modes list.
- intel-virtual-sizing-bogon.patch: Don't interpret the size of the display
  in centimeters as the size of the display in pixels.


intel-prune-by-edid-pixclock.patch:
 i830_modes.c     |    8 +++++++-
 i830_xf86Modes.c |   21 +++++++++++++++++++++
 i830_xf86Modes.h |    4 ++++
 3 files changed, 32 insertions(+), 1 deletion(-)

--- NEW FILE intel-prune-by-edid-pixclock.patch ---
--- xf86-video-intel/src/i830_xf86Modes.h.edid-pixclock	2006-07-24 14:13:53.000000000 -0400
+++ xf86-video-intel/src/i830_xf86Modes.h	2006-08-02 17:57:59.000000000 -0400
@@ -57,6 +57,10 @@
 			  MonPtr mon);
 
 void
+i830xf86ValidateModesClock(ScrnInfoPtr pScrn, DisplayModePtr modeList,
+			  MonPtr mon);
+
+void
 i830xf86PruneInvalidModes(ScrnInfoPtr pScrn, DisplayModePtr *modeList,
 			  Bool verbose);
 
--- xf86-video-intel/src/i830_modes.c.edid-pixclock	2006-07-24 14:13:53.000000000 -0400
+++ xf86-video-intel/src/i830_modes.c	2006-08-02 18:28:04.000000000 -0400
@@ -601,7 +601,7 @@
     xf86MonPtr ddc;
     MonPtr mon;
     DisplayModePtr userModes;
-    int i;
+    int i, clock;
 
     ddc = xf86DoEDID_DDC2(pScrn->scrnIndex, pDDCBus);
 
@@ -623,6 +623,9 @@
 	    mon->vrefresh[mon->nVrefresh].lo = det_mon->section.ranges.min_v;
 	    mon->vrefresh[mon->nVrefresh].hi = det_mon->section.ranges.max_v;
 	    mon->nVrefresh++;
+	    clock = det_mon->section.ranges.max_clock * 1000;
+	    if (clock > mon->maxPixClock)
+		mon->maxPixClock = clock;
 	    break;
 	default:
 	    /* We probably don't care about trying to contruct ranges around
@@ -642,6 +645,7 @@
 	i830xf86ValidateModesSize(pScrn, userModes, ddc->features.hsize,
 				  ddc->features.vsize, -1);
     }
+    i830xf86ValidateModesClock(pScrn, userModes, mon);
     i830xf86PruneInvalidModes(pScrn, &userModes, TRUE);
 
     i830AppendModes(pScrn, &mon->Modes, userModes);
@@ -806,6 +810,8 @@
 				   V_INTERLACE);
 	i830xf86ValidateModesClocks(pScrn, pI830->pipeMon[pipe]->Modes,
 				    &minclock, &maxclock, 1);
+	i830xf86ValidateModesClock(pScrn, pI830->pipeMon[pipe]->Modes,
+				   pI830->pipeMon[pipe]);
 
 	i830xf86PruneInvalidModes(pScrn, &pI830->pipeMon[pipe]->Modes, TRUE);
 
--- xf86-video-intel/src/i830_xf86Modes.c.edid-pixclock	2006-07-24 14:13:53.000000000 -0400
+++ xf86-video-intel/src/i830_xf86Modes.c	2006-08-02 17:57:59.000000000 -0400
@@ -373,6 +373,27 @@
 }
 
 /**
+ * Marks as bad any modes exceeding the maximum pixel clock of the monitor.
+ *
+ * \param modeList doubly-linked or circular list of modes.
+ *
+ * This is not in xf86Modes.c, but would be part of the proposed new API.
+ */
+void
+i830xf86ValidateModesClock(ScrnInfoPtr pScrn, DisplayModePtr modeList,
+			  MonPtr mon)
+{
+    DisplayModePtr mode;
+
+    if (!mon || !mon->maxPixClock)
+	return;
+
+    for (mode = modeList; mode != NULL; mode = mode->next)
+	if (mode->Clock > mon->maxPixClock)
+	    mode->status = MODE_CLOCK_HIGH;
+}
+
+/**
  * Marks as bad any modes extending beyond outside of the given clock ranges.
  *
  * \param modeList doubly-linked or circular list of modes.

intel-virtual-sizing-bogon.patch:
 i830_modes.c |    4 ----
 1 files changed, 4 deletions(-)

--- NEW FILE intel-virtual-sizing-bogon.patch ---
--- xf86-video-intel/src/i830_modes.c.jx	2006-08-02 19:44:32.000000000 -0400
+++ xf86-video-intel/src/i830_modes.c	2006-08-02 20:25:50.000000000 -0400
@@ -641,10 +641,6 @@
     userModes = i830DuplicateModes(pScrn, pScrn->monitor->Modes);
 
     i830xf86ValidateModesSync(pScrn, userModes, mon);
-    if (ddc->features.hsize > 0 && ddc->features.vsize > 0) {
-	i830xf86ValidateModesSize(pScrn, userModes, ddc->features.hsize,
-				  ddc->features.vsize, -1);
-    }
     i830xf86ValidateModesClock(pScrn, userModes, mon);
     i830xf86PruneInvalidModes(pScrn, &userModes, TRUE);
 


Index: xorg-x11-drv-i810.spec
===================================================================
RCS file: /cvs/dist/rpms/xorg-x11-drv-i810/devel/xorg-x11-drv-i810.spec,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- xorg-x11-drv-i810.spec	24 Jul 2006 18:23:23 -0000	1.28
+++ xorg-x11-drv-i810.spec	3 Aug 2006 01:00:51 -0000	1.29
@@ -14,7 +14,7 @@
 Summary:   Xorg X11 i810 video driver
 Name:      xorg-x11-drv-i810
 Version:   1.6.0
-Release:   12.%{gitdate}modeset%{?dist}
+Release:   13.%{gitdate}modeset%{?dist}
 URL:       http://www.x.org
 License:   MIT/X11
 Group:     User Interface/X Hardware Support
@@ -24,6 +24,9 @@
 Source0:   xf86-video-intel-1.6.0-git-modesetting-%{gitdate}.tar.bz2
 Source1:   i810.xinf
 
+Patch0: intel-prune-by-edid-pixclock.patch
+Patch1: intel-virtual-sizing-bogon.patch
+
 ExclusiveArch: %{ix86} x86_64 ia64
 
 BuildRequires: pkgconfig
@@ -51,6 +54,8 @@
 %prep
 #%setup -q -n %{tarball}-%{version}
 %setup -q -n xf86-video-intel
+%patch0 -p1 -b .edid-pixclock
+%patch1 -p1 -b .virtual-bogon
 
 %build
 ./autogen.sh --disable-static \
@@ -99,7 +104,13 @@
 %{_libdir}/libI810XvMC.so
 
 %changelog
-* Mon Jul 24 2006 Adam Jackson <ajackson at redhat.com> 1.6.0-12.20060717modeset.gc6
+* Wed Aug  2 2006 Adam Jackson <ajackson at redhat.com> 1.6.0-13.20060717modeset.fc6
+- intel-prune-by-edid-pixclock.patch: Honor the EDID-reported maximum pixel
+  clock when computing the modes list.
+- intel-virtual-sizing-bogon.patch: Don't interpret the size of the display
+  in centimeters as the size of the display in pixels.
+
+* Mon Jul 24 2006 Adam Jackson <ajackson at redhat.com> 1.6.0-12.20060717modeset.fc6
 - Disable spread-spectrum LVDS, various crash and hang fixes, saner output
   probing.
 




More information about the fedora-cvs-commits mailing list