Re: mm snapshot broken-out-2007-03-05-02-22.tar.gz uploaded

From: Randy Cushman
Date: Thu Mar 08 2007 - 12:06:13 EST


Takashi Iwai wrote:
At Thu, 8 Mar 2007 17:52:43 +0100,
Michal Piotrowski wrote:
On 08/03/07, Takashi Iwai <tiwai@xxxxxxx> wrote:
At Thu, 08 Mar 2007 16:42:26 +0100,
Michal Piotrowski wrote:
Also, it'd be helpful if you compare
/proc/asound/card0/codec97#0/ac97#0-0+regs file before and after the
patch. This reveals which register bits differ actually.
a2.txt is form 2.6.21-rc3 witchout 831466f4ad2b5fe23dff77edbe6a7c244435e973

diff -uprN a2.txt /proc/asound/card0/codec97#0/ac97#0-0+regs
--- a2.txt 2007-03-08 16:36:47.000000000 +0100
+++ /proc/asound/card0/codec97#0/ac97#0-0+regs 2007-03-08 16:36:49.447083597 +0100
@@ -56,8 +56,8 @@
0:6e = 0000
0:70 = 0000
0:72 = 0004
-0:74 = 1001
-0:76 = 64a4
+0:74 = 1201
+0:76 = 7ca4
0:78 = 000c
0:7a = 0000
0:7c = 4144
OK, some wrong bits there. Could you try the patch below?
Problem fixed. Thanks!

(speaker-test -c6 -Dplug:surround51 is still broken)

Hm, how about turning off "Spread Front To..." control and run
speaker-test?


Takashi


Michal and Takashi,

I've been researching your issue this morning. I just noticed that your exchange had ensued.

I configured my AD1986-based system as closely as I could to match your AD1985 mixer settings. In doing so, I experienced results similar to what I'm assuming you described: Only front channel sound came out of the surround and c/lfe jacks.

Here is what I had to change to get the appropriate multichannel sound:

1) The command "speaker-test -c6" does not work on my system. I have to use "speaker-test -Dsurround51 -c6" (Perhaps this is related to running an old version of speaker-test.)

2) I disabled "Spread Front to Surround and Center/LFE"

The explanation for 2) is this: There can be only one source for each of the Surround and Center/LFE jacks active at one time. When "Spread Front to Surround and Center/LFE" is disabled, the surround channels go to the the jacks; when this control is enabled, ONLY the front channels go to the surround and c/lfe jacks.

Considering the register values Michal provided and Takashi's patch:

The logic of the code is as follows: (Slightly simplifying,) functions is_shared_linein() and is_shared_micin() return TRUE if the mixer is configured for shared jacks AND NOT for 6 channel mode. In this case it is appropriate to
set these bits (LODIS and CLDIS).

Please double-check your mixer settings. I added a byte to a structure, so the mixer settings can get messed up switching between alsa-kernel versions.

I don't understand why the other bit (OMS, 0x74 bit D9) is set. This may have been an oversight on my part.

I am modifying alsa-kernel to run as an AD1985 on my system, to try to check these bits.

Randy Cushman


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/