public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* drm: refresh rate down to 60 Hz in 2.6.35-rc5
@ 2010-07-14 18:39 Sven Joachim
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Joachim @ 2010-07-14 18:39 UTC (permalink / raw)
  To: dri-devel; +Cc: Adam Jackson, Dave Airlie, linux-kernel

After upgrading to 2.6.35-rc5, I noticed that my monitor reports a
refresh rate of 60 Hz when nouveau.ko is loaded, rather than the 75 Hz I
got on 2.6.34.  Graphics card is an NV86 (GeForce 8500 GT), the monitor
is a 1280x1024 TFT (Yakumo 19AL) connected via VGA.

I bisected this to the following commit:

--8<---------------cut here---------------start------------->8---
commit c867df7043b738da4f4d358d7039c243a29b4272
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Mar 29 21:43:21 2010 +0000

    drm/edid: Reshuffle mode list construction to closer match the spec
    
    Also, document what the spec says to do.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 9c4717f..858fedc 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1377,10 +1377,24 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
 
 	quirks = edid_get_quirks(edid);
 
-	num_modes += add_established_modes(connector, edid);
-	num_modes += add_standard_modes(connector, edid);
+	/*
+	 * EDID spec says modes should be preferred in this order:
+	 * - preferred detailed mode
+	 * - other detailed modes from base block
+	 * - detailed modes from extension blocks
+	 * - CVT 3-byte code modes
+	 * - standard timing codes
+	 * - established timing codes
+	 * - modes inferred from GTF or CVT range information
+	 *
+	 * We don't quite implement this yet, but we're close.
+	 *
+	 * XXX order for additional mode types in extension blocks?
+	 */
 	num_modes += add_detailed_info(connector, edid, quirks);
 	num_modes += add_detailed_info_eedid(connector, edid, quirks);
+	num_modes += add_standard_modes(connector, edid);
+	num_modes += add_established_modes(connector, edid);
 
 	if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
 		edid_fixup_preferred(connector, quirks);
--8<---------------cut here---------------end--------------->8---

How do I get the 75 Hz refresh rate back?  Adding "video=1280x1024@75"
as described in the nouveau wiki¹ has no effect.

Regards,
        Sven


¹ http://nouveau.freedesktop.org/wiki/KernelModeSetting


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* drm: refresh rate down to 60 Hz in 2.6.35-rc5
@ 2010-07-14 19:09 Sven Joachim
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Joachim @ 2010-07-14 19:09 UTC (permalink / raw)
  To: dri-devel; +Cc: Adam Jackson, Dave Airlie, linux-kernel

[ Resending to the right mailing list.  I looked up in MAINTAINERS, but
  forgot to run "git bisect reset" and got the wrong address for
  dri-devel@.  Apologies to all who receive this twice. ]

After upgrading to 2.6.35-rc5, I noticed that my monitor reports a
refresh rate of 60 Hz when nouveau.ko is loaded, rather than the 75 Hz I
got on 2.6.34.  Graphics card is an NV86 (GeForce 8500 GT), the monitor
is a 1280x1024 TFT (Yakumo 19AL) connected via VGA.

I bisected this to the following commit:

--8<---------------cut here---------------start------------->8---
commit c867df7043b738da4f4d358d7039c243a29b4272
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Mar 29 21:43:21 2010 +0000

    drm/edid: Reshuffle mode list construction to closer match the spec
    
    Also, document what the spec says to do.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 9c4717f..858fedc 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1377,10 +1377,24 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
 
 	quirks = edid_get_quirks(edid);
 
-	num_modes += add_established_modes(connector, edid);
-	num_modes += add_standard_modes(connector, edid);
+	/*
+	 * EDID spec says modes should be preferred in this order:
+	 * - preferred detailed mode
+	 * - other detailed modes from base block
+	 * - detailed modes from extension blocks
+	 * - CVT 3-byte code modes
+	 * - standard timing codes
+	 * - established timing codes
+	 * - modes inferred from GTF or CVT range information
+	 *
+	 * We don't quite implement this yet, but we're close.
+	 *
+	 * XXX order for additional mode types in extension blocks?
+	 */
 	num_modes += add_detailed_info(connector, edid, quirks);
 	num_modes += add_detailed_info_eedid(connector, edid, quirks);
+	num_modes += add_standard_modes(connector, edid);
+	num_modes += add_established_modes(connector, edid);
 
 	if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
 		edid_fixup_preferred(connector, quirks);
--8<---------------cut here---------------end--------------->8---


How do I get the 75 Hz refresh rate back?  Adding "video=1280x1024@75"
as described in the nouveau wiki¹ has no effect.

Regards,
        Sven


¹ http://nouveau.freedesktop.org/wiki/KernelModeSetting

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-07-14 19:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-14 18:39 drm: refresh rate down to 60 Hz in 2.6.35-rc5 Sven Joachim
  -- strict thread matches above, loose matches on Subject: below --
2010-07-14 19:09 Sven Joachim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox