At Tue, 17 Apr 2007 17:40:04 +0200, Prakash Punnoor wrote: > > Am Montag 16 April 2007 schrieb Takashi Iwai: > > At Mon, 16 Apr 2007 20:42:10 +0200, > > > I guess writing 0xb000 is not enough, as the lower 6 bits are gain value. > > > Or does the gain get applied somewhere else? > > > > It corresponds to "Mic Boost" control. > > I don't get it. I am referring to: > > { 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000}, I thought you referring 0x0f. 0x1c corresponds to Surround Playback {Volume|Switch}. > Looking at the spec, it tells me your are setting output amp, left and right > to unmuted state with 0 gain. Yes, intentionally done so. The default values are muted. > (BTW, what about using more readable values? I thought drivers should be > written with less magic numbers? IE: > > #define OUT_AMP (1<<15) > #define LEFT_AMP (1<<13) > #define RIGHT_AMP (1<<12) > #define MUTE_AMP (1<<7) It's AMP_OUT_MUTE. The driver was written before the macro. > > > Then, we seems to need reset 0x0f and 0x10 at each channel setting. > > Try the patch below. This will reset 0x0f and 0x10 to 0 when 6ch > > channel mode is chosen. On 2ch channel mode, these values should be > > back to make mic and line working (and no surround outputs, of > > course). > > Patch works for me. Just the "volume is 0 on ch setting change" bug left. Did you unmute and adjust surround and CLFE volumes properly beforehand? Takashi ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user