Messages in this thread Patch in this message | | | From | Sven Joachim <> | Subject | drm: refresh rate down to 60 Hz in 2.6.35-rc5 | Date | Wed, 14 Jul 2010 21:09:33 +0200 |
| |
[ 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |