Well, I'm a bit confused by this one. The fix we put together for Jaunty should already be in the kernel, but based on the pictures it does look like we're programming a bad mode. The machine should still be up though, so it would be good to get logs with DRM debugging enabled (you can force this by loading the drm module with the "debug=1" option, though on recent kernels you might need to use "debug=4" or "debug=5").
I'd also like to get a copy of the vbios for this machine:
# cd /sys/devices/pci0000\:00/0000\:00\:02.0/
# echo 1 > rom
# cat rom > /tmp/rom.bin
# echo 0 > rom
If we end up using the EDID on this machine, then maybe the fix didn't make it upstream. In that case this kernel patch might help:
Well, I'm a bit confused by this one. The fix we put together for Jaunty should already be in the kernel, but based on the pictures it does look like we're programming a bad mode. The machine should still be up though, so it would be good to get logs with DRM debugging enabled (you can force this by loading the drm module with the "debug=1" option, though on recent kernels you might need to use "debug=4" or "debug=5").
I'd also like to get a copy of the vbios for this machine: pci0000\ :00/0000\ :00\:02. 0/
# cd /sys/devices/
# echo 1 > rom
# cat rom > /tmp/rom.bin
# echo 0 > rom
If we end up using the EDID on this machine, then maybe the fix didn't make it upstream. In that case this kernel patch might help:
diff --git a/drivers/ gpu/drm/ drm_edid. c b/drivers/ gpu/drm/ drm_edid. c gpu/drm/ drm_edid. c gpu/drm/ drm_edid. c detailed( struct dr
mode-> vsync_end = mode->vsync_start + vsync_pulse_width;
mode-> vtotal = mode->vdisplay + vblank;
index 3c0d2b3..2c2f08b 100644
--- a/drivers/
+++ b/drivers/
@@ -647,6 +647,12 @@ static struct drm_display_mode *drm_mode_
+ /* Some EDIDs have bogus h/vtotal values */
drm_mode_ set_name( mode);
+ if (mode->hsync_end > mode->htotal)
+ mode->htotal = mode->hsync_end + 1;
+ if (mode->vsync_end > mode->vtotal)
+ mode->vtotal = mode->vsync_end + 1;
+
if (pt->misc & DRM_EDID_ PT_INTERLACED)