On 16/07/13 21:24, Takashi Iwai wrote:
At Tue, 16 Jul 2013 20:37:19 +0200, Tormen wrote:
On 16/07/13 11:15, Takashi Iwai wrote:
It doesn't look like the driver patched properly. Try to put some printk() in the patched code path to confirm that you're really testing the patched driver.
Takashi
I am not 100% sure if it was or not, because I had applied the patch not with "quilt" ... but now I am: I put in some printk()'s and it still shows speaker_outs=0 :(
This doesn't matter at all from the beginning. You see a line "line_outs=1 (type: speaker)" before that. So, the speaker output is assigned as the primary output there.
The problem is, instead, that the primary DAC (thus its selector widget) is assigned to the headphone. Check whether NID 0x0c is assigned to "Speaker" volume, not for "Headphone". The no_primary_hp flag should have achieved it, but it turned out that 5.1 surround setup blocks it. That's why you got "Headphone" on NID 0x0c, and 0x0d/0x0e for the rest speaker and possible surrounds.
The new flag, no_multi_io prevents the creation of 5.1 setup, so that the speaker will be assigned to NID 0x0c, together with the combination of no_primary_hp.
I was wondering if it's a problem that the speaker_outs=0 is printed way before all the "fill_and_eval_dacs" changes of yours are executed?
I attached you my patch so that you can see what output corresponds to what piece of code.
alsa-info.sh: http://www.alsa-project.org/db/?f=c644b65a9e25fd1cef5b4b53d6d806d45526e5b2
And the complete output of my debug messages:
FIRST just loading the modules: modprobe snd debug=2 modprobe snd_hda_intel
[10263.731133] snd_hda_intel 0000:00:1b.0: irq 45 for MSI/MSI-X [10263.747274] Tormen: alc882_fixup_no_primary_hp: AAA [10263.750059] Tormen: alc882_fixup_no_primary_hp: BBB ==> set spec->no_multi_io = 1
OK, so far, so good. Check whether NID 0x0c is assigned to "Speaker".
Yes, it is assigned to "Speaker playback volume", index=0, device=0, chs=3, dir=1, idx=0, ofs=0
Tormen