rpms/xorg-x11-drv-ati/F-11 radeon-6.12.2-lvds-default-modes.patch, NONE, 1.1 xorg-x11-drv-ati.spec, 1.188, 1.189

Adam Jackson ajax at fedoraproject.org
Thu May 7 18:52:38 UTC 2009


Author: ajax

Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13045

Modified Files:
	xorg-x11-drv-ati.spec 
Added Files:
	radeon-6.12.2-lvds-default-modes.patch 
Log Message:
* Thu May 07 2009 Adam Jackson <ajax at redhat.com> 6.12.2-13
- radeon-6.12.2-lvds-default-modes.patch: Add default modes to the LVDS mode
  list if we got no EDID from the kernel.


radeon-6.12.2-lvds-default-modes.patch:

--- NEW FILE radeon-6.12.2-lvds-default-modes.patch ---
diff -up xf86-video-ati-6.12.2/src/drmmode_display.c.lvds xf86-video-ati-6.12.2/src/drmmode_display.c
--- xf86-video-ati-6.12.2/src/drmmode_display.c.lvds	2009-05-07 13:13:43.000000000 -0400
+++ xf86-video-ati-6.12.2/src/drmmode_display.c	2009-05-07 13:39:10.000000000 -0400
@@ -568,6 +568,49 @@ drmmode_output_get_modes(xf86OutputPtr o
 		Modes = xf86ModesAdd(Modes, Mode);
 
 	}
+
+        /*
+         * LVDS can scale.  If there's no EDID, or if it claims not to be
+         * continuous-freq, then add the default modes so we get 800x600
+         * and friends.
+         */
+	if (strstr(output->name, "LVDS")) {
+                xf86MonPtr mon = output->MonInfo;
+                if (!mon || !GTF_SUPPORTED(mon->features.msc)) {
+                        DisplayModePtr m, i, p = NULL;
+                        int max_x = 0, max_y = 0;
+                        float max_vrefresh = 0.0;
+ 
+                        for (m = Modes; m; m = m->next) {
+				if (m->type & M_T_PREFERRED)
+				    p = m;
+                                max_x = max(max_x, m->HDisplay);
+                                max_y = max(max_y, m->VDisplay);
+                                max_vrefresh = max(max_vrefresh,
+                                                   xf86ModeVRefresh(m));
+                        }
+
+			max_vrefresh = max(max_vrefresh, 60.0);
+                        max_vrefresh *= (1 + SYNC_TOLERANCE);
+ 
+                        m = xf86GetDefaultModes(FALSE, FALSE);
+ 
+                        xf86ValidateModesSize(output->scrn, m, max_x, max_y, 0);
+                        for (i = m; i; i = i->next) {
+                                if (xf86ModeVRefresh(i) > max_vrefresh)
+                                        i->status = MODE_VSYNC;
+				if (p && i->HDisplay >= p->HDisplay &&
+				    i->VDisplay >= p->VDisplay &&
+				    xf86ModeVRefresh(i) >= xf86ModeVRefresh(p))
+					i->status = MODE_VSYNC;
+			}
+ 
+                        xf86PruneInvalidModes(output->scrn, &m, FALSE);
+ 
+                        Modes = xf86ModesAdd(Modes, m);
+                }
+        }
+
 	return Modes;
 }
 


Index: xorg-x11-drv-ati.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-11/xorg-x11-drv-ati.spec,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -p -r1.188 -r1.189
--- xorg-x11-drv-ati.spec	6 May 2009 04:58:37 -0000	1.188
+++ xorg-x11-drv-ati.spec	7 May 2009 18:52:07 -0000	1.189
@@ -5,7 +5,7 @@
 Summary:   Xorg X11 ati video driver
 Name:      xorg-x11-drv-ati
 Version:   6.12.2
-Release:   12%{?dist}
+Release:   13%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -20,6 +20,7 @@ Patch6:     radeon-6.9.0-bgnr-enable.pat
 Patch7:	    radeon-6.12.1-r600-fb-size.patch
 Patch8:     radeon-src-readback-cpu.patch
 Patch9:     radeon-6.12.2-rs690-hack.patch
+Patch10:    radeon-6.12.2-lvds-default-modes.patch
 
 ExcludeArch: s390 s390x
 
@@ -47,6 +48,7 @@ X.Org X11 ati video driver.
 %patch7 -p1 -b .r600-fb-size
 %patch8 -p1 -b .srcrb
 %patch9 -p1 -b .rs690
+%patch10 -p1 -b .lvds
 
 %build
 autoreconf -iv
@@ -78,6 +80,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man4/radeon.4*
 
 %changelog
+* Thu May 07 2009 Adam Jackson <ajax at redhat.com> 6.12.2-13
+- radeon-6.12.2-lvds-default-modes.patch: Add default modes to the LVDS mode
+  list if we got no EDID from the kernel.
+
 * Wed May 06 2009 Dave Airlie <airlied at redhat.com> 6.12.2-12
 - radeon-6.12.2-rs690-hack.patch - workaround rs690 hangs with firefox safely
 




More information about the scm-commits mailing list