Created attachment 59450 [details] [review]
This makes HDMI audio work on Linux 3.2.x (0 <= x < 6).
My initial report of this issue can be found at https://bugs.freedesktop.org/show_bug.cgi?id=43947#c7 - this entry should take note of the fact that it happens for me on SNB, and not GM45.
I used to use a custom patch, baked for me by danvet, to make things work from 3.2.0 to 3.2.5. After switching to 3.3.0, I had to make use of another one, effectively pasting my old, working version over the current incarnation of intel_hdmi.c. I'll attached both patches to this bug for sake of completeness.
Created attachment 59452 [details] [review]
This is the fix I use on 3.3.0.
(In reply to comment #1)
> Created attachment 59452 [details] [review] [review]
> This is the fix I use on 3.3.0.
I tested this on a custom compile of the Ubuntu kernel 3.2.0-23-generic, which is based on vanilla 3.2.14.
I didn't notice any difference in behavior: sound works on the analog output, but not on any of the 3 HDMI outputs. This is with a DisplayPort cable on a Lenovo X200 (Sandybridge).
The Lenovo/IBM Thinkpad X200 contains a GM45 IGP, not a SNB one. I know, because I am sitting in front of one right now :)
It' feels good to read that I'm not alone with the problem though. Apparently, the problem isn't limited to one gen of IGPs.
Johannes, to avoid further such goof-ups, can you please attach the full dmesg with drm.debug=0xe on the kernel cmdline?
Could please try the 9 patches from the following link: https://bugs.freedesktop.org/attachment.cgi?id=60529 ?
I believe patch 1 should fix the problem. If you have some time, you could do
- one test containing only patch 1 applied
- another test containing all the patches applied
If patch 1 fixes the bug by itself, the plan is to submit only patch 1 to
stable, but submit all the 9 patches to the development branch.
Ok, given that this bug is also about gm45 (and not snb as I've originally thought), I presume it's also fixed by the gen4 infoframe fix merged into drm-intel-fixes:
Author: Paulo Zanoni <firstname.lastname@example.org>
Date: Wed May 2 22:55:43 2012 -0300
drm/i915: enable dip before writing data on gen4
While testing with the intel_infoframes tool on gen4, I see that when
video DIP is disabled, what we write to the DATA memory is not exactly
what we read back later.
This regression has been introduce in
Author: Jesse Barnes <email@example.com>
Date: Thu Sep 22 11:16:00 2011 +0530
drm/i915: fix ILK+ infoframe support
That commit was setting VIDEO_DIP_CTL to 0 when initializing, which
caused the problem.
Tested-by: Yang Guang <firstname.lastname@example.org>
Signed-off-by: Paulo Zanoni <email@example.com>
[danvet: Pimped commit message by using the usual commit citation
Signed-off-by: Daniel Vetter <firstname.lastname@example.org>
Please reopen this bug if this is not the case, and thanks a lot for reporting this issue.
*** This bug has been marked as a duplicate of bug 43947 ***