[alsa-devel] Support Dell headset mode for ALC288

Takashi Iwai tiwai at suse.de
Wed Apr 8 11:40:38 CEST 2015


At Wed, 8 Apr 2015 08:08:47 +0000,
Kailang wrote:
> 
> 
> > -----Original Message-----
> > From: Takashi Iwai [mailto:tiwai at suse.de] 
> > Sent: Wednesday, April 08, 2015 3:40 PM
> > To: Kailang
> > Cc: (alsa-devel at alsa-project.org)
> > Subject: Re: Support Dell headset mode for ALC288
> > 
> > At Wed, 8 Apr 2015 07:31:33 +0000,
> > Kailang wrote:
> > > 
> > > 
> > > Hi Takashi,
> > > 
> > > Attach patch is support alc288 headset mode.
> > 
> > This also supports ALC286, too, right?
> 
> Yes, they are brother.

OK, I applied this with rephrasing the changelog mentioning ALC286,
too.

Since this one and Dell patch are relative large changes, I queued
them to for-next branch instead of for-linus, i.e. the merge to Linus
tree will be postponed to 4.1-rc1.


thanks,

Takashi

> 
> > 
> > 
> > Takashi
> > 
> > > 
> > > BR,
> > > Kailang
> > > 
> > > > -----Original Message-----
> > > > From: Takashi Iwai [mailto:tiwai at suse.de]
> > > > Sent: Saturday, April 04, 2015 8:43 PM
> > > > To: Kailang
> > > > Cc: (alsa-devel at alsa-project.org)
> > > > Subject: Re: Support Dell headset mode for ALC288
> > > > 
> > > > At Tue, 31 Mar 2015 08:01:57 +0000,
> > > > Kailang wrote:
> > > > > 
> > > > > 
> > > > > Hi Takashi,
> > > > >   
> > > > >  Dell has new platform with ALC288.
> > > > >  Attach patch is support headset mode for ALC288.
> > > > 
> > > > > @@ -3828,6 +3894,11 @@ static void
> > > > alc_determine_headset_type(struct hda_codec *codec)
> > > > >   conteol) */
> > > > >  		{}
> > > > >  	};
> > > > > +	static struct coef_fw coef0286[] = {
> > > > > +		//UPDATE_COEF(0x4f, 0xfcc0, 0x5400), /* Combo
> > > > Jack auto detect */
> > > > > +		UPDATE_COEF(0x4f, 0xfcc0, 0xd400),
> > > > 
> > > > Why is this commented out and what's the next line does instead?
> > > > And it's 0286?  Not 0288?
> > > > 
> > > > > @@ -3949,8 +4027,15 @@ static void
> > > > alc_update_headset_jack_cb(struct hda_codec *codec,
> > > > >  				       struct hda_jack_callback
> > > > *jack)  {
> > > > >  	struct alc_spec *spec = codec->spec;
> > > > > +	int present;
> > > > >  	spec->current_headset_type = ALC_HEADSET_TYPE_UNKNOWN;
> > > > >  	snd_hda_gen_hp_automute(codec, jack);
> > > > > +	present = spec->gen.hp_jack_present ? 0x40 : 0;
> > > > > +	if (codec->bus->pci->subsystem_vendor == 0x1028 &&
> > > > > +				codec->core.vendor_id 
> > == 0x10ec0288)
> > > > > +		/* Headset Mic enable and disable, ony 
> > for Dell Dino */
> > > > > +		snd_hda_codec_write(codec, 0x01, 0,
> > > > AC_VERB_SET_GPIO_DATA,
> > > > > +					present);
> > > > 
> > > > This is too ugly to put in the common function.
> > > > For Dell, prepare its own callback function and use it 
> > instead.  Or, 
> > > > put a new hook there to call additionally.
> > > > This avoids the PCI ID check in each place.
> > > > 
> > > > So, better to split to a few patches.  One for adding ALC286 (or 
> > > > 288?) support generically.  And another for adding Dell-specific 
> > > > things.
> > > > 
> > > > 
> > > > thanks,
> > > > 
> > > > Takashi
> > > > 
> > > > ------Please consider the environment before printing this e-mail.
> > > > 
> > > [2 0000-alc288-headset-mode.patch <application/octet-stream 
> > (base64)>]
> > > 
> > 


More information about the Alsa-devel mailing list