rpms/kernel/F-13 drm-i915-make-G4X-style-PLL-search-more-permissive.patch, NONE, 1.1 kernel.spec, 1.2101, 1.2102

Chuck Ebbert cebbert at fedoraproject.org
Sun Jul 18 15:04:29 UTC 2010


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv6276

Modified Files:
	kernel.spec 
Added Files:
	drm-i915-make-G4X-style-PLL-search-more-permissive.patch 
Log Message:
drm-i915-make-G4X-style-PLL-search-more-permissive.patch (#572799)

drm-i915-make-G4X-style-PLL-search-more-permissive.patch:
 intel_display.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- NEW FILE drm-i915-make-G4X-style-PLL-search-more-permissive.patch ---
drm/i915: Make G4X-style PLL search more permissive

Fixes an Ironlake laptop with a 68.940MHz 1280x800 panel and 120MHz SSC
reference clock.

More generally, the 0.488% tolerance used before is just too tight to
reliably find a PLL setting.  I extracted the search algorithm and
modified it to find the dot clocks with maximum error over the valid
range for the given output type:

http://people.freedesktop.org/~ajax/intel_g4x_find_best_pll.c

This gave:

Worst dotclock for Ironlake DAC refclk is 350000kHz (error 0.00571)
Worst dotclock for Ironlake SL-LVDS refclk is 102321kHz (error 0.00524)
Worst dotclock for Ironlake DL-LVDS refclk is 219642kHz (error 0.00488)
Worst dotclock for Ironlake SL-LVDS SSC refclk is 84374kHz (error 0.00529)
Worst dotclock for Ironlake DL-LVDS SSC refclk is 183035kHz (error 0.00488)
Worst dotclock for G4X SDVO refclk is 50000kHz (error 0.17332)
Worst dotclock for G4X HDMI refclk is 334400kHz (error 0.00478)
Worst dotclock for G4X SL-LVDS refclk is 95571kHz (error 0.00449)
Worst dotclock for G4X DL-LVDS refclk is 224000kHz (error 0.00510)

The SDVO number looks a bit suspicious, which I haven't tracked down
yet.  But it's clear that the old threshold is too tight.

Signed-off-by: Adam Jackson <ajax at redhat.com>
[ RHBZ #572799 ]
---
 drivers/gpu/drm/i915/intel_display.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index a8d65b7..4b17722 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -862,8 +862,8 @@ intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,
 	intel_clock_t clock;
 	int max_n;
 	bool found;
-	/* approximately equals target * 0.00488 */
-	int err_most = (target >> 8) + (target >> 10);
+	/* approximately equals target * 0.00585 */
+	int err_most = (target >> 8) + (target >> 9);
 	found = false;
 
 	if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) {
-- 
1.7.1



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-13/kernel.spec,v
retrieving revision 1.2101
retrieving revision 1.2102
diff -u -p -r1.2101 -r1.2102
--- kernel.spec	18 Jul 2010 13:36:45 -0000	1.2101
+++ kernel.spec	18 Jul 2010 15:04:28 -0000	1.2102
@@ -701,6 +701,7 @@ Patch1824: drm-intel-next.patch
 # make sure the lvds comes back on lid open
 Patch1825: drm-intel-make-lvds-work.patch
 Patch1830: drm-i915-fix-hibernate-memory-corruption.patch
+Patch1835: drm-i915-make-G4X-style-PLL-search-more-permissive.patch
 Patch1900: linux-2.6-intel-iommu-igfx.patch
 
 # linux1394 git patches
@@ -1332,6 +1333,8 @@ ApplyPatch drm-revert-drm-fbdev-rework-o
 ApplyPatch revert-drm-kms-toggle-poll-around-switcheroo.patch
 ApplyPatch drm-i915-fix-edp-panels.patch
 ApplyPatch i915-fix-crt-hotplug-regression.patch
+# RHBZ#572799
+ApplyPatch drm-i915-make-G4X-style-PLL-search-more-permissive.patch
 ApplyPatch drm-encoder-disable.patch
 
 # Nouveau DRM + drm fixes
@@ -2037,6 +2040,9 @@ fi
 
 
 %changelog
+* Sun Jul 18 2010 Chuck Ebbert <cebbert at redhat.com>  2.6.34.1-18
+- drm-i915-make-G4X-style-PLL-search-more-permissive.patch (#572799)
+
 * Sun Jul 18 2010 Hans de Goede <hdegoede at redhat.com> 2.6.34.1-17
 - Fix inotify-fix-inotify-oneshot-support.patch so that it compiles
 - Various small updates / fixes to the uvcvideo driver:



More information about the scm-commits mailing list