Bug 77137 - [PNV] drm/i915: VGA cannot be turned on
Summary: [PNV] drm/i915: VGA cannot be turned on
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-07 13:41 UTC by Uwe Geuder
Modified: 2017-07-24 22:55 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
kernel log for mode switch on VGA (99.79 KB, text/plain)
2014-04-07 13:41 UTC, Uwe Geuder
no flags Details
kernel log for mode switch on LVDS (contains warning) (102.66 KB, text/plain)
2014-04-07 13:43 UTC, Uwe Geuder
no flags Details
kernel log for mode switch on LVDS (still contains warning after patch) (102.52 KB, text/plain)
2014-04-17 14:26 UTC, Uwe Geuder
no flags Details

Description Uwe Geuder 2014-04-07 13:41:35 UTC
Created attachment 97039 [details]
kernel log for mode switch on VGA

When trying to turn on VGA output using command

xrandr --output VGA1 --mode 800x600 

nothing happens. (Expected result: VGA display turned on)

This was first observed using a 3.11 distro kernel, but it is 100% repeatable using the 3.14 mainline kernel and also the drm-intel-next/2014-04-05-trusty kernel from the Ubuntu kernel team.

Observation: Changing mode on LVDS1 is successful, but a kernel warning is
produced.

[   87.540325] [drm:intel_pipe_config_compare] *ERROR* mismatch in gmch_pfit.lvds_border_bits (expected 32768, found 0)
[   87.540334] ------------[ cut here ]------------
[   87.540441] WARNING: CPU: 1 PID: 934 at /home/apw/COD/linux/drivers/gpu/drm/i915/intel_display.c:9813 check_crtc_state+0x26b/0x360 [i915]()
[   87.540447] pipe state doesn't match!

I don't know whether the warning for LVDS1 is in any way related to non-functional VGA. For LVDS1 everything seems to work fine but a kernel warning is produced. For VGA1 nothing visible works, but no warning is produced either. 

Attached kernel log dmesg-994-vga.txt has been produced the following way

1.) Boot kernel drm-intel-next/2014-04-05-trusty as built by Ubuntu kernel team
    with extra command line parameter drm.debug=0x

2.) attach VGA display

3.) run script

#!/bin/sh
cmd="xrandr --output VGA1 --mode 800x600"
echo "*** calling $cmd" | sudo tee /dev/kmsg
$cmd
echo "*** returned from $cmd" | sudo tee /dev/kmsg



Attached kernel log dmesg-994-lvds.txt has been produced the following way

1.) Boot kernel drm-intel-next/2014-04-05-trusty as built by Ubuntu kernel team
    with extra command line parameter drm.debug=0x

2.) run script

#!/bin/sh
cmd="xrandr --output LVDS1 --mode 800x600"
echo "*** calling $cmd" | sudo tee /dev/kmsg
$cmd
echo "*** returned from $cmd" | sudo tee /dev/kmsg
Comment 1 Uwe Geuder 2014-04-07 13:43:02 UTC
Created attachment 97040 [details]
kernel log for mode switch on LVDS (contains warning)
Comment 2 Damien Lespiau 2014-04-07 15:20:02 UTC
Is that a regression? Was it working before 3.11?
Comment 3 Uwe Geuder 2014-04-07 19:25:07 UTC
> Is that a regression? Was it working before 3.11?

Sorry, don't know. There was no Linux installed on this hardware before. If it's important I could try older kernels.
Comment 4 Uwe Geuder 2014-04-08 09:59:46 UTC
(In reply to comment #2)
> Is that a regression? Was it working before 3.11?

So far tried 3.9 mainline and 3.7 mainline.

3.9 mainline: VGA does not work. No kernel warning on LVDS. So at least the warning for LVDS was introduced at a different point than the problem for VGA.

3.7 mainline: Does not work well at least with my current user space. xrandr does not get any EDID at all. So either it doesn't support the hardware correctly or I need an older user space to test.

Can somebody who is familiar with the driver's history tell from which kernel version my hardware (I guess all info is the dmesg attchaments) should be fully supported?
Comment 5 Daniel Vetter 2014-04-09 12:51:40 UTC
VGA on pnv should work ever since kms support was merge, which is around 2.6.32. You might want to try something slightly less old first ;-)

