Messages in this thread | | | Date | Thu, 26 May 2005 23:51:58 +0000 | From | "J.A. Magallon" <> | Subject | Re: 2.6.12-rc3-mm3: ALSA broken ? |
| |
On 05.18, Takashi Iwai wrote: > At Tue, 17 May 2005 22:39:45 +0000, > J.A. Magallon wrote: > > > > > > On 05.17, Takashi Iwai wrote: > > ... > > > > > > > > Example: go into 4ch mode. Check this control. Then switch to 6ch mode. > > > > The Center jack has no sound (it should, shouldn't ?). Check it and voilà. > > > > It looks that the logic in the channel selection needs to set this flag also... > > > > > > Yep, you're right. Try the patch below. > > > > > > > > > > Thanks, this patch worked. When in 6ch mode, the boolen flag we talk about > > still controls if the line jack is input or output. In 4ch mode, it is always > > input. If i chech it, switching to 6ch does not toggle it. They are > > independent controls. > > > > Anyways. I can't get rid of the flag. It is initialized to on by default. > > Isn't strange to have two ways of controlling this ? > >
Yehaaa, I got it... There was a bug in your last patch. This:
+ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 9 << 11, + is_shared_micin(ac97) ? 0 : 9 << 11);
should be
+ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 1 << 9, + is_shared_micin(ac97) ? 0 : 1 << 9);
Whit this, I can control the output just with the 2/4/6 ch mode, and get rid of the 'Center as mic' flag...
btw, why the hell don't you use something as stupid as
#define bit(n) (1<<(n))
???
A side note. In the process of solving all this, I tried to generate a patch for 1.0.9rc4a against -mm. I noticed some things: - Your code reverts some in-kernel changes related to if (ptr) kfree(ptr) The if is killed in mainline, as kfree accepts null pointers.
- When linking I got: if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map 2.6.11-jam20; fi WARNING: /lib/modules/2.6.11-jam20/kernel/sound/soundcore.ko needs unknown symbol class_simple_device_add WARNING: /lib/modules/2.6.11-jam20/kernel/sound/soundcore.ko needs unknown symbol class_simple_destroy WARNING: /lib/modules/2.6.11-jam20/kernel/sound/soundcore.ko needs unknown symbol class_simple_device_remove WARNING: /lib/modules/2.6.11-jam20/kernel/sound/soundcore.ko needs unknown symbol class_simple_create WARNING: /lib/modules/2.6.11-jam20/kernel/sound/core/snd.ko needs unknown symbol class_simple_device_add WARNING: /lib/modules/2.6.11-jam20/kernel/sound/core/snd.ko needs unknown symbol class_simple_device_remove
I think all this have been unexported/killed...
Hope this helps.
-- J.A. Magallon <jamagallon()able!es> \ Software is like sex: werewolf!able!es \ It's better when it's free Mandriva Linux release 2006.0 (Cooker) for i586 Linux 2.6.11-jam20 (gcc 4.0.0 (4.0.0-3mdk for Mandriva Linux release 2006.0))
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |