[alsa-devel] Verb table for group section

Kailang kailang at realtek.com
Tue Dec 12 10:49:12 CET 2017


 

> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de] 
> Sent: Tuesday, December 12, 2017 5:10 PM
> To: Kailang
> Cc: (alsa-devel at alsa-project.org)
> Subject: Re: Verb table for group section
> 
> On Tue, 12 Dec 2017 09:30:18 +0100,
> Kailang wrote:
> > 
> > Hi Takashi,
> >  
> > Attach file was ALC274 in our ENG test machine.
> >  
> > 0x16 0x90170110   => speaker
> > 0x19 0x01a1913c   => headset mic
> > 0x1a 0x01a1913d   => headphone MIC
> > 0x1b 0x04011020  => Line out
> > 0x21 0x0421102F  => Headphone
> >  
> > How could i set verb for group and sequence that Line out 
> and Headphone will use DAC 0x03?
> 
> What is the exact restriction?  0x1b and 0x21 must use 0x03 
> while 0x16 to 0x02?

Because the EQ support on DAC 0x02. If speaker muted, EQ will disable.

> 
> If yes, try to define spec->gen.preferred_dacs[].  It's a 
> list of paired NIDs to define the preferred DAC for each pin. 
>  For example,
> 
> 	{ 0x1b, 0x03, 0x21, 0x03, 0x16, 0x02, 0 }
> 
> (don't forget the zero-termination).

static void alc274_dell_fixup_dac_bind(struct hda_codec *codec,
					    const struct hda_fixup *fix,
					    int action)
{
	struct sigmatel_spec *spec = codec->spec;
	static hda_nid_t preferred_pairs[] = {
		0x21, 0x03, 0x1b, 0x03, 0x16, 0x02,
		0
	};

	if (action != HDA_FIXUP_ACT_PRE_PROBE)
		return;

	spec->gen.preferred_dacs = preferred_pairs;
}

I use upper. It was assigned to 0x03 for 0x1b.
But could I set it to default for ALC274?
Speaker always use DAC 0x02. Other outs use DAC 0x03.

> 
> 
> Takashi
> 
> ------Please consider the environment before printing this e-mail.
> 


More information about the Alsa-devel mailing list