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