But only if hotplugged at runtime. If plugged at boot it works fine. (Running RHEL 6.2 prerelease, which is essentially 3.0 for intel drm purposes.) If I had to guess, I'd guess it's a problem with fence setup: $ diff -U0 vga-at-boot vga-hotplugged --- vga-at-boot 2011-07-28 10:48:31.203023400 -0400 +++ vga-hotplugged 2011-07-28 10:53:22.349643522 -0400 @@ -4 +4 @@ - HWS_PGA: 0x37a6b000 + HWS_PGA: 0x37cd2000 @@ -46 +46 @@ - SDVOUDI: 0x00000037 + SDVOUDI: 0x0000003f @@ -72 +72 @@ - DSPABASE: 0x006e0000 + DSPABASE: 0x04860000 @@ -82,3 +82,3 @@ - CURSOR_A_BASE: 0x3d580000 - CURSOR_A_CONTROL: 0x04000027 - CURSOR_A_POSITION: 0x01ff00ca + CURSOR_A_BASE: 0x00000000 + CURSOR_A_CONTROL: 0x00000000 + CURSOR_A_POSITION: 0x00668030 @@ -101 +101 @@ - DSPBBASE: 0x006e1400 + DSPBBASE: 0x04861400 @@ -112,2 +112,2 @@ - CURSOR_B_CONTROL: 0x00000000 - CURSOR_B_POSITION: 0x00000000 + CURSOR_B_CONTROL: 0x10000000 + CURSOR_B_POSITION: 0x00c401da @@ -209,3 +209,3 @@ - FENCE 0: 0x04600011 (enabled, X tiled, 1024 pitch, 0x04600000 - 0x04700000 (1024kb)) - FENCE 1: 0x00000000 (disabled) - FENCE 2: 0x00000000 (disabled) + FENCE 0: 0x00000000 (disabled) + FENCE 1: 0x01800341 (enabled, X tiled, 8192 pitch, 0x01800000 - 0x02000000 (8192kb)) + FENCE 2: 0x01100011 (enabled, X tiled, 1024 pitch, 0x01100000 - 0x01200000 (1024kb))
A bit more data. This happens on a Toshiba Tecra A8. Oddly there's a BIOS setting that has some effect. If the "boot display" is set to Auto it's as above. If set to "LCD + RGB", VGA works as expected. This doesn't appear to be a regression from previous driver behaviour, as far as I've been able to find, but it's still pretty annoying, and implies there's some magic bit of clock setup or similar that we're not doing on this machine.
Just to check: Is there any difference between the to bios settings in the intel_reg_dumper output?
What's does intel_reg_read 0x06000, 0x06004 and 0x06010 report? They are the VGA clocks and divider, which are about the only seemingly relevant knobs I can spot that we do not already report.
Alas it seems I can't type and they are included in intel_reg_dumper. Another dead end.
Just to check: Is this still bonghits-broken on 3.7-rc kernels (i.e. vain hope that the modeset rework is magic and fixed it)?
The fences are indeed different, but what were the configs in each case? In the "vga at boot" case were you running a single head on VGA alone? It looks like we only map a single buffer in that case at least... Also, the cursor regs tell me maybe in the hotplug case you were running in X? That would also change the fence config and make us use tiling. So there are some things that could explain the fence diffs we see. In #16702 I theorized the DDC routing may be different based on the BIOS configuration; is that something you see? Do we get a proper mode list in either case? I guess we'd still see the wrong mode though on VGA even if DDC failed... Another possibility is that the core clocks aren't set up for VGA unless the BIOS does it for us; there's a register at 0xc8c in MCHBAR that has the configuration chosen by the BIOS that might be interesting to check. We may need to change it to enable VGA properly. This reg should be mirrored in device 2 pci config space at offset 0xf0 (or maybe it's MMIO space...)
timeout, maybe this is fixed with the latest bits anyway
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.