Bug 14792
Description
Santi
2009-12-12 13:28:32 UTC
Created attachment 24323 [details]
remove tv hotplug status check
Not sure if this is related, but we should remove tv status check after removing tv hotplug.
There is no change with the patch from Comment #1. One more thing I've noticed is that it works ok if the i915 driver is a module, not builtin (at least with your additional patch, I'll check also with a clean mainline linux). It also happens (works ok if built as a module, but not if builtin) with a clean mainline linux, 2.6.33-rc2. And following Rafael's request I confirm that the bug still happens with the lastest release candidate, namely 2.6.33-rc2. Santi Hi, Santi Will you please add the boot option of "drm.debug=0x06" on 2.6.33-rc2 and attach the output of dmesg? Thanks. Created attachment 24440 [details]
2.6.33-rc2 dmesg output with "drm.debug=0x06"
HI, Santi Will you please revert the commit(27dfaf4f5825a119305db1bc63bef30ed400e376) on the 2.6.33-rc2 and attach the output of dmesg? Please also add the boot option of "drm.debug=0x06". thanks. Created attachment 24574 [details]
2.6.33-rc2+revert(27dfaf4f582) dmesg output with "drm.debug=0x06"
Hi ykzhao,
here you have the requested output, 2.6.33-rc2+revert(27dfaf4f582) dmesg output with "drm.debug=0x06".
Thanks,
Santi
Created attachment 24627 [details]
2.6.33-rc4-00189-g6ccf80e dmesg output with "drm.debug=0x06" and a good console
Hi,
occasionally the console boots OK. I'll send two dmesg outputs with the same kernel image (2.6.33-rc4-00189-g6ccf80e), one with a good console and the other with a "bad" console.
HTH,
Santi
Created attachment 24628 [details]
24627: 2.6.33-rc4-00189-g6ccf80e dmesg output with "drm.debug=0x06" and a "bad" console
Handled-By : Zhao Yakui <yakui.zhao@intel.com> First-Bad-Commit : 27dfaf4f5825a119305db1bc63bef30ed400e376 Does everything work correctly if you revert commit 27dfaf4f5825a119305db1bc63bef30ed400e376? (In reply to comment #10) > Handled-By : Zhao Yakui <yakui.zhao@intel.com> > First-Bad-Commit : 27dfaf4f5825a119305db1bc63bef30ed400e376 > > Does everything work correctly if you revert commit > 27dfaf4f5825a119305db1bc63bef30ed400e376? The problem is that it is no longer possible to revert this commit, as the HOTPLUG_EN_MASK macro was removed in commit b01f2c3a4a37d09a47ad73ccbb46d554d21cfeb0. Thanks, Santi P.D.: The bug still exists in v2.6.33-rc5. I'm confused by comment #3. Do things work well if you build i915 modular? Or do you still get the lower resolution in that case? Also, can you set a higher resolution later on after the kernel has started up? Or does the kernel or xrandr report fewer modes on the TV output than before? (In reply to comment #12) > I'm confused by comment #3. Do things work well if you build i915 modular? Yes. > Or > do you still get the lower resolution in that case? No, I get the maximum resolution. But I would not call it lower resolution, as I think the resolution is the same, only that there is empty space on the right and below the text. > Also, can you set a higher > resolution later on after the kernel has started up? X always uses the maximum resolution, even when the console is using the lower resolution. I don't know how to change the console mode at runtime. It seems I only have one console mode, either $ cat /sys/class/graphics/fb0/modes U:848x480p-0 or $ cat /sys/class/graphics/fb0/modes U:1440x900p-0 > Or does the kernel or > xrandr report fewer modes on the TV output than before? I have nothing in attached on the TV output, so I don't know. But now without connecting the TV output I get this: $ xrandr Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 VGA1 disconnected (normal left inverted right x axis y axis) LVDS1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 303mm x 190mm 1440x900 60.0*+ 59.9 40.0 1360x768 59.8 1152x864 100.0 85.1 85.0 75.0 75.0 70.0 60.0 1024x768 85.0 75.0 70.1 60.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 640x480 85.0 72.8 75.0 59.9 720x400 85.0 640x400 85.1 640x350 85.1 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) HDMI2 disconnected (normal left inverted right x axis y axis) DP2 disconnected (normal left inverted right x axis y axis) DP3 disconnected (normal left inverted right x axis y axis) TV1 connected (normal left inverted right x axis y axis) 848x480 30.0 + 640x480 30.0 + 1024x768 30.0 800x600 30.0 while I don't get TV1 modes when the console is OK. HTH, Santi Wow it's interesting that the TV would report different modes when modular vs. builtin. But this really sounds like a TV detect bug. Maybe the patch in https://bugs.freedesktop.org/show_bug.cgi?id=25913 helps? (In reply to comment #14) > Wow it's interesting that the TV would report different modes when modular > vs. > builtin. > > But this really sounds like a TV detect bug. Yes, this is why the title is "Misdetection of the TV output" ;-) > Maybe the patch in > https://bugs.freedesktop.org/show_bug.cgi?id=25913 helps? Yes, thanks. I've restarted the machine five times in a row and the console (and xrandr output) are OK. Thanks, Santi Zhenyu, since you're our TV out expert, can you take a look? Thanks, Jesse Zhenyu? Sorry for the late response. I also get one Dell e5400 laptop and reproduce this issue on this box. I will look at the TV detection. thanks. Created attachment 25722 [details]
try the debug patch that uses the bios mechanism to detect TV
Hi, Santi
Will you please try the attached patch and see whether the issue can be fixed?
Thanks.
Hi, I can confirm that I no longer have this bug (testing on top of 2.6.33 and latest v2.6.34-rc2-219-ge1ee65d). But I cannot test if the TVout actually works. Thanks, Santi thanks for the testing. It is good news that the issue of TV misdetection is gone after applying the patch in comment #19. I will try to push the patch in comment #19. Thanks. Yakui Created attachment 25815 [details]
try the updated patch
Hi, Santi
Will you please try the updated patch and see whether the issue can be fixed?
Thanks.
Hi Yakui, I've tried the update patch on top of v2.6.34-rc2-219-ge1ee65d and it works. Thanks, Santi Created attachment 25887 [details]
the updated patch that Clear the TV sense state bits on cantiga to make TV detection reliable
Hi, Santi
thanks for the testing.
The attached is the updated patch. There is no functional change. It will look clearer.
thanks.
The patch in comment 24 also fixes a problem on an HP laptop with GM45 here, too. Tested-by: Takashi Iwai <tiwai@suse.de> Patch : https://bugzilla.kernel.org/attachment.cgi?id=25887 Handled-By : Zhao Yakui <yakui.zhao@intel.com> Hello, I've tested latest mainline kernel 2.6.36-rc3 and it is fixed. I've bisected it and found that the following patch fixes the problem: commit 9d0498 (v2.6.35-5842-g9d0498a) Author: Jesse Barnes <jbarnes@virtuousgeek.org> Date: Wed Aug 18 22:20:54 2010 drm/i915: wait for actual vblank, not just 20ms Waiting for a hard coded 20ms isn't always enough to make sure a vblank period has actually occurred, so add code to make sure we really have passed through a vblank period (or that the pipe is off when disabling). This prevents problems with mode setting and link training, and seems to fix a bug like https://bugs.freedesktop.org/show_bug.cgi?id=29278, but on an HP 8440p instead. Hopefully also fixes https://bugs.freedesktop.org/show_bug.cgi?id=29141. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Eric Anholt <eric@anholt.net> Thanks, Santi Hi *, unfortunately it is no longer fixed. I've tested: v2.6.36-rc3-185-gd56557a (Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6, 2010-09-07) and all the symptoms reappeared. It was fixed in v2.6.36-rc3. I think it is because there is a partial revert: commit 4f233eff6f32745f8894eb513bc59851213c7833 Author: Pekka Enberg <penberg@kernel.org> Date: Sat Sep 4 18:24:04 2010 i915: Fix spurious TV detection after 9d0498a2bf + 9559fcdbff Partial revert of 9d0498a2bf. Signed-off-by: Pekka Enberg <penberg@kernel.org> Tested-by: Hugh Dickins <hughd@google.com> Tested-by: Sven Joachim <svenjoac@gmx.de> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Santi That's ok, it just means the code is still just as broken as it always was and no longer hidden by an even bigger bug. The patch in comment 24 has always fixed the problem for me, and I routinely re-patch it on top of drm-intel-next. Can somone at intel get at the non-public HW docs and confirm Zhao Yakui's comments relating to buggy hardware? Tested-by: Peter Clifton <pcjc2@cam.ac.uk> I encounter the same (sort of) bug with the same hardware. I can confirm that the patch in comment 24 always fixes the problem for me. (kernel 2.6.36.2 still contains the bug) My bug report can be found here. https://bugzilla.kernel.org/show_bug.cgi?id=16236 (I am fairly sure that this is caused by the same bug, as the same patch fixes it) I hope that this bug can be solved soon. best regards, otto meijer FWIW, I've still seen this problem even on 3.0, 3.1 and 3.2 kernels with multiple machines (HP and Acer). The bug rate is fairly rare, less than 1/20, though. *** Bug 16236 has been marked as a duplicate of this bug. *** Patch is on track for 3.5, already merged into drm-intel-next-queued as commit d42c9e2c24f7e7897405b85816bdf4ac924881c0 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Sun Mar 25 22:56:14 2012 +0200 drm/i915: reinstate GM45 TV detection fix |