Merge branch 'fix/hda' into for-linus
This commit is contained in:
commit
6a9a6f233b
3 changed files with 31 additions and 4 deletions
|
@ -87,14 +87,14 @@ accumulator. ALSA uses accumulators 0 and 1 for left and right PCM.
|
||||||
The result is forwarded to the ADC capture FIFO (thus to the standard capture
|
The result is forwarded to the ADC capture FIFO (thus to the standard capture
|
||||||
PCM device).
|
PCM device).
|
||||||
|
|
||||||
name='Music Playback Volume',index=0
|
name='Synth Playback Volume',index=0
|
||||||
|
|
||||||
This control is used to attenuate samples for left and right MIDI FX-bus
|
This control is used to attenuate samples for left and right MIDI FX-bus
|
||||||
accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
|
accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
|
||||||
The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
|
The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
|
||||||
|
|
||||||
name='Music Capture Volume',index=0
|
name='Synth Capture Volume',index=0
|
||||||
name='Music Capture Switch',index=0
|
name='Synth Capture Switch',index=0
|
||||||
|
|
||||||
These controls are used to attenuate samples for left and right MIDI FX-bus
|
These controls are used to attenuate samples for left and right MIDI FX-bus
|
||||||
accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
|
accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
|
||||||
|
|
|
@ -937,6 +937,7 @@ void snd_hda_shutup_pins(struct hda_codec *codec)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_HDA(snd_hda_shutup_pins);
|
EXPORT_SYMBOL_HDA(snd_hda_shutup_pins);
|
||||||
|
|
||||||
|
#ifdef SND_HDA_NEEDS_RESUME
|
||||||
/* Restore the pin controls cleared previously via snd_hda_shutup_pins() */
|
/* Restore the pin controls cleared previously via snd_hda_shutup_pins() */
|
||||||
static void restore_shutup_pins(struct hda_codec *codec)
|
static void restore_shutup_pins(struct hda_codec *codec)
|
||||||
{
|
{
|
||||||
|
@ -953,6 +954,7 @@ static void restore_shutup_pins(struct hda_codec *codec)
|
||||||
}
|
}
|
||||||
codec->pins_shutup = 0;
|
codec->pins_shutup = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void init_hda_cache(struct hda_cache_rec *cache,
|
static void init_hda_cache(struct hda_cache_rec *cache,
|
||||||
unsigned int record_size);
|
unsigned int record_size);
|
||||||
|
@ -1329,6 +1331,7 @@ static void purify_inactive_streams(struct hda_codec *codec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SND_HDA_NEEDS_RESUME
|
||||||
/* clean up all streams; called from suspend */
|
/* clean up all streams; called from suspend */
|
||||||
static void hda_cleanup_all_streams(struct hda_codec *codec)
|
static void hda_cleanup_all_streams(struct hda_codec *codec)
|
||||||
{
|
{
|
||||||
|
@ -1340,6 +1343,7 @@ static void hda_cleanup_all_streams(struct hda_codec *codec)
|
||||||
really_cleanup_stream(codec, p);
|
really_cleanup_stream(codec, p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* amp access functions
|
* amp access functions
|
||||||
|
|
|
@ -14868,6 +14868,23 @@ static void alc269_fixup_hweq(struct hda_codec *codec,
|
||||||
alc_write_coef_idx(codec, 0x1e, coef | 0x80);
|
alc_write_coef_idx(codec, 0x1e, coef | 0x80);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void alc271_fixup_dmic(struct hda_codec *codec,
|
||||||
|
const struct alc_fixup *fix, int action)
|
||||||
|
{
|
||||||
|
static struct hda_verb verbs[] = {
|
||||||
|
{0x20, AC_VERB_SET_COEF_INDEX, 0x0d},
|
||||||
|
{0x20, AC_VERB_SET_PROC_COEF, 0x4000},
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
unsigned int cfg;
|
||||||
|
|
||||||
|
if (strcmp(codec->chip_name, "ALC271X"))
|
||||||
|
return;
|
||||||
|
cfg = snd_hda_codec_get_pincfg(codec, 0x12);
|
||||||
|
if (get_defcfg_connect(cfg) == AC_JACK_PORT_FIXED)
|
||||||
|
snd_hda_sequence_write(codec, verbs);
|
||||||
|
}
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
ALC269_FIXUP_SONY_VAIO,
|
ALC269_FIXUP_SONY_VAIO,
|
||||||
ALC275_FIXUP_SONY_VAIO_GPIO2,
|
ALC275_FIXUP_SONY_VAIO_GPIO2,
|
||||||
|
@ -14876,6 +14893,7 @@ enum {
|
||||||
ALC269_FIXUP_ASUS_G73JW,
|
ALC269_FIXUP_ASUS_G73JW,
|
||||||
ALC269_FIXUP_LENOVO_EAPD,
|
ALC269_FIXUP_LENOVO_EAPD,
|
||||||
ALC275_FIXUP_SONY_HWEQ,
|
ALC275_FIXUP_SONY_HWEQ,
|
||||||
|
ALC271_FIXUP_DMIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct alc_fixup alc269_fixups[] = {
|
static const struct alc_fixup alc269_fixups[] = {
|
||||||
|
@ -14929,7 +14947,11 @@ static const struct alc_fixup alc269_fixups[] = {
|
||||||
.v.func = alc269_fixup_hweq,
|
.v.func = alc269_fixup_hweq,
|
||||||
.chained = true,
|
.chained = true,
|
||||||
.chain_id = ALC275_FIXUP_SONY_VAIO_GPIO2
|
.chain_id = ALC275_FIXUP_SONY_VAIO_GPIO2
|
||||||
}
|
},
|
||||||
|
[ALC271_FIXUP_DMIC] = {
|
||||||
|
.type = ALC_FIXUP_FUNC,
|
||||||
|
.v.func = alc271_fixup_dmic,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct snd_pci_quirk alc269_fixup_tbl[] = {
|
static struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||||
|
@ -14938,6 +14960,7 @@ static struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||||
SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
|
SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
|
||||||
SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
|
SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
|
||||||
SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
|
SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
|
||||||
|
SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE),
|
SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE),
|
SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE),
|
||||||
SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
|
SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
|
||||||
|
|
Loading…
Add table
Reference in a new issue