Re: [REGRESSION] i915: No HDMI output with 4.4

From: Oleksandr Natalenko
Date: Mon Feb 15 2016 - 10:03:20 EST


Hi, Ville.

13.02.2016 01:23, Ville SyrjÃlà wrote:
Few other ideas:
- Was the monitor sleeping when you tried this? Can you maybe push
some button on it and then immediately run the intel_reg read command
again?

Nope. It just goes to sleep mode after (I suppose) drm module is loaded. Before module gets loaded monitor displays console as it should and does not sleep. However, I've tried to switch monitor inputs as well as pushing power button with no luck.

- Do you have another monitor to try?
- Do you have another cable to try?

Will find that.

- Maybe the pullup/down on the hpd line is misconfigured or something.
Any chance of updating the BIOS on the machine?

===
Base Board Information
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: H61M-K
BIOS Information
Vendor: American Megatrends Inc.
Version: 0801
Release Date: 07/21/2014
===

0801 is the latest available for this board.

- What does 'intel_reg read 0xc2000 0xc2004 0xc2020' say?

===
(0x000c2000): 0x00000000
(0x000c2004): 0x00000001
(0x000c2020): 0x60004000
===

- The spec claims the TMDS vs. SDVO select has something to do with
hpd generation. I can't see any difference on my IVB though, so not
sure it's really true.

What does 'intel_reg read 0xe1140 0xe1150 0xe1160' tell us?

===
HDMIB (0x000e1140): 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
HDMIC (0x000e1150): 0x00000804 (disabled pipe A 8bpc TMDS DVI audio disabled -vsync -hsync detected)
HDMID (0x000e1160): 0x00000018 (disabled pipe A 8bpc SDVO DVI audio disabled +vsync +hsync non-detected)
===

Let's try these anyway (with the cable plugged in):

intel_reg write 0xe1140 0x0
intel_reg write 0xe1150 0x0
intel_reg write 0xe1160 0x0
sleep 1
intel_reg read 0xc4000

intel_reg write 0xe1140 0x800
intel_reg write 0xe1150 0x800
intel_reg write 0xe1160 0x800
sleep 1
intel_reg read 0xc4000

intel_reg write 0xe1140 0x800800
intel_reg write 0xe1150 0x800800
intel_reg write 0xe1160 0x800800
sleep 1
intel_reg read 0xc4000

intel_reg write 0xe1140 0x800000
intel_reg write 0xe1150 0x800000
intel_reg write 0xe1160 0x800000
sleep 1
intel_reg read 0xc4000


Same output for all 4 sets of commands:

===
(0x000c4000): 0x00000000
===

Regards,
Oleksandr.