Looking at logs I don't see any issue really - the WARN backtrace is just our code getting confused and not a real issue with the logic. I'm working on a small patch to shut this one up.
Comment 6 Jani Nikula 2014-04-09 13:57:31 UTC
FWIW I just tried my PNV, a trusty Lenovo s10-3t work horse, err, pony, with 3.12 and VGA seemed to work somewhat fine at 1920x1200 @ 60 Hz. Only somewhat, because gnome shell grinds the poor thing to a halt with that kind of resolutions on it, but the kernel support seems to be just fine.
Comment 7 Uwe Geuder 2014-04-10 18:23:53 UTC
(In reply to comment #6)
> FWIW I just tried my PNV, a trusty Lenovo s10-3t work horse, err, pony, with
> 3.12 and VGA seemed to work somewhat fine at 1920x1200 @ 60 Hz. Only

Hmmm, I have a S10-3t, too. Did you check from my logs whether we have exactly the same hardware? (No idea whether this model was delivered in different configurations.)

Anyway, your report that everything works (well, as far VGA output is concerned...) made me a bit suspicious whether I could just have broken hardware.

So I got my hands dirty and booted windows. There are 4 applications to control
display stuff: 2 x Microsoft, Intel, and Lenovo. 1 Microsoft and Intel clearly
read EDID from the external monitor, but none of them succeeds to turn VGA output on. The other Microsoft and the Lenovo app give little feedback so they are rather useless for troubleshooting, but they don't succeed to turn on VGA output either.

Extensively tested with one projector and one cable. Basic tests also with a monitor and another cable. Both do work with another laptop (Nvidia HW / nouveau driver). And earlier tests under Linux also made with a 3rd cable and projector. So if there is a hardware problem, it is in my S10-3t.

Is there anything I can still do to confirm or rule out a HW problem? How likely is it that EDID works but no signal goes the other direction? (I might try to have a look with the oscilloscope if somebody can point me to instructions basic enough to follow for a software guy...)
Comment 8 Daniel Vetter 2014-04-11 12:53:34 UTC
I think testing with a different monitor might be useful and at different resolutinos. If that doesn't work then I think we conclude that it's indeed a hw issues. And if Windows doesn't manage it their usually not really much of a chance to get things to work, but occasionally the linux driver is actually better ;-)
Comment 9 Daniel Vetter 2014-04-13 09:59:31 UTC
Btw the WARNING in the LVDS switching case should be fixed with

http://cgit.freedesktop.org/drm-intel/commit/?h=drm-intel-next-queued&id=8f207c2235397748d243f5af69c8da102ce37d0f

Would be good if you can apply that patch and give it a spin.
Comment 10 Uwe Geuder 2014-04-16 14:38:35 UTC
(In reply to comment #9)
> Btw the WARNING in the LVDS switching case should be fixed with
> 
...
> 
> Would be good if you can apply that patch and give it a spin.

Thanks, I have seen your patch. I will test as soon as I have time, that might (or might not) mean after easter holidays in practice...
Comment 11 Uwe Geuder 2014-04-17 14:25:07 UTC
(In reply to comment #9)
> Btw the WARNING in the LVDS switching case should be fixed with
> 
> http://cgit.freedesktop.org/drm-intel/commit/?h=drm-intel-next-
> queued&id=8f207c2235397748d243f5af69c8da102ce37d0f
> 
> Would be good if you can apply that patch and give it a spin.

Hmm, I cannot see commit 8f207c2235397748d243f5af69c8da102ce37d0f
in git history, but commit
773875bfb6737982903c42d1ee88cf60af80089c seems to be of identical
contents. Maybe some commit --amend and/or push --force?

Anyway, 773875bfb6737982903c42d1ee88cf60af80089c seems to be in
today's daily Ubuntu build 1e771b84e47085ef9b6efea1321e7cb5a8b2c065.

Using that build I still get the warning on switching LVDS
mode (successful outcome), the patch obviously does not solve the
warning issue.

See attached log produced from running this script:

#!/bin/sh
cmd="xrandr --output LVDS1 --mode 800x600"
echo "*** calling $cmd" | sudo tee /dev/kmsg
$cmd
echo "*** returned from $cmd" | sudo tee /dev/kmsg

(I still leave the status as NEEDINFO, I'll provide more info about VGA behaviour later)
Comment 12 Uwe Geuder 2014-04-17 14:26:28 UTC
Created attachment 97519 [details]
kernel log for mode switch on LVDS (still contains warning after patch)
Comment 13 Uwe Geuder 2014-04-17 14:54:54 UTC
(In reply to comment #8)
> I think testing with a different monitor might be useful and at different
> resolutinos. 

Well, haven't I mentioned that I had tested with 2 projectors and 1 monitor, all with different cables?

Now, I found still one more monitor. Tested all 4 available (reported by xrandr) resolutions. None works. Cross-checked VGA cable and monitor with another computer, cable and monitor OK.

I guess the way the prove a HW issue (broken VGA out on my machine) is to create a Live USB image and have somebody with the same hardware try. I might know somebody, have to check whether it's really the same HW. This might take a bit longer. You can leave the report in NEEDINFO state. (Or if that is disturbing just close it and I will reopen it when/if I have new info)
Comment 14 Daniel Vetter 2014-05-19 16:29:09 UTC
Ok, miss-analysed the lvds fail. Pretty sure now that

commit 9953599bc02dbc1d3330e6a0bfc6c50e9dffcac6
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sun Apr 13 12:00:33 2014 +0200

    drm/i915: Don't check gmch state on inherited configs

really should shut up that WARNING. Patch is cc: stable so should show up in stable kernels (if it hasn't yet, I don't keep track of that).

For the main issue I'm ok with keeping this in NEEDINFO, we'll ping you again if there's too much silence.
Comment 15 Uwe Geuder 2014-05-19 20:23:01 UTC
(In reply to comment #14)
> Pretty sure now that
> 
> commit 9953599bc02dbc1d3330e6a0bfc6c50e9dffcac6
...
> 
> really should shut up that WARNING.

Thanks for the patch. I will test and post the result. 

> 
> For the main issue I'm ok with keeping this in NEEDINFO, we'll ping you
> again if there's too much silence.

That's fine. I have no further ideas than a.) creating some USB-Live-image and b.) find a machine with the same graphics adapter. Maybe here in the city or if that fails I'll try to bother Jani Nikula again if he really has the same graphics as I have. I was out of country and now I am just starting my 2nd week catching up, so neither a.) or b.) have proceeded, I'm sorry. Pinging me should the silence last to long is a good plan :)
Comment 16 Uwe Geuder 2014-06-04 18:02:21 UTC
Hmm, it looks the warning when calling xrandr on LVDS1 is still there.

My kernel is 

Linux s10-3t 3.15.0-994-generic #201405210205 SMP Wed May 21 06:26:13 UTC 2014 i686 i686 i686 GNU/Linux

This is the oldest 3.15 drm-intel nightly build made by the Ubuntu kernel team. Stupid me installed the oldest one, instead of the newest one. Still I think on May 21st it should contain your commit.

I'm now running out of both time and battery to install the newest one, blacklist all tainting modules and take a log with the required debugging info. Hopefully during the next days... I leave the report in NEEDINFO in anticipation of the log.
Comment 17 Rodrigo Vivi 2014-10-08 22:13:30 UTC
ping. Any luck with latest kernel?
Comment 18 Jesse Barnes 2014-12-05 22:51:20 UTC
Ok, hopefully this was fixed then.  If not, please re-open with your updated logs.  Thanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